/* A shared, fluid showroom for two independent apps. */
:root {
  --paper: #f7f7f2;
  --ink: #141820;
  --muted: #535a66;
  --line: #d8dcd9;
  --night: #101a2b;
  --night-text: #f4f7fc;
  --blue: #97b8ff;
  --mist: #edf3f6;
  --vault-ink: #152a38;
  --teal: #245e77;
  --gutter: clamp(20px, 5vw, 88px);
  --space: clamp(72px, 8vw, 144px);
  --ease: cubic-bezier(.22, .68, 0, 1);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0; }
body.modal-open { overflow: hidden; }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
img { display: block; max-width: 100%; height: auto; }
svg { display: block; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 5px; }
button, a, summary { touch-action: manipulation; }
:focus-visible { outline: 3px solid currentColor; outline-offset: 5px; }
::selection { color: #fff; background: #245e77; }
h1, h2, h3, p, figure { margin: 0; }
h1, h2, h3 { font-weight: 600; }
p { line-height: 1.6; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 200; top: 12px; left: 20px; padding: 14px 20px; background: #fff; color: #141820; transform: translateY(-160%); }
.skip-link:focus { transform: none; }
.site-header { min-height: 92px; padding: 20px var(--gutter); display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--line); }
.wordmark { display: inline-flex; align-items: center; gap: 13px; text-decoration: none; font-size: 16px; line-height: 1.2; font-weight: 650; letter-spacing: -.035em; min-height: 44px; }
.wordmark-mark { border: 1px solid currentColor; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; font-size: 13px; letter-spacing: -.08em; font-weight: 500; }
.wordmark img { width: 34px; height: 34px; border-radius: 9px; }
.site-nav { display: flex; align-items: center; gap: clamp(20px, 3vw, 44px); }
.site-nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; font-weight: 500; text-decoration: none; }
.site-nav a:not(.nav-cta):hover { text-decoration: underline; }
.site-nav .nav-cta { padding: 0 19px; border: 1px solid currentColor; border-radius: 100px; }
.eyebrow { display: flex; align-items: center; gap: 11px; margin-bottom: 28px; font-size: 11px; font-weight: 650; letter-spacing: .16em; text-transform: uppercase; line-height: 1.5; }
.eyebrow::before { content: ""; display: block; width: 28px; height: 1px; background: currentColor; flex: 0 0 auto; }
.home-hero { display: grid; grid-template-columns: 1.05fr 1fr; gap: 2vw; padding: clamp(56px, 6vw, 100px) var(--gutter) 72px; align-items: center; min-height: 720px; overflow: clip; }
.home-hero h1 { font-size: clamp(52px, 6.1vw, 104px); letter-spacing: -.067em; line-height: 1.02; }
.home-hero h1 span { color: #737c79; }
.hero-intro { max-width: 31rem; margin-top: 32px; color: var(--muted); font-size: clamp(17px, 1.35vw, 20px); }
.link-row { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 30px; align-items: center; }
.text-link { display: inline-flex; gap: 16px; align-items: center; min-height: 44px; font-size: 15px; font-weight: 600; text-decoration: none; border-bottom: 1px solid currentColor; }
.text-link svg { width: 16px; height: 16px; transition: transform .25s var(--ease); }
.text-link:hover svg { transform: translateX(4px); }
.paired-stage { position: relative; display: flex; align-items: center; justify-content: center; gap: clamp(14px, 2vw, 36px); padding: 15px 0 40px; min-width: 0; }
.paired-stage::before { content: ""; position: absolute; inset: 18% -4% 12%; border: 1px solid #d9dfda; border-radius: 50%; transform: rotate(-28deg); pointer-events: none; }
.paired-stage figure { position: relative; width: 45%; max-width: 292px; z-index: 1; }
.paired-stage figure:first-child { margin-top: 80px; }
.paired-stage figure:last-child { align-self: flex-start; }
.paired-stage img { border-radius: 14px; box-shadow: 0 24px 45px -28px #101a2b75; }
.paired-stage figcaption { display: flex; justify-content: space-between; gap: 8px; padding: 17px 0 0; font-size: 12px; font-weight: 600; }
.paired-stage figcaption span { color: var(--muted); font-weight: 400; }
.studio-line { padding: 26px var(--gutter); border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 20px; font-size: 12px; color: var(--muted); letter-spacing: .02em; }
.studio-line span:first-child { color: var(--ink); }
.product-chapter { position: relative; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(36px, 7vw, 120px); padding: var(--space) var(--gutter); overflow: clip; }
.scene-number { color: var(--night-text); background: var(--night); --scene-muted: #b5c3d5; --scene-accent: var(--blue); --scene-line: #35445a; }
.scene-vault { color: var(--vault-ink); background: var(--mist); --scene-muted: #526575; --scene-accent: var(--teal); --scene-line: #c9d7de; }
.chapter-copy { max-width: 38rem; }
.app-identity { display: flex; align-items: center; gap: 14px; margin-bottom: 38px; font-weight: 600; font-size: 17px; letter-spacing: -.02em; }
.app-identity img { width: 48px; height: 48px; border-radius: 12px; }
.chapter-index { color: var(--scene-muted); font-size: 11px; letter-spacing: .13em; margin-left: auto; font-weight: 400; }
.chapter-copy h2 { font-size: clamp(40px, 4.8vw, 80px); letter-spacing: -.055em; line-height: 1.06; }
.chapter-copy > p { max-width: 34rem; font-size: clamp(17px, 1.4vw, 20px); color: var(--scene-muted); margin-top: 27px; }
.chapter-copy .link-row { gap: 24px; }
.store-link { display: inline-flex; align-items: center; min-height: 48px; border-radius: 9px; }
.store-link img { width: 159px; height: 53px; }
.scene-vault .store-link, .download-band .store-link, .product-hero:not(.scene-number) .store-link { box-shadow: 0 0 0 1px #cbd5db; }
.chapter-facts { border-top: 1px solid var(--scene-line); margin-top: 40px; padding-top: 23px; display: flex; flex-wrap: wrap; gap: 10px 22px; color: var(--scene-muted); font-size: 12px; }
.chapter-facts span { display: inline-flex; align-items: center; gap: 8px; }
.chapter-facts span::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: var(--scene-accent); }
.product-stage { position: relative; display: flex; align-items: center; justify-content: center; gap: clamp(15px, 2.2vw, 42px); min-width: 0; padding-bottom: 45px; }
.product-stage .primary-shot { width: 54%; max-width: 320px; }
.product-stage .secondary-shot { width: 37%; max-width: 226px; margin-top: 120px; }
.product-stage img { border-radius: 14px; box-shadow: 0 28px 42px -25px #0007; }
.product-stage .stage-annotation { position: absolute; bottom: 0; font-size: 10px; letter-spacing: .13em; text-transform: uppercase; color: var(--scene-muted); }
.chapter-reverse .chapter-copy { order: 2; }
.chapter-reverse .product-stage { order: 1; }
.maker { padding: var(--space) var(--gutter); display: grid; grid-template-columns: 1.2fr 1fr; gap: 80px; align-items: start; }
.maker h2 { max-width: 48rem; font-size: clamp(36px, 4.3vw, 72px); letter-spacing: -.055em; line-height: 1.08; }
.maker-copy { max-width: 34rem; }
.maker-copy p { font-size: 19px; color: var(--muted); }
.maker-copy p + p { margin-top: 18px; }
.site-footer { padding: 52px var(--gutter) 26px; background: #e9ece7; border-top: 1px solid #d4dad3; }
.footer-top { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 48px; padding-bottom: 50px; }
.footer-brand { font-size: 21px; letter-spacing: -.045em; font-weight: 600; }
.footer-note { margin-top: 14px; max-width: 25rem; color: var(--muted); font-size: 14px; }
.footer-group h2 { font-size: 11px; text-transform: uppercase; letter-spacing: .12em; margin-bottom: 13px; }
.footer-group a { display: flex; align-items: center; width: fit-content; min-height: 38px; font-size: 14px; color: #3d4851; text-decoration: none; }
.footer-group a:hover { text-decoration: underline; }
.footer-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 16px; padding-top: 25px; border-top: 1px solid #cdd4ce; color: #5e6965; font-size: 11px; }
.footer-bottom a { min-height: 28px; display: inline-flex; align-items: center; }
.product-header.scene-number { border-color: #35445a; }
.product-header.scene-vault { border-color: #c9d7de; }
.product-header .nav-cta { color: var(--ink); background: #f4f7fc; border-color: transparent; }
.product-header.scene-vault .nav-cta { color: #fff; background: var(--teal); }
.product-hero { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(30px, 4vw, 80px); padding: clamp(48px, 5vw, 88px) var(--gutter) clamp(56px, 6vw, 104px); align-items: center; }
.product-hero h1 { font-size: clamp(52px, 5.6vw, 96px); line-height: 1.03; letter-spacing: -.06em; max-width: 12ch; }
.product-hero .eyebrow { color: var(--scene-accent); }
.product-hero .hero-intro { color: var(--scene-muted); max-width: 36rem; }
.product-hero .product-stage { padding: 0 0 44px; }
.compatibility { margin-top: 23px; color: var(--scene-muted); font-size: 12px; line-height: 1.6; }
.product-facts { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 24px; padding: 27px var(--gutter); border-top: 1px solid var(--scene-line); font-size: 12px; }
.product-facts span { display: inline-flex; align-items: center; gap: 11px; }
.product-facts svg { width: 17px; height: 17px; color: var(--scene-accent); }
.feature-scene { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(50px, 9vw, 160px); padding: clamp(72px, 7vw, 120px) var(--gutter); }
.feature-scene + .feature-scene { border-top: 1px solid var(--line); }
.feature-scene:nth-child(even) { background: #eef0eb; }
.feature-scene.reverse .feature-copy { order: 2; }
.feature-scene.reverse .feature-visual { order: 1; }
.feature-copy { max-width: 38rem; }
.feature-copy h2 { font-size: clamp(36px, 4vw, 66px); line-height: 1.08; letter-spacing: -.055em; }
.feature-copy > p { font-size: 19px; color: var(--muted); margin-top: 26px; max-width: 35rem; }
.feature-copy .feature-note { font-size: 13px; margin-top: 20px; max-width: 32rem; }
.feature-tags { margin: 28px 0 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 12px 25px; color: #3d4d55; font-size: 12px; }
.feature-tags li { border-bottom: 1px solid #c1c9c6; padding-bottom: 8px; }
.feature-visual { min-width: 0; display: flex; align-items: center; justify-content: center; position: relative; padding: 30px 0; }
.feature-visual::before { content: ""; position: absolute; inset: 13% 0; background: #d8e3e5; border-radius: 50%; }
.number-features .feature-visual::before { background: #e3dfce; }
.feature-visual img { position: relative; width: clamp(230px, 23vw, 350px); border-radius: 13px; box-shadow: 0 22px 42px -28px #101a2b9c; }
.gallery-section { padding: var(--space) 0 60px; overflow: clip; }
.gallery-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; padding: 0 var(--gutter) 48px; }
.gallery-heading h2 { font-size: clamp(38px, 4.6vw, 76px); letter-spacing: -.055em; line-height: 1.07; }
.gallery-heading .eyebrow { color: var(--scene-muted); }
.gallery-heading p { margin-top: 20px; font-size: 15px; color: var(--scene-muted); }
.gallery-controls { display: none; align-items: center; gap: 12px; flex-shrink: 0; }
[data-carousel].is-enhanced .gallery-controls { display: flex; }
.gallery-controls button, .lightbox button { border: 1px solid currentColor; color: inherit; background: transparent; width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; }
.gallery-controls button:hover:not(:disabled) { background: #ffffff16; }
.gallery-controls button:disabled { opacity: .3; cursor: default; }
.gallery-controls svg, .lightbox button svg { width: 19px; height: 19px; }
.gallery-counter { font-size: 12px; min-width: 54px; text-align: center; font-variant-numeric: tabular-nums; }
.screenshots-track { display: flex; gap: clamp(18px, 2vw, 32px); overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); padding: 8px var(--gutter) 34px; scrollbar-width: thin; scrollbar-color: #6d8495 transparent; overscroll-behavior-x: contain; }
.gallery-figure { flex: 0 0 clamp(240px, 23vw, 360px); min-width: 0; scroll-snap-align: start; }
.screenshot-open { display: block; text-decoration: none; border-radius: 13px; }
.screenshot-open img { width: 100%; height: auto; border-radius: 13px; }
.gallery-figure figcaption { display: flex; gap: 18px; align-items: baseline; padding: 18px 1px 0; font-size: 13px; }
.gallery-figure figcaption span { font-size: 10px; color: var(--scene-muted); font-variant-numeric: tabular-nums; }
.gallery-hint { padding: 10px var(--gutter) 0; color: var(--scene-muted); font-size: 12px; }
.pricing-band { display: grid; grid-template-columns: 1.3fr 1fr; gap: clamp(40px, 8vw, 140px); padding: var(--space) var(--gutter); border-bottom: 1px solid var(--line); align-items: start; }
.pricing-band h2 { font-size: clamp(38px, 4.4vw, 72px); letter-spacing: -.055em; line-height: 1.08; max-width: 10ch; }
.price-panel { max-width: 36rem; }
.price-amount { font-size: clamp(56px, 6vw, 94px); line-height: 1; letter-spacing: -.07em; font-weight: 550; }
.price-context { margin-top: 15px; font-size: 14px; color: var(--muted); }
.price-panel > p { font-size: 17px; margin-top: 25px; color: #3b4650; }
.price-panel > p.price-local { font-size: 12px; color: var(--muted); }
.faq-section { padding: var(--space) var(--gutter); display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(40px, 8vw, 130px); }
.faq-title h2 { font-size: clamp(36px, 4vw, 64px); line-height: 1.08; letter-spacing: -.05em; }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list details:first-child { border-top: 1px solid var(--line); }
.faq-list summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 26px 0; min-height: 76px; font-size: 18px; font-weight: 500; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; font-size: 26px; font-weight: 300; flex: 0 0 22px; text-align: center; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { font-size: 16px; color: var(--muted); padding: 0 36px 27px 0; max-width: 44rem; }
.download-band { padding: clamp(62px, 7vw, 120px) var(--gutter); display: grid; grid-template-columns: 1.4fr .6fr; gap: 50px; align-items: center; }
.download-band h2 { font-size: clamp(40px, 4.8vw, 80px); line-height: 1.06; letter-spacing: -.055em; max-width: 14ch; }
.download-band p { color: var(--scene-muted); margin-top: 25px; max-width: 33rem; font-size: 18px; }
.download-band .store-link { margin-top: 27px; }
.qr-figure { justify-self: center; text-align: center; }
.qr-figure img { width: 176px; height: 176px; border-radius: 11px; }
.qr-figure figcaption { max-width: 176px; font-size: 11px; color: var(--scene-muted); margin-top: 16px; line-height: 1.5; }
.lightbox { color: #fff; background: #10151def; border: 0; position: fixed; width: 100%; max-width: none; height: 100%; max-height: none; inset: 0; margin: 0; padding: max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left)); }
.lightbox::backdrop { background: #080c12f5; }
.lightbox[open] { display: flex; flex-direction: column; }
.lightbox-top { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex: 0 0 auto; }
.lightbox-title { font-size: 14px; }
.lightbox-close { margin-left: auto; }
.lightbox-body { display: grid; grid-template-columns: 48px minmax(0, 1fr) 48px; gap: 26px; align-items: center; width: min(100%, 1200px); margin: 12px auto 0; flex: 1; min-height: 0; }
.lightbox-image { height: 100%; width: 100%; min-height: 0; object-fit: contain; }
.lightbox-bottom { text-align: center; font-size: 12px; padding-top: 17px; line-height: 1.5; flex: 0 0 auto; }
.lightbox button:disabled { opacity: .3; cursor: default; }
.document-layout { display: grid; grid-template-columns: minmax(200px, .65fr) minmax(0, 1.35fr); padding: 80px var(--gutter) var(--space); gap: clamp(40px, 7vw, 120px); }
.document-nav { position: sticky; top: 40px; align-self: start; display: flex; flex-direction: column; align-items: start; gap: 8px; }
.document-nav .eyebrow { margin-bottom: 18px; }
.document-nav a { font-size: 14px; min-height: 40px; display: flex; align-items: center; }
.document-copy { max-width: 760px; min-width: 0; }
.document-copy h1 { font-size: clamp(44px, 5vw, 76px); letter-spacing: -.055em; line-height: 1.08; margin-bottom: 24px; }
.document-copy h2 { font-size: 25px; letter-spacing: -.025em; margin-top: 48px; margin-bottom: 16px; }
.document-copy h3 { font-size: 19px; margin-top: 34px; margin-bottom: 12px; }
.document-copy p, .document-copy li { font-size: 17px; line-height: 1.75; color: #45515c; }
.document-copy p { margin-bottom: 16px; }
.document-copy ul { padding-left: 22px; }
.document-copy li + li { margin-top: 8px; }
.document-copy .effective-date { font-size: 13px; color: var(--muted); margin-bottom: 50px; }
.document-copy .subhead { font-size: 21px; }
.contact-card { margin: 36px 0 52px; padding: 28px 0; border-block: 1px solid var(--line); }
.contact-card .label { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .12em; margin-bottom: 12px; }
.contact-card .email { font-size: clamp(17px, 1.8vw, 26px); margin-bottom: 20px; overflow-wrap: anywhere; }
.document-copy strong { color: var(--ink); }
.motion-ready [data-reveal] { transition: opacity 450ms var(--ease), transform 450ms var(--ease); }
.motion-ready [data-reveal]:not(.is-visible) { opacity: 0; transform: translateY(16px); }
@media (min-width: 1700px) {
  .home-hero { min-height: 840px; }
  .paired-stage figure { max-width: 320px; }
  .product-stage .primary-shot { max-width: 370px; }
  .product-stage .secondary-shot { max-width: 255px; }
}
@media (max-width: 1099px) {
  .home-hero { min-height: 620px; grid-template-columns: 1fr 1fr; gap: 24px; }
  .home-hero h1 { font-size: clamp(47px, 6.4vw, 72px); }
  .paired-stage figcaption { font-size: 10px; }
  .paired-stage figcaption span { display: none; }
  .product-chapter, .product-hero { gap: 35px; }
  .chapter-copy h2 { font-size: clamp(39px, 5vw, 58px); }
  .product-hero h1 { font-size: clamp(48px, 5.9vw, 66px); }
  .product-stage .secondary-shot { display: none; }
  .product-stage .primary-shot { width: 80%; max-width: 330px; }
  .feature-scene { gap: 45px; }
  .feature-visual img { width: min(80%, 300px); }
  .maker { gap: 48px; }
  .site-nav { gap: 22px; }
  .product-header .nav-overview { display: none; }
}
@media (max-width: 699px) {
  html { scroll-padding-top: 24px; }
  .site-header { min-height: 78px; padding-block: 16px; gap: 14px; }
  .wordmark { font-size: 14px; gap: 9px; }
  .wordmark-mark { width: 32px; height: 32px; font-size: 11px; }
  .site-nav { gap: 16px; }
  .site-nav a { font-size: 12px; }
  .site-header:not(.product-header) .nav-support, .product-header .nav-screenshots, .product-header .nav-faq { display: none; }
  .site-nav .nav-cta { padding-inline: 13px; }
  .product-header .wordmark img { width: 28px; height: 28px; border-radius: 7px; }
  .home-hero { display: flex; flex-direction: column; align-items: stretch; gap: 42px; min-height: 0; padding-block: 42px 38px; }
  .eyebrow { font-size: 10px; margin-bottom: 23px; gap: 9px; letter-spacing: .12em; }
  .home-hero h1 { font-size: clamp(44px, 12.2vw, 72px); max-width: 15ch; }
  .home-hero h1 .mobile-break { display: none; }
  .hero-intro { margin-top: 23px; font-size: 17px; }
  .link-row { margin-top: 23px; gap: 14px 23px; }
  .text-link { font-size: 13px; }
  .paired-stage { max-width: 470px; align-self: center; width: 100%; padding: 0 0 10px; gap: 18px; }
  .paired-stage figure { width: 46%; }
  .paired-stage figure:first-child { margin-top: 44px; }
  .paired-stage figcaption { padding-top: 13px; font-size: 11px; }
  .paired-stage img { border-radius: 8px; }
  .studio-line { flex-direction: column; gap: 9px; padding-block: 22px; font-size: 11px; }
  .product-chapter, .product-hero { grid-template-columns: 1fr; gap: 46px; padding-block: 60px; }
  .chapter-reverse .chapter-copy, .chapter-reverse .product-stage { order: initial; }
  .app-identity { margin-bottom: 28px; font-size: 16px; }
  .chapter-index { font-size: 10px; }
  .chapter-copy h2 { font-size: clamp(39px, 10.4vw, 62px); }
  .chapter-copy > p { font-size: 17px; margin-top: 22px; }
  .chapter-facts { margin-top: 28px; padding-top: 20px; font-size: 11px; gap: 11px 17px; }
  .product-stage .primary-shot { width: min(78%, 320px); }
  .product-stage { padding-bottom: 34px; }
  .product-stage .stage-annotation { font-size: 9px; }
  .product-hero { padding-top: 40px; }
  .product-hero h1 { font-size: clamp(44px, 12vw, 68px); max-width: 13ch; }
  .product-hero .hero-intro { font-size: 17px; }
  .product-hero .product-stage { padding-bottom: 28px; }
  .product-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 19px 15px; padding-block: 25px; font-size: 11px; }
  .product-facts span { gap: 8px; }
  .feature-scene { grid-template-columns: 1fr; gap: 36px; padding-block: 64px; }
  .feature-scene.reverse .feature-copy, .feature-scene.reverse .feature-visual { order: initial; }
  .feature-copy h2 { font-size: clamp(36px, 9.8vw, 58px); }
  .feature-copy > p { font-size: 17px; margin-top: 22px; }
  .feature-visual { padding-block: 14px; }
  .feature-visual img { width: min(78%, 320px); }
  .gallery-section { padding-block: 64px 38px; }
  .gallery-heading { display: block; padding-bottom: 30px; }
  .gallery-heading h2 { font-size: clamp(37px, 10.5vw, 60px); }
  .gallery-heading p { font-size: 14px; margin-top: 17px; }
  .gallery-controls { margin-top: 25px; justify-content: flex-start; }
  .gallery-controls button { width: 44px; height: 44px; }
  .gallery-figure { flex-basis: min(76vw, 340px); }
  .screenshots-track { gap: 18px; padding-bottom: 28px; }
  .pricing-band, .faq-section { grid-template-columns: 1fr; padding-block: 64px; gap: 38px; }
  .pricing-band h2 { font-size: 44px; max-width: 16ch; }
  .price-amount { font-size: 68px; }
  .price-panel > p { font-size: 16px; }
  .faq-title h2 { font-size: 41px; }
  .faq-list summary { font-size: 17px; padding-block: 22px; }
  .faq-list details p { font-size: 15px; padding-right: 15px; }
  .download-band { grid-template-columns: 1fr; gap: 38px; padding-block: 64px; }
  .download-band h2 { font-size: 44px; }
  .download-band p { font-size: 17px; }
  .qr-figure { display: none; }
  .maker { grid-template-columns: 1fr; gap: 30px; padding-block: 64px; }
  .maker h2 { font-size: 42px; }
  .maker-copy p { font-size: 17px; }
  .site-footer { padding-top: 40px; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 34px 22px; padding-bottom: 30px; }
  .footer-identity { grid-column: 1 / -1; }
  .footer-group a { min-height: 44px; font-size: 13px; }
  .footer-bottom { flex-direction: column; gap: 10px; }
  .lightbox { padding-inline: 12px; }
  .lightbox-body { grid-template-columns: 1fr; gap: 0; position: relative; margin-top: 18px; }
  .lightbox-body > button { position: absolute; z-index: 2; width: 44px; height: 44px; bottom: 4px; background: #10151dd9; }
  .lightbox-prev { left: 2px; }
  .lightbox-next { right: 2px; }
  .lightbox-image { padding-bottom: 56px; }
  .lightbox-title { font-size: 12px; }
  .lightbox-bottom { padding-top: 10px; }
  .document-layout { grid-template-columns: 1fr; gap: 34px; padding-top: 38px; }
  .document-nav { position: static; flex-direction: row; flex-wrap: wrap; gap: 8px 20px; }
  .document-nav .eyebrow { flex-basis: 100%; margin-bottom: 0; }
  .document-nav a { font-size: 12px; }
  .document-copy h1 { font-size: 45px; }
  .document-copy h2 { font-size: 23px; }
  .document-copy p, .document-copy li { font-size: 16px; }
  .document-copy .subhead { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .motion-ready [data-reveal]:not(.is-visible) { opacity: 1; transform: none; }
  .text-link:hover svg { transform: none; }
}
