@font-face {
  font-family: "Elms";
  src: url("./assets/ElmsSans-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Elms";
  src: url("./assets/ElmsSans-SemiBold.ttf") format("truetype");
  font-weight: 600 900;
  font-style: normal;
  font-display: swap;
}

.noteflow-site {
  --nf-paper: #f1f4ed;
  --nf-paper-2: #e8ede5;
  --nf-ink: #101713;
  --nf-muted: #657069;
  --nf-line: rgba(16, 23, 19, .18);
  --nf-green: #0c5a43;
  --nf-green-light: #dce9e1;
  --site-bg: var(--nf-paper);
  --site-surface: var(--nf-paper);
  --site-ink: var(--nf-ink);
  --site-line: var(--nf-line);
  --site-accent: var(--nf-green);
  --font-display: "Elms", "Helvetica Neue", "Hiragino Sans", sans-serif;
  --font-body: "Elms", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans", "Yu Gothic", sans-serif;
  color: var(--nf-ink);
  background: var(--nf-paper);
}

.noteflow-site .site-header { background: color-mix(in srgb, var(--nf-paper) 82%, transparent); }
.noteflow-site .site-brand-copy { display: grid; gap: 3px; }
.noteflow-site .site-brand-copy strong { font-size: 17px; }
.noteflow-site .site-brand-copy small { color: var(--nf-muted); font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }

.noteflow-site main { overflow: clip; }
.nf-shell, .nf-hero-shell, .nf-document-hero-shell, .nf-document-shell { width: min(1340px, calc(100% - 56px)); margin-inline: auto; }
.nf-kicker, .nf-section-index { margin: 0; color: var(--nf-green); font-size: 12px; font-weight: 800; line-height: 1.2; letter-spacing: .1em; text-transform: uppercase; }

.nf-hero { min-height: 920px; padding: 162px 0 76px; color: var(--nf-paper); background: var(--nf-ink); }
.nf-hero .nf-hero-shell { position: relative; min-height: 682px; display: grid; grid-template-columns: minmax(0, .88fr) minmax(360px, .75fr); grid-template-rows: auto 1fr auto; column-gap: 8.5%; }
.nf-hero::before { content: "NOTE"; position: absolute; top: 98px; right: 0; color: transparent; font-family: var(--font-display); font-size: 260px; font-weight: 600; line-height: 1; -webkit-text-stroke: 1px rgba(241, 244, 237, .09); pointer-events: none; }
.nf-hero-index { position: absolute; right: 0; bottom: 126px; margin: 0; color: #a8d1bc; font-size: 11px; font-weight: 800; letter-spacing: .1em; writing-mode: vertical-rl; }
.nf-hero-topline { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; padding-bottom: 70px; border-bottom: 1px solid rgba(241, 244, 237, .22); }
.nf-hero-topline img { width: 48px; height: 48px; border-radius: 11px; }
.nf-hero-topline p { display: flex; gap: 30px; margin: 0; color: rgba(241, 244, 237, .62); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.nf-hero-copy { align-self: end; padding: 72px 0 30px; }
.nf-hero .nf-kicker { color: #a8d1bc; }
.nf-hero h1 { margin: 18px 0 0; font-family: var(--font-display); font-size: 112px; font-weight: 600; line-height: .84; }
.nf-hero-tagline { margin: 34px 0 0; font-size: 48px; font-weight: 600; line-height: 1.08; }
.nf-hero-lead { max-width: 480px; margin: 28px 0 0; color: rgba(241, 244, 237, .72); font-size: 16px; line-height: 1.85; }
.nf-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.nf-action { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 18px; padding: 0 20px; border: 1px solid currentColor; color: inherit; font-size: 14px; font-weight: 700; transition: background .2s ease, color .2s ease, transform .25s var(--site-ease); }
.nf-action:hover { transform: translateY(-3px); }
.nf-action-primary { color: var(--nf-ink); background: var(--nf-paper); }
.nf-action-primary:hover { background: #a8d1bc; }
.nf-action-secondary { color: var(--nf-paper); }
.nf-action-secondary:hover { color: var(--nf-ink); background: var(--nf-paper); }
.nf-action-dark { color: var(--nf-paper); background: var(--nf-ink); }
.nf-action-dark:hover { color: var(--nf-ink); background: #a8d1bc; }
.nf-hero-note { margin: 22px 0 0; color: rgba(241, 244, 237, .5); font-size: 12px; }

.nf-hero-device { position: relative; align-self: center; justify-self: end; width: min(100%, 460px); margin: 30px 4% 0 0; transform: perspective(1800px) rotateY(calc(var(--pointer-x) * -4deg)) rotateX(calc(var(--pointer-y) * 3deg)) translate3d(calc(var(--pointer-x) * 12px), calc(var(--scroll-shift) * -22px), 0); transform-style: preserve-3d; transition: transform .7s var(--site-ease), filter .45s ease; }
.nf-hero-device::before { content: ""; position: absolute; z-index: 0; inset: 5% -12% -4% 12%; border: 1px solid rgba(168, 209, 188, .42); transform: translateZ(-20px); }
.nf-hero-device::after { content: "LIVE / LOCAL"; position: absolute; z-index: 2; top: 13%; left: -18%; padding: 8px 10px; color: var(--nf-ink); background: #a8d1bc; font-size: 10px; font-weight: 800; letter-spacing: .08em; transform: rotate(-90deg) translateX(-100%); transform-origin: left top; }
.nf-hero-device img { position: relative; z-index: 1; width: 100%; height: auto; filter: drop-shadow(24px 38px 24px rgba(0, 0, 0, .45)); }
.nf-hero-device figcaption, .nf-queue-screen figcaption, .nf-workflow-screen figcaption { margin-top: 13px; color: rgba(241, 244, 237, .55); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.nf-hero-route { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; align-self: end; margin: 54px 0 0; padding: 0; list-style: none; border-top: 1px solid rgba(241, 244, 237, .24); }
.nf-hero-route li { min-height: 84px; display: flex; align-items: flex-end; gap: 12px; padding: 20px 15px 0 0; border-right: 1px solid rgba(241, 244, 237, .24); }
.nf-hero-route li + li { padding-left: 17px; }
.nf-hero-route li:last-child { border-right: 0; }
.nf-hero-route span { color: #a8d1bc; font-size: 11px; font-weight: 800; }
.nf-hero-route strong { font-size: 16px; }

.nf-queue { position: relative; padding: 158px 0 0; background: var(--nf-paper); overflow: clip; }
.nf-queue::before { content: "QUEUE"; position: absolute; right: -5px; bottom: 38px; color: transparent; font-family: var(--font-display); font-size: 188px; font-weight: 600; line-height: 1; -webkit-text-stroke: 1px rgba(12, 90, 67, .14); pointer-events: none; }
.nf-section-heading { max-width: 760px; }
.nf-section-heading h2, .nf-privacy-heading h2, .nf-workflow-heading h2, .nf-support h2 { margin: 17px 0 0; font-size: 76px; font-weight: 600; line-height: .99; }
.nf-section-heading > p:last-child, .nf-privacy-heading > p:last-child { max-width: 570px; margin: 30px 0 0; color: var(--nf-muted); font-size: 18px; line-height: 1.8; }
.nf-capture-types { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin: 82px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--nf-line); border-bottom: 1px solid var(--nf-line); }
.nf-capture-types li { min-height: 190px; display: flex; flex-direction: column; padding: 23px 22px; border-right: 1px solid var(--nf-line); }
.nf-capture-types li:last-child { border: 0; }
.nf-capture-types span { color: var(--nf-green); font-size: 11px; font-weight: 800; }
.nf-capture-types strong { margin-top: auto; font-size: 25px; font-weight: 600; }
.nf-capture-types small { margin-top: 6px; color: var(--nf-muted); font-size: 13px; }
.nf-queue-screen { position: relative; width: min(100%, 540px); margin: 100px 5% 0 auto; padding-bottom: 0; transform: translateY(45px) rotate(2deg); transition: transform .75s var(--site-ease), filter .45s ease, opacity .45s ease; }
.nf-queue-screen::before { content: "02 / REVIEW"; position: absolute; z-index: 2; top: 21%; right: -12%; padding: 8px 10px; color: var(--nf-paper); background: var(--nf-green); font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.nf-queue-screen img, .nf-workflow-screen img { width: 100%; height: auto; filter: drop-shadow(24px 32px 18px rgba(16, 23, 19, .18)); }
.nf-queue-screen figcaption { color: var(--nf-muted); }

.nf-reel { position: relative; padding: 150px 0; color: var(--nf-paper); background: #111915; overflow: clip; }
.nf-reel::before { content: "01.5"; position: absolute; right: -12px; top: 34px; color: transparent; font-family: var(--font-display); font-size: 220px; font-weight: 600; line-height: 1; -webkit-text-stroke: 1px rgba(241,244,237,.13); pointer-events: none; }
.nf-reel-heading { max-width: 700px; }
.nf-reel-heading .nf-section-index { color: #a8d1bc; }
.nf-reel-heading h2 { margin: 16px 0 0; font-size: 76px; font-weight: 600; line-height: .99; }
.nf-reel-heading > p:last-child { max-width: 580px; margin: 28px 0 0; color: rgba(241,244,237,.7); font-size: 17px; line-height: 1.8; }
.nf-reel-layout { display: grid; grid-template-columns: minmax(220px, .46fr) minmax(0, 1fr); gap: 9%; margin-top: 82px; }
.nf-reel-controls { align-self: start; position: sticky; top: 118px; display: grid; border-top: 1px solid rgba(241,244,237,.3); }
.nf-reel-controls button { min-height: 104px; display: grid; grid-template-columns: 34px 1fr; grid-template-rows: 1fr 1fr; align-items: end; padding: 18px 0; border: 0; border-bottom: 1px solid rgba(241,244,237,.3); color: rgba(241,244,237,.55); background: transparent; text-align: left; cursor: pointer; transition: color .28s ease, padding .38s var(--site-ease), background .28s ease; }
.nf-reel-controls button span { grid-row: 1 / 3; align-self: center; color: #a8d1bc; font-size: 10px; font-weight: 800; }
.nf-reel-controls button strong { font-size: 22px; font-weight: 600; }
.nf-reel-controls button small { font-size: 12px; }
.nf-reel-controls button[aria-selected="true"], .nf-reel-controls button:hover, .nf-reel-controls button:focus-visible { padding-left: 16px; color: var(--nf-ink); background: #a8d1bc; outline: 0; }
.nf-reel-panels { min-width: 0; }
.nf-reel-panel { position: relative; min-height: 560px; display: grid; grid-template-columns: minmax(230px, .82fr) minmax(250px, .64fr); align-items: center; gap: 10%; padding: 34px 4% 34px 0; border-top: 1px solid rgba(241,244,237,.3); }
.nf-reel-panel[hidden] { display: none; }
.nf-reel-panel > div { position: relative; z-index: 2; }
.nf-reel-label { margin: 0; color: #a8d1bc; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.nf-reel-panel h3 { margin: 16px 0 0; font-size: 43px; font-weight: 600; line-height: 1.08; }
.nf-reel-panel > div > p:last-child { margin: 21px 0 0; color: rgba(241,244,237,.7); font-size: 15px; line-height: 1.85; }
.nf-reel-panel figure { position: relative; width: min(100%, 345px); justify-self: end; margin: 0; transform: rotate(3deg) translate3d(calc(var(--pointer-x) * -9px), calc(var(--scroll-shift) * 16px), 0); transition: transform .65s var(--site-ease); }
.nf-reel-panel figure::before { content: ""; position: absolute; inset: 7% -13% -4% 14%; border: 1px solid rgba(168,209,188,.38); }
.nf-reel-panel img { position: relative; width: 100%; height: auto; filter: drop-shadow(18px 25px 20px rgba(0,0,0,.38)); }
.nf-reel-panel.is-active { animation: nf-panel-in .6s var(--site-ease) both; }
.nf-reel-panel.is-active figure { animation: nf-panel-device .85s var(--site-ease) both; }
@keyframes nf-panel-in { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: translateY(0); } }
@keyframes nf-panel-device { from { opacity: 0; transform: translateX(42px) rotate(8deg); } to { opacity: 1; transform: rotate(3deg); } }

.nf-workflow { position: relative; padding: 172px 0; margin-top: -152px; color: var(--nf-paper); background: var(--nf-green); overflow: clip; }
.nf-workflow::after { content: "WRITE"; position: absolute; top: 46px; left: -11px; color: transparent; font-family: var(--font-display); font-size: 180px; font-weight: 600; line-height: 1; -webkit-text-stroke: 1px rgba(241, 244, 237, .16); pointer-events: none; }
.nf-workflow-layout { display: grid; grid-template-columns: .85fr 1.15fr; column-gap: 10%; align-items: start; }
.nf-workflow-heading { position: sticky; top: 120px; }
.nf-workflow .nf-section-index { color: #b4ddc7; }
.nf-workflow-heading h2 { margin-top: 17px; }
.nf-workflow-heading p:last-child { margin: 26px 0 0; color: rgba(241, 244, 237, .7); font-size: 16px; }
.nf-workflow-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(241, 244, 237, .35); }
.nf-workflow-list li { display: grid; grid-template-columns: 90px 1fr; gap: 24px; padding: 31px 0 38px; border-bottom: 1px solid rgba(241, 244, 237, .35); }
.nf-step-number { color: #b4ddc7; font-size: 12px; font-weight: 800; }
.nf-workflow-list h3 { margin: 0; font-size: 31px; font-weight: 600; }
.nf-workflow-list p { max-width: 500px; margin: 12px 0 0; color: rgba(241, 244, 237, .73); font-size: 16px; line-height: 1.75; }
.nf-workflow-screen { position: relative; grid-column: 2; justify-self: end; width: min(100%, 430px); margin: 88px 12% 0 0; transform: translateY(56px) rotate(-2deg); transition: transform .75s var(--site-ease), filter .45s ease, opacity .45s ease; }
.nf-workflow-screen::before { content: "03 / WRITE"; position: absolute; z-index: 2; top: 18%; left: -16%; padding: 8px 10px; color: var(--nf-green); background: #a8d1bc; font-size: 10px; font-weight: 800; letter-spacing: .08em; }

.nf-privacy { padding: 155px 0 0; background: var(--nf-paper-2); }
.nf-privacy-heading { max-width: 630px; }
.nf-privacy-facts { display: grid; grid-template-columns: repeat(5, 1fr); margin: 92px 0 0; border-top: 1px solid var(--nf-line); border-left: 1px solid var(--nf-line); }
.nf-privacy-facts div { min-height: 170px; padding: 20px; border-right: 1px solid var(--nf-line); border-bottom: 1px solid var(--nf-line); }
.nf-privacy-facts dt { color: var(--nf-muted); font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.nf-privacy-facts dd { margin: 52px 0 0; font-size: 17px; font-weight: 600; line-height: 1.35; }
.nf-wide-link { min-height: 180px; display: flex; align-items: center; justify-content: space-between; margin: 0 -28px; padding: 0 28px; border-top: 1px solid var(--nf-line); color: var(--nf-ink); font-size: 57px; font-weight: 600; transition: color .2s ease, background .2s ease; }
.nf-wide-link:hover { color: var(--nf-paper); background: var(--nf-ink); }

.nf-support { padding: 115px 0; color: var(--nf-paper); background: var(--nf-ink); }
.nf-support-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 12%; align-items: end; }
.nf-support h2 { margin-top: 18px; }
.nf-support-copy { max-width: 490px; }
.nf-support-copy > p { margin: 0; color: rgba(241, 244, 237, .7); font-size: 18px; line-height: 1.75; }
.nf-support-copy .nf-action { margin-top: 30px; }

.nf-focus-scene { outline: 0; }
.nf-focus-scene:focus-visible { outline: 2px solid var(--nf-green); outline-offset: 12px; }
@media (hover: hover) and (pointer: fine) {
  .nf-focus-scene.is-focus-dimmed { filter: saturate(.25); opacity: .56; }
  .nf-focus-scene.is-focus-active { z-index: 4; transform: translateY(-18px) rotate(0deg) scale(1.035); filter: saturate(1.08); }
  .nf-hero-device:hover, .nf-hero-device:focus-visible { filter: brightness(1.06); }
  .nf-hero-device:hover { transform: perspective(1800px) rotateY(-6deg) rotateX(2deg) translate3d(-8px, -20px, 0); }
}
.nf-queue-screen.is-in-frame, .nf-workflow-screen.is-in-frame { transform: translateY(0) rotate(0deg); }

@supports (animation-timeline: view()) {
  .nf-queue-screen, .nf-workflow-screen { animation: nf-enter linear both; animation-timeline: view(); animation-range: entry 0% cover 45%; }
  @keyframes nf-enter { from { opacity: .24; transform: translateY(110px) rotate(5deg); } to { opacity: 1; transform: translateY(0) rotate(0deg); } }
}

.noteflow-site .site-footer-inner { grid-template-columns: 1fr auto auto; }
.noteflow-site .footer-brand { display: inline-flex; align-items: center; gap: 12px; }
.noteflow-site .footer-brand img { width: 34px; height: 34px; border-radius: 8px; }
.noteflow-site .footer-brand div { display: grid; gap: 4px; }
.noteflow-site .footer-brand strong { font-size: 15px; }
.noteflow-site .footer-brand span, .noteflow-site .site-footer p { color: rgba(241, 244, 237, .58); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.noteflow-site .footer-links { display: flex; gap: 17px; font-size: 13px; }
.noteflow-site .site-footer p { margin: 0; }

.noteflow-site .nf-document-hero { padding: 166px 0 72px; color: var(--nf-paper); background: var(--nf-ink); }
.noteflow-site .nf-document-topline { display: flex; justify-content: space-between; padding-bottom: 46px; border-bottom: 1px solid rgba(241, 244, 237, .24); color: rgba(241, 244, 237, .62); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.nf-back-link { display: inline-flex; align-items: center; gap: 10px; color: var(--nf-paper); letter-spacing: 0; text-transform: none; }
.nf-back-link:hover { color: #a8d1bc; }
.nf-document-title { max-width: 770px; padding: 84px 0 0; }
.nf-document-title .nf-kicker { color: #a8d1bc; }
.nf-document-title h1 { margin: 17px 0 0; font-size: 96px; font-weight: 600; line-height: .92; }
.nf-document-lead { max-width: 600px; margin: 28px 0 0; color: rgba(241, 244, 237, .72); font-size: 18px; line-height: 1.75; }
.nf-document-date { margin: 26px 0 0; color: rgba(241, 244, 237, .52); font-size: 12px; }
.nf-document-signals { display: grid; grid-template-columns: repeat(3, 1fr); margin: 86px 0 0; border-top: 1px solid rgba(241, 244, 237, .24); }
.nf-document-signals div { padding: 20px 18px 0 0; border-right: 1px solid rgba(241, 244, 237, .24); }
.nf-document-signals div + div { padding-left: 18px; }
.nf-document-signals div:last-child { border-right: 0; }
.nf-document-signals dt { color: #a8d1bc; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.nf-document-signals dd { margin: 10px 0 0; font-size: 20px; font-weight: 600; }
.nf-document-shell { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 12%; padding: 100px 0 146px; }
.nf-document-aside { align-self: start; position: sticky; top: 112px; }
.nf-document-toc { display: grid; gap: 9px; }
.nf-document-toc p { margin: 0 0 13px; color: var(--nf-green); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.nf-document-toc a { display: flex; gap: 10px; padding: 5px 0; color: var(--nf-muted); font-size: 13px; }
.nf-document-toc a:hover { color: var(--nf-green); }
.nf-document-toc span { color: var(--nf-green); font-size: 10px; font-weight: 800; }
.nf-document-content { max-width: 760px; }
.nf-document-callout { margin-bottom: 84px; padding: 27px 28px; border-left: 4px solid var(--nf-green); background: var(--nf-green-light); }
.nf-document-callout strong { font-size: 16px; }
.nf-document-callout p { margin: 9px 0 0; color: var(--nf-muted); font-size: 15px; line-height: 1.7; }
.nf-document-content section { padding: 0 0 54px; margin-bottom: 54px; border-bottom: 1px solid var(--nf-line); }
.nf-document-section-heading { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: baseline; }
.nf-document-section-heading > span { color: var(--nf-green); font-size: 11px; font-weight: 800; }
.nf-document-section-heading h2 { margin: 0; font-size: 38px; font-weight: 600; line-height: 1.2; }
.nf-document-copy { padding-left: 58px; }
.nf-document-copy p { margin: 25px 0 0; font-size: 16px; line-height: 1.9; }
.nf-document-copy a { color: var(--nf-green); text-decoration: underline; text-underline-offset: 4px; }
.nf-contact-link { display: inline-flex; align-items: center; gap: 14px; font-size: 46px; font-weight: 600; }
.nf-privacy-reminder { display: grid; grid-template-columns: 105px 1fr; gap: 16px; padding: 18px 0; border-top: 1px solid var(--nf-line); border-bottom: 1px solid var(--nf-line); color: var(--nf-muted); font-size: 14px; }
.nf-privacy-reminder strong { color: var(--nf-ink); }
.nf-support-steps { display: grid; gap: 13px; margin: 25px 0 0; padding: 0; list-style: none; }
.nf-support-steps li { display: grid; grid-template-columns: 28px 1fr; gap: 12px; }
.nf-support-steps li > span { width: 25px; height: 25px; display: grid; place-items: center; color: var(--nf-paper); background: var(--nf-green); border-radius: 50%; font-size: 11px; font-weight: 800; }
.nf-support-steps p { margin: 0; }
.nf-support-email { display: grid; grid-template-columns: 1fr auto; gap: 6px 20px; margin-top: 35px; padding: 20px 0; border-top: 1px solid rgba(241, 244, 237, .27); border-bottom: 1px solid rgba(241, 244, 237, .27); }
.nf-support-email span:first-child { color: #a8d1bc; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.nf-support-email strong { font-size: 22px; font-weight: 600; }
.nf-support-email span:last-child { grid-row: 1 / 3; grid-column: 2; align-self: center; font-size: 18px; }
.nf-contact-link {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

@media (max-width: 900px) {
  .noteflow-site .site-nav { color: var(--nf-paper); background: var(--nf-ink); }
  .nf-shell, .nf-hero-shell, .nf-document-hero-shell, .nf-document-shell { width: min(100% - 38px, 740px); }
  .nf-hero { min-height: 0; padding: 120px 0 36px; }
  .nf-hero .nf-hero-shell { min-height: 0; grid-template-columns: 1fr; }
  .nf-hero-topline { padding-bottom: 32px; }
  .nf-hero-topline p span:last-child { display: none; }
  .nf-hero-copy { padding: 50px 0 0; }
  .nf-hero h1 { font-size: 84px; }
  .nf-hero-tagline { font-size: 43px; }
  .nf-hero-device { justify-self: center; width: min(100%, 360px); margin: 65px 0 0; }
  .nf-hero-index { right: 4px; bottom: 24px; }
  .nf-hero-route { margin-top: 55px; }
  .nf-queue { padding-top: 106px; }
  .nf-capture-types { grid-template-columns: repeat(2, 1fr); margin-top: 55px; }
  .nf-capture-types li:nth-child(2) { border-right: 0; }
  .nf-capture-types li:nth-child(-n+2) { border-bottom: 1px solid var(--nf-line); }
  .nf-queue-screen { margin: 70px auto 0; }
  .nf-reel { padding: 112px 0; }
  .nf-reel-layout { grid-template-columns: 1fr; gap: 54px; }
  .nf-reel-controls { position: static; grid-template-columns: repeat(3, 1fr); border-left: 1px solid rgba(241,244,237,.3); }
  .nf-reel-controls button { min-height: 104px; padding: 15px; border-top: 0; border-right: 1px solid rgba(241,244,237,.3); }
  .nf-reel-controls button span { grid-row: auto; }
  .nf-reel-controls button[aria-selected="true"], .nf-reel-controls button:hover, .nf-reel-controls button:focus-visible { padding-left: 15px; }
  .nf-reel-panel { grid-template-columns: 1fr minmax(220px, .7fr); min-height: 0; }
  .nf-workflow { margin-top: -85px; padding: 130px 0 105px; }
  .nf-workflow-layout { grid-template-columns: 1fr; }
  .nf-workflow-heading { position: static; }
  .nf-workflow-list { margin-top: 60px; }
  .nf-workflow-screen { grid-column: auto; justify-self: center; margin: 70px 0 0; }
  .nf-privacy { padding-top: 104px; }
  .nf-privacy-facts { grid-template-columns: repeat(2, 1fr); margin-top: 58px; }
  .nf-privacy-facts div:nth-child(2n) { border-right: 0; }
  .nf-privacy-facts div:last-child { grid-column: 1 / -1; }
  .nf-wide-link { min-height: 130px; margin: 0 -19px; padding: 0 19px; }
  .nf-support { padding: 80px 0; }
  .nf-support-layout { grid-template-columns: 1fr; gap: 45px; }
  .noteflow-site .site-footer-inner { grid-template-columns: 1fr; align-items: start; }
  .noteflow-site .footer-links { justify-content: flex-start; }
  .nf-document-hero { padding-top: 122px; }
  .nf-document-title { padding-top: 57px; }
  .nf-document-signals { margin-top: 58px; }
  .nf-document-shell { grid-template-columns: 1fr; gap: 50px; padding: 72px 0 95px; }
  .nf-document-aside { position: static; }
  .nf-document-toc { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 16px; padding-bottom: 30px; border-bottom: 1px solid var(--nf-line); }
  .nf-document-toc p { grid-column: 1 / -1; }
}

@media (max-width: 520px) {
  .noteflow-site .site-brand-copy small { display: none; }
  .nf-shell, .nf-hero-shell, .nf-document-hero-shell, .nf-document-shell { width: min(100% - 32px, 500px); }
  .nf-hero { padding-top: 108px; }
  .nf-hero-topline img { width: 40px; height: 40px; border-radius: 9px; }
  .nf-hero-topline p { font-size: 9px; }
  .nf-hero-copy { padding-top: 41px; }
  .nf-hero h1 { font-size: 64px; }
  .nf-hero-tagline { margin-top: 26px; font-size: 34px; }
  .nf-hero-lead { margin-top: 23px; font-size: 15px; line-height: 1.76; }
  .nf-actions { display: grid; grid-template-columns: 1fr; margin-top: 28px; }
  .nf-action { width: 100%; }
  .nf-hero-note { font-size: 10px; }
  .nf-hero-device { width: min(100%, 300px); margin-top: 52px; }
  .nf-hero::before { top: 80px; right: 0; font-size: 106px; }
  .nf-hero-index { display: none; }
  .nf-hero-device::after { top: 9%; left: -8%; font-size: 8px; }
  .nf-hero-route { grid-template-columns: 1fr; margin-top: 40px; }
  .nf-hero-route li { min-height: 48px; align-items: center; padding: 12px 0; border-right: 0; border-bottom: 1px solid rgba(241, 244, 237, .24); }
  .nf-hero-route li + li { padding-left: 0; }
  .nf-hero-route li:last-child { border-bottom: 0; }
  .nf-section-heading h2, .nf-privacy-heading h2, .nf-workflow-heading h2, .nf-support h2 { font-size: 42px; }
  .nf-section-heading > p:last-child, .nf-privacy-heading > p:last-child { margin-top: 24px; font-size: 16px; }
  .nf-capture-types li { min-height: 150px; padding: 17px 15px; }
  .nf-capture-types strong { font-size: 21px; }
  .nf-capture-types small { font-size: 11px; }
  .nf-workflow { margin-top: -54px; padding: 94px 0 72px; }
  .nf-reel { padding: 86px 0; }
  .nf-reel::before { right: 0; font-size: 104px; }
  .nf-reel-heading h2 { font-size: 42px; }
  .nf-reel-heading > p:last-child { font-size: 16px; }
  .nf-reel-layout { margin-top: 44px; gap: 34px; }
  .nf-reel-controls { grid-template-columns: 1fr; border-left: 0; }
  .nf-reel-controls button { min-height: 72px; grid-template-columns: 32px 1fr; grid-template-rows: 1fr 1fr; padding: 12px 0; border-right: 0; }
  .nf-reel-controls button span { grid-row: 1 / 3; }
  .nf-reel-controls button[aria-selected="true"], .nf-reel-controls button:hover, .nf-reel-controls button:focus-visible { padding-left: 12px; }
  .nf-reel-panel { grid-template-columns: 1fr; gap: 28px; padding-right: 0; }
  .nf-reel-panel h3 { font-size: 34px; }
  .nf-reel-panel figure { width: min(100%, 286px); justify-self: center; }
  .nf-workflow-list { margin-top: 45px; }
  .nf-workflow-list li { grid-template-columns: 45px 1fr; gap: 12px; padding: 24px 0 29px; }
  .nf-workflow-list h3 { font-size: 27px; }
  .nf-workflow-list p { font-size: 15px; }
  .nf-workflow-screen { width: min(100%, 305px); }
  .nf-queue-screen, .nf-workflow-screen { animation: none; transform: translateY(30px) rotate(0deg); }
  .nf-queue-screen::before { right: 0; }
  .nf-workflow-screen::before { left: 0; }
  .nf-queue::before, .nf-workflow::after { font-size: 84px; }
  .nf-privacy-facts div { min-height: 130px; padding: 15px; }
  .nf-privacy-facts dd { margin-top: 33px; font-size: 15px; }
  .nf-wide-link { min-height: 107px; margin: 0; font-size: 29px; }
  .nf-support { padding: 68px 0; }
  .nf-support-copy > p { font-size: 16px; }
  .nf-document-hero { padding: 110px 0 45px; }
  .nf-document-topline { padding-bottom: 28px; font-size: 9px; }
  .nf-document-title { padding-top: 48px; }
  .nf-document-title h1 { font-size: 50px; }
  .nf-document-lead { margin-top: 22px; font-size: 16px; }
  .nf-document-signals { grid-template-columns: 1fr; margin-top: 46px; }
  .nf-document-signals div, .nf-document-signals div + div { padding: 14px 0; border-right: 0; border-bottom: 1px solid rgba(241, 244, 237, .24); }
  .nf-document-signals div:last-child { border-bottom: 0; }
  .nf-document-signals dd { margin-top: 5px; font-size: 17px; }
  .nf-document-shell { padding: 56px 0 75px; gap: 38px; }
  .nf-document-toc { grid-template-columns: 1fr; }
  .nf-document-callout { margin-bottom: 56px; padding: 21px 19px; }
  .nf-document-content section { padding-bottom: 39px; margin-bottom: 39px; }
  .nf-document-section-heading { grid-template-columns: 32px 1fr; gap: 8px; }
  .nf-document-section-heading h2 { font-size: 27px; }
  .nf-document-copy { padding-left: 0; }
  .nf-document-copy p { margin-top: 20px; font-size: 15px; line-height: 1.8; }
  .nf-privacy-reminder { grid-template-columns: 1fr; gap: 6px; }
  .nf-support-email strong { font-size: 16px; overflow-wrap: anywhere; }
  .nf-contact-link { font-size: clamp(24px, 9vw, 38px); line-height: 1.1; }
}

@media (prefers-reduced-motion: reduce) {
  .nf-action, .nf-focus-scene, .nf-queue-screen, .nf-workflow-screen, .nf-reel-panel, .nf-reel-panel figure, .nf-hero-device { transition: none !important; animation: none !important; }
  .nf-action:hover, .nf-focus-scene:hover, .nf-queue-screen, .nf-workflow-screen { transform: none !important; }
}
