/* Fonts are self-hosted under the SIL Open Font License; see ../licenses. */
@font-face {
  font-family: 'DM Sans'; font-style: normal; font-weight: 100 1000;
  font-display: swap; src: url('./dm-sans-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Instrument Serif'; font-style: italic; font-weight: 400;
  font-display: swap; src: url('./instrument-serif-italic.woff2') format('woff2');
}
html { color-scheme: light; background: #fffdf8; }
body { margin: 0; }

#vf-focus{--vf-paper:#fffdf8;--vf-ink:#25232c;--vf-muted:#605b64;--vf-stage:#deff57;--vf-graph:#4d58e7;--vf-graph-ink:#ffffff;--vf-inspector:#ffa5d5;--vf-preview:#ffe181;--vf-ipad:#c7bdff;--vf-ipad-ink:#352949;--vf-rule:#dfd9d0;--vf-font:'DM Sans',sans-serif;color-scheme:light;background:var(--vf-paper);color:var(--vf-ink);font-family:var(--vf-font);font-size:15px;line-height:1.5;container-type:inline-size;isolation:isolate;position:relative;}
#vf-focus *{box-sizing:border-box}
#vf-focus [hidden]{display:none!important}
#vf-focus h1,#vf-focus h2,#vf-focus h3,#vf-focus p,#vf-focus figure{margin:0}
#vf-focus h1,#vf-focus h2,#vf-focus h3{color:var(--vf-ink);font-family:var(--vf-font);font-weight:600;text-wrap:balance}
#vf-focus button,#vf-focus a{font:inherit;-webkit-tap-highlight-color:transparent}
#vf-focus a{color:inherit;text-decoration:none}
#vf-focus img{display:block;max-width:100%}
#vf-focus .vf-skip{position:absolute;left:12px;top:12px;padding:10px 14px;background:var(--vf-paper);z-index:20;transform:translateY(-150%)}
#vf-focus .vf-skip:focus{transform:none}
#vf-focus .vf-pad{padding-inline:6%}
#vf-focus .vf-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:22px;border-bottom:1px solid var(--vf-rule)}
#vf-focus .vf-brand{display:flex;align-items:center;gap:9px;font-size:21px;font-weight:800;letter-spacing:-1px}
#vf-focus .vf-brand img{width:31px;height:31px}
#vf-focus .vf-nav-links{display:flex;gap:23px;font-size:12px;font-weight:600}
#vf-focus .vf-nav-links a:hover{text-decoration:underline;text-underline-offset:5px}
#vf-focus .vf-kicker{font-size:12px;letter-spacing:.12em;font-weight:700;text-transform:uppercase}
#vf-focus .vf-hero{padding-top:49px;padding-bottom:31px}
#vf-focus .vf-hero h1{font-size:clamp(48px,10.3cqw,98px);letter-spacing:-.075em;line-height:.99;font-weight:700;margin:23px 0 26px;}
#vf-focus .vf-hero h1 em{font-family:'Instrument Serif',Georgia,serif;font-weight:400;letter-spacing:-.055em;color:var(--vf-ink)}
#vf-focus .vf-hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:26px}
#vf-focus .vf-hero-bottom p{max-width:330px;line-height:1.6;font-size:15px;color:var(--vf-muted)}
#vf-focus .vf-action{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:45px;padding:11px 17px;border-radius:5px;background:var(--vf-ink);color:var(--vf-paper);font-size:12px;font-weight:600;white-space:nowrap}
#vf-focus .vf-action:hover{background:#4e3d54}
#vf-focus .vf-action svg{width:17px;height:17px}
#vf-focus .vf-stage{background:var(--vf-stage);padding:20px 4% 0}
#vf-focus .vf-stage-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 0 20px}
#vf-focus .vf-stage-head p{font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:700}
#vf-focus .vf-platforms{display:flex;gap:3px;background:#ffffff36;border-radius:100px;padding:3px}
#vf-focus .vf-platforms button{min-width:50px;min-height:29px;border:0;background:transparent;color:var(--vf-ink);border-radius:100px;font-size:12px;font-weight:700;padding:5px 12px}
#vf-focus .vf-platforms button[aria-pressed=true]{background:var(--vf-paper)}
#vf-focus .vf-appshot{border-radius:9px;overflow:hidden;box-shadow:0 15px 32px #24222d26;background:#f2f2f7;}
#vf-focus .vf-appshot img{width:100%;height:auto;}
#vf-focus .vf-appshot{aspect-ratio:4/3;}
#vf-focus .vf-appshot img{width:100%;height:100%;object-fit:contain;transform:scale(1);transform-origin:50% 50%;}
#vf-focus[data-focus=graph] .vf-appshot img{transform:scale(2.35);transform-origin:0% 15%;}
#vf-focus[data-focus=preview] .vf-appshot img{transform:scale(1.65);transform-origin:57% 68%;}
#vf-focus[data-focus=inspector] .vf-appshot img{transform:scale(2.6);transform-origin:100% 25%;}
#vf-focus .vf-tour-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:15px;padding-bottom:14px;border-bottom:1px solid #25232c29;}
#vf-focus .vf-tour-play{display:flex;align-items:center;gap:8px;background:var(--vf-ink);color:var(--vf-paper);border:0;border-radius:5px;padding:9px 12px;min-height:36px;font-size:12px;font-weight:600;}
#vf-focus .vf-tour-play svg{width:13px;height:13px}
#vf-focus .vf-tour-play>span{display:flex;align-items:center;}
#vf-focus .vf-tour-views{display:flex;flex-wrap:wrap;gap:4px;}
#vf-focus .vf-tour-views button{background:transparent;color:var(--vf-ink);border:0;border-radius:4px;padding:8px 9px;min-height:34px;font-size:12px;font-weight:500;}
#vf-focus .vf-tour-views button[aria-pressed=true]{background:var(--vf-paper);}
#vf-focus .vf-tour-status{font-size:12px;max-width:280px;text-align:right;}
#vf-focus .vf-film{border-top:1px solid var(--vf-rule);padding-top:42px;padding-bottom:45px;display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:9%;scroll-margin-top:20px;}
#vf-focus .vf-film h2{font-size:clamp(31px,5.5cqw,54px);line-height:1.07;letter-spacing:-.055em;margin:14px 0 20px;}
#vf-focus .vf-film-copy>p:not(.vf-kicker){font-size:14px;line-height:1.7;color:var(--vf-muted);}
#vf-focus .vf-film-copy .vf-film-meta{font-size:12px!important;font-weight:600;margin-top:21px;color:var(--vf-ink)!important;}
#vf-focus .vf-film-button{display:inline-flex;align-items:center;gap:8px;margin-top:15px;border:0;background:var(--vf-ink);color:var(--vf-paper);border-radius:5px;padding:12px 16px;min-height:44px;font-size:12px;font-weight:600;}
#vf-focus .vf-film-device{padding:18px 22px;background:var(--vf-ipad);border-radius:3px;}
#vf-focus .vf-film-device video{display:block;width:100%;height:auto;aspect-ratio:4/3;background:#f1f1f7;border:6px solid #37313d;border-radius:16px;box-shadow:0 12px 25px #25232c20;}
#vf-focus .vf-film-caption{font-size:12px;color:var(--vf-ipad-ink);line-height:1.5;text-align:center;margin-top:15px;}
#vf-focus .vf-stage-caption{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0 17px;font-size:12px;font-weight:500}
#vf-focus .vf-stage-caption span:first-child{font-weight:700}
#vf-focus .vf-section-links{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--vf-rule);padding-block:20px;gap:20px}
#vf-focus .vf-section-links a{display:flex;align-items:center;gap:11px;font-size:13px;font-weight:600}
#vf-focus .vf-section-links a:hover span:last-child{text-decoration:underline;text-underline-offset:4px}
#vf-focus .vf-section-links b{width:23px;height:23px;border:1px solid #b9b0ba;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:500;flex-shrink:0}
#vf-focus .vf-intro{padding-top:62px;padding-bottom:35px;display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:32px}
#vf-focus .vf-intro h2{font-size:clamp(31px,5.5cqw,54px);line-height:1.05;letter-spacing:-.055em;margin-top:13px}
#vf-focus .vf-intro>p{font-size:14px;color:var(--vf-muted);line-height:1.65;padding-bottom:3px}
#vf-focus .vf-step{padding-top:28px;padding-bottom:40px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:8%;scroll-margin-top:20px}
#vf-focus .vf-step+.vf-step{border-top:1px solid var(--vf-rule)}
#vf-focus .vf-step.vf-reverse{grid-template-columns:.95fr 1.05fr}
#vf-focus .vf-step h3{font-size:clamp(28px,4.2cqw,43px);line-height:1.08;letter-spacing:-.055em;margin:14px 0 18px}
#vf-focus .vf-step .vf-copy>p{font-size:14px;line-height:1.7;color:var(--vf-muted)}
#vf-focus .vf-step-no{display:flex;align-items:center;gap:11px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
#vf-focus .vf-step-no span{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;border:1px solid #bdb1bb;border-radius:50%;letter-spacing:0;font-size:12px;flex-shrink:0}
#vf-focus .vf-caption{display:flex;align-items:center;gap:8px;margin-top:21px;padding-top:14px;border-top:1px solid var(--vf-rule);color:var(--vf-ink);font-size:12px;font-weight:500}
#vf-focus .vf-caption svg{width:15px;height:15px;flex-shrink:0}
#vf-focus .vf-shot-stage{position:relative;background:var(--vf-graph);color:var(--vf-graph-ink);padding:18px;}
#vf-focus .vf-crop{position:relative;overflow:hidden;background:#f2f2f7;border-radius:7px;box-shadow:0 9px 20px #3e2b4f16}
#vf-focus .vf-crop img,#vf-focus .vf-preview-head img{display:block;width:100%;height:auto}
#vf-focus .vf-graph-crop{aspect-ratio:750/480}

#vf-focus .vf-group-crop{aspect-ratio:460/280;margin-top:10px}

#vf-focus .vf-detail-label{font-size:12px;font-weight:600;margin-bottom:10px}
#vf-focus .vf-detail-label.vf-combine{margin-top:18px}
#vf-focus .vf-shot-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;font-weight:600;letter-spacing:.02em;padding-top:15px}
#vf-focus .vf-shot-label span:first-child{font-size:12px}
#vf-focus .vf-refine-stage{background:var(--vf-inspector);color:var(--vf-ink);padding:24px 18px}
#vf-focus .vf-inspector-crop{aspect-ratio:480/890;max-width:360px;margin-inline:auto;background:#202020}

#vf-focus .vf-preview-stage{background:var(--vf-preview);color:var(--vf-ink);padding:21px 16px 15px}
#vf-focus .vf-preview-crop{aspect-ratio:1;background:#d3d3d3;border-radius:0;box-shadow:none}

#vf-focus .vf-preview-head{background:#282828;border-radius:6px 6px 0 0;aspect-ratio:470/88;position:relative;overflow:hidden;margin-bottom:15px}

#vf-focus .vf-preview-stage .vf-shot-label{padding-top:13px;border-top:1px solid #d9d0c0;margin-top:15px}
#vf-focus .vf-ipad{background:var(--vf-ipad);color:var(--vf-ipad-ink);padding-top:42px;padding-bottom:35px;margin-top:12px;scroll-margin-top:20px}
#vf-focus .vf-ipad-intro{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:32px;margin-bottom:30px}
#vf-focus .vf-ipad h2{font-size:clamp(33px,5.9cqw,59px);line-height:1.06;letter-spacing:-.06em;margin-top:13px}
#vf-focus .vf-ipad-intro>p{font-size:14px;line-height:1.65;color:var(--vf-ipad-ink)}
#vf-focus .vf-tablet{border:9px solid #36333b;border-radius:21px;overflow:hidden;box-shadow:0 15px 24px #67577527}
#vf-focus .vf-tablet img{width:100%;height:auto;}
#vf-focus .vf-ipad-caption{display:flex;justify-content:space-between;gap:15px;padding-top:18px;font-size:12px;color:var(--vf-ipad-ink)}
#vf-focus .vf-footer{padding-top:31px;padding-bottom:25px}
#vf-focus .vf-footer-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:24px;border-bottom:1px solid var(--vf-rule)}
#vf-focus .vf-footer-brand{font-size:18px;font-weight:700;letter-spacing:-.7px}
#vf-focus .vf-footer-nav{display:flex;gap:22px;flex-wrap:wrap;font-size:12px;font-weight:500}
#vf-focus .vf-footer-nav a:hover{text-decoration:underline;text-underline-offset:4px}
#vf-focus .vf-footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding-top:19px;font-size:12px;color:var(--vf-muted)}
@container (max-width:560px){
 #vf-focus .vf-nav{padding-block:17px;gap:12px}#vf-focus .vf-brand{font-size:19px}#vf-focus .vf-brand img{width:27px;height:27px}#vf-focus .vf-nav-links{gap:15px;font-size:12px}
 #vf-focus .vf-hero{padding-top:34px}#vf-focus .vf-hero h1{font-size:clamp(43px,11.7cqw,65px);margin-block:20px 22px}#vf-focus .vf-hero-bottom{display:block}#vf-focus .vf-hero-bottom p{font-size:14px;max-width:390px}#vf-focus .vf-action{margin-top:20px}
 #vf-focus .vf-stage{padding:15px 4% 0}#vf-focus .vf-stage-head{gap:10px;padding-bottom:14px}#vf-focus .vf-stage-head p{font-size:12px;max-width:135px}#vf-focus .vf-stage-caption{font-size:12px;align-items:flex-start}#vf-focus .vf-stage-caption span:last-child{text-align:right;max-width:125px}#vf-focus .vf-appshot{border-radius:5px}
 #vf-focus .vf-section-links{gap:9px;padding-block:18px}#vf-focus .vf-section-links a{gap:7px;font-size:12px}#vf-focus .vf-section-links b{width:19px;height:19px;font-size:12px}
 #vf-focus .vf-intro{display:block;padding-top:41px;padding-bottom:20px}#vf-focus .vf-intro h2{font-size:36px}#vf-focus .vf-intro>p{margin-top:20px;max-width:380px}
 #vf-focus .vf-step,#vf-focus .vf-step.vf-reverse{display:flex;flex-direction:column;align-items:stretch;gap:24px;padding-block:27px 34px}#vf-focus .vf-step .vf-copy{order:0}#vf-focus .vf-step figure{order:1}#vf-focus .vf-step h3{font-size:33px;max-width:320px;margin-block:13px 14px}#vf-focus .vf-step .vf-copy>p{max-width:410px}#vf-focus .vf-caption{margin-top:15px;padding-top:12px}
 #vf-focus .vf-shot-stage{padding:18px;}#vf-focus .vf-refine-stage{padding:22px 12%;}#vf-focus .vf-preview-stage{padding:24px 8% 17px}#vf-focus .vf-shot-label{gap:5px;font-size:12px}#vf-focus .vf-shot-label span:first-child{font-size:12px}
 #vf-focus .vf-ipad{padding-top:32px;padding-bottom:24px}#vf-focus .vf-ipad-intro{display:block;margin-bottom:24px}#vf-focus .vf-ipad h2{font-size:37px}#vf-focus .vf-ipad-intro>p{margin-top:18px;max-width:400px}#vf-focus .vf-tablet{border-width:5px;border-radius:12px}#vf-focus .vf-ipad-caption{display:block}#vf-focus .vf-ipad-caption span{display:block}#vf-focus .vf-ipad-caption span+span{margin-top:4px}
 #vf-focus .vf-footer{padding-top:25px}#vf-focus .vf-footer-top{align-items:flex-start;gap:16px;flex-wrap:wrap}#vf-focus .vf-footer-nav{font-size:12px;gap:17px}#vf-focus .vf-footer-bottom{display:block}#vf-focus .vf-footer-bottom span{display:block}#vf-focus .vf-footer-bottom span+span{margin-top:7px}
}
@media(pointer:coarse){#vf-focus .vf-nav-links a{padding-block:11px}#vf-focus .vf-platforms button{min-height:40px}#vf-focus .vf-section-links a{min-height:44px}}
@container (max-width:560px){#vf-focus .vf-tour-bar{gap:10px}#vf-focus .vf-tour-views{width:100%;justify-content:space-between;}#vf-focus .vf-tour-views button{padding:8px 6px;}#vf-focus .vf-tour-status{max-width:160px;}#vf-focus .vf-film{grid-template-columns:1fr;gap:25px;padding-top:34px;padding-bottom:34px;}#vf-focus .vf-film h2{font-size:36px;}#vf-focus .vf-film-device{padding:18px 14px;}#vf-focus .vf-film-copy>p{max-width:390px;}}
@media(pointer:coarse){#vf-focus .vf-tour-play,#vf-focus .vf-tour-views button{min-height:44px;}}
@media(prefers-reduced-motion:no-preference){#vf-focus a,#vf-focus button{transition:background-color .15s,color .15s}#vf-focus .vf-appshot img{transition:transform .8s cubic-bezier(.22,.61,.36,1),transform-origin .8s cubic-bezier(.22,.61,.36,1)}}
/* Production layout and accessible targets; the approved palette stays fixed. */
#vf-focus { max-width: 1280px; margin-inline: auto; }
#vf-focus button { cursor: pointer; }
#vf-focus :is(a, button):focus-visible { outline: 3px solid currentColor; outline-offset: 4px; }
#vf-focus button:focus-visible { outline-color: #25232c; }
#vf-focus :is(.vf-platforms button, .vf-tour-play, .vf-tour-views button) { min-height: 44px; }
#vf-focus :is(.vf-nav-links a, .vf-footer-nav a, .vf-footer-brand, .vf-section-links a) { display: inline-flex; align-items: center; min-height: 44px; }
#vf-focus .vf-appshot img { will-change: auto; }
#vf-focus .vf-error { min-height: 65vh; padding-block: 80px; }
#vf-focus .vf-error h1 { font-size: clamp(36px, 7vw, 72px); line-height: 1.1; letter-spacing: -.06em; margin-bottom: 24px; }
#vf-focus .vf-error p { max-width: 440px; margin-bottom: 24px; }
@container (max-width: 360px) {
  #vf-focus .vf-nav { gap: 8px; }
  #vf-focus .vf-nav .vf-brand { font-size: 18px; gap: 6px; }
  #vf-focus .vf-nav-links { gap: 12px; }
  #vf-focus .vf-nav-links a { white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
  #vf-focus *, #vf-focus *::before, #vf-focus *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Legal documents share the site's palette and readable native page navigation. */
#vf-focus .vf-legal-hero { padding-block: 48px 40px; }
#vf-focus .vf-legal-privacy { background: var(--vf-stage); }
#vf-focus .vf-legal-terms { background: var(--vf-ipad); }
#vf-focus .vf-legal h1 { margin: 20px 0 24px; font-size: clamp(44px, 7.5cqw, 84px); line-height: 1.04; letter-spacing: -.06em; }
#vf-focus .vf-legal h1 em { font-family: 'Instrument Serif', Georgia, serif; font-weight: 400; }
#vf-focus .vf-legal-lead { max-width: 540px; font-size: 18px; line-height: 1.6; }
#vf-focus .vf-legal-date { margin-top: 24px; font-size: 13px; }
#vf-focus .vf-legal-layout { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(0, 3fr); gap: 6%; padding-block: 48px 72px; }
#vf-focus .vf-legal-toc { align-self: start; }
#vf-focus .vf-legal-toc .vf-kicker { margin-bottom: 16px; }
#vf-focus .vf-legal-toc a { display: flex; align-items: center; min-height: 44px; padding-block: 8px; font-size: 13px; line-height: 1.5; }
#vf-focus .vf-legal-toc a:hover { text-decoration: underline; text-underline-offset: 3px; }
#vf-focus .vf-legal-copy { max-width: 66ch; font-size: 16px; line-height: 1.8; overflow-wrap: anywhere; }
#vf-focus .vf-legal-copy section { scroll-margin-top: 24px; }
#vf-focus .vf-legal-copy section + section { margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--vf-rule); }
#vf-focus .vf-legal-copy h2 { font-size: 24px; letter-spacing: -.03em; line-height: 1.25; margin-bottom: 16px; }
#vf-focus .vf-legal-copy p + p { margin-top: 16px; }
#vf-focus .vf-legal-copy a { text-decoration: underline; text-underline-offset: 3px; }
#vf-focus .vf-footer-nav { flex-wrap: wrap; }
@container (max-width: 680px) {
  #vf-focus .vf-legal-hero { padding-block: 32px; }
  #vf-focus .vf-legal-lead { font-size: 16px; }
  #vf-focus .vf-legal-layout { grid-template-columns: 1fr; gap: 32px; padding-block: 32px 48px; }
  #vf-focus .vf-legal-toc { border-bottom: 1px solid var(--vf-rule); padding-bottom: 24px; }
  #vf-focus .vf-legal-copy h2 { font-size: 22px; }
}

#vf-focus .vf-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px}
#vf-focus .vf-secondary{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:12px;font-weight:600}
#vf-focus .vf-secondary svg{width:18px;height:18px}
#vf-focus .vf-download{display:flex;justify-content:space-between;align-items:center;gap:28px;padding-block:72px;background:#e9efb4}
#vf-focus .vf-download h2{font-family:var(--vf-font);font-size:clamp(38px,5cqw,68px);font-weight:400;line-height:1.06;margin:18px 0 0}
@media(max-width:600px){#vf-focus .vf-download{display:block}#vf-focus .vf-nav-links a:first-child{display:none}}

#vf-focus .vf-appshot:has(img[src$="/mac.webp"]){aspect-ratio:2560/1496}
