@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('fonts/inter-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Montagu Slab';
  font-style: normal;
  font-weight: 100 700;
  font-display: swap;
  src: url('fonts/montagu-slab-latin.woff2') format('woff2');
}

/* Paper design tokens — colors */
:root {
  --dark-bg-alt: #012a36; --title: #1b3648; --dark-bg: #086788; --primary: #ffffff;
  --secondary: #fffffa; --thread: #0767880d; --tertiary: #6591b3; --quarternary: #347a96;
  --yellow-accent: #ffd700; --mint-accent: #d0e5e9; --ice-accent: #e3f2fd;
  --subtle-shadow: #00000026; --shadow: #0000004d; --button-border: #0000000a;

  /* Paper type styles */
  --font-sans: "Inter", system-ui, sans-serif; --font-display: "Inter", system-ui, sans-serif;
  --font-serif: "Montagu Slab", Georgia, serif;
  --type-hero: 600 96px/1.01 var(--font-display); --type-display: 600 84px/1.01 var(--font-display);
  --type-rule: 500 60px/66px var(--font-display); --type-review: 700 27px/34px var(--font-serif);
  --type-card-title: 700 23px/28px var(--font-display); --type-button: 700 22px/20px var(--font-sans);
  --type-nav: 600 24px/1.01 var(--font-sans); --type-body-lg: 20px/1.45 var(--font-sans);
  --type-body: 16px/20px var(--font-sans); --type-label: 16px/20px var(--font-serif); --type-price: 18px/22px var(--font-serif); --type-eyebrow: 20px/24px var(--font-serif);
  --type-small: 14px/20px var(--font-serif); --type-benefit-body: 16px/20px var(--font-serif); --tracking-display: -0.045em; --tracking-heading: -0.04em;
  --tracking-body: -0.04em; --tracking-tight: -0.05em; --tracking-label: -0.64px;
  --type-subtitle: 500 24px/1.01 var(--font-sans); --type-icon: 700 20px/1 var(--font-sans);
  --type-check: 700 40px/20px var(--font-serif); --type-mini-check: 700 16px/20px var(--font-serif);
  --type-laurel: 24px/18px var(--font-serif);
  --type-footer-link: 600 16px/1.01 var(--font-sans); --type-footer-meta: 14px/1.01 var(--font-sans);
}

* { box-sizing: border-box; }
.svg-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
html { scroll-behavior: smooth; background: var(--dark-bg); }
body { margin: 0; min-width: 320px; overflow-x: hidden; color: var(--secondary); background: var(--dark-bg); font-family: var(--font-sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
body::before { content: ""; position: absolute; inset: 0 0 auto; height: 1400px; z-index: 0; background: radial-gradient(900px 700px at 50% var(--hero-glow-y, 0px), rgba(255,255,250,1) 0%, rgba(255,255,250,0.738) 19%, rgba(255,255,250,0.541) 34%, rgba(255,255,250,0.382) 47%, rgba(255,255,250,0.278) 56.5%, rgba(255,255,250,0.194) 65%, rgba(255,255,250,0.126) 73%, rgba(255,255,250,0.075) 80.2%, rgba(255,255,250,0.037) 86.1%, rgba(255,255,250,0.015) 91%, rgba(255,255,250,0.003) 95.2%, rgba(255,255,250,0) 100%); opacity: .94; pointer-events: none; }

.skip-link { position: absolute; top: -48px; left: 12px; z-index: 30; padding: 12px 20px; border-radius: 8px; color: var(--dark-bg-alt); background: var(--secondary); font: var(--type-button); transition: top 160ms ease; }
.skip-link:focus { top: 12px; }

.site-header { position: sticky; top: 0; z-index: 20; width: 100%; margin: 0; padding: 24px 32px 12px; box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; font: var(--type-nav); letter-spacing: var(--tracking-heading); }
.site-header::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0; background: linear-gradient(to bottom, var(--quarternary), transparent); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); mask-image: linear-gradient(to bottom, black, transparent); -webkit-mask-image: linear-gradient(to bottom, black, transparent); transition: opacity 160ms ease; }
.site-header.is-stuck::before { opacity: 1; }
.site-header--solid { background: var(--dark-bg); }
.wordmark, .header-download { display: flex; align-items: center; text-shadow: 0 2px 8px var(--subtle-shadow); }
.header-download { gap: 8px; }
.wordmark-icon { display: inline-block; width: 0; height: 40px; margin-right: 0; opacity: 0; object-fit: cover; border-radius: 6px; flex-shrink: 0; transform: scale(0) rotate(-6.44deg); transform-origin: center; transition: width 260ms ease, margin-right 260ms ease, opacity 180ms ease, transform 260ms ease; }
.site-header.is-compact .wordmark-icon { width: 40px; margin-right: 6px; opacity: 1; transform: scale(1) rotate(-6.44deg); }
.wordmark:hover .wordmark-icon { transform: scale(1) rotate(0deg); }
.wordmark-suffix { display: inline-block; overflow: hidden; white-space: nowrap; max-width: 160px; margin-left: 4px; opacity: 1; color: var(--mint-accent); font-style: normal; transform: translateX(0); transition: max-width 260ms ease, margin-left 260ms ease, opacity 180ms ease, transform 260ms ease; }
.site-header.is-scrolled .wordmark-suffix { max-width: 0; margin-left: 0; opacity: 0; transform: translateX(-12px); }
.app-store-mark { display: grid; place-items: center; width: 40px; height: 40px; color: var(--mint-accent); background: var(--dark-bg); border-radius: 50%; box-shadow: 0 2px 3px var(--subtle-shadow); font: var(--type-icon); }
.app-store-mark__icon { grid-area: 1 / 1; width: 30px; height: 30px; fill: currentColor; transition: opacity 120ms ease, transform 120ms ease; }
.app-store-mark__icon--hover { opacity: 0; transform: scale(0.7); }
.header-download:hover .app-store-mark__icon--default { opacity: 0; transform: scale(0.7); }
.header-download:hover .app-store-mark__icon--hover { opacity: 1; transform: scale(1); }

.page-shell { position: relative; z-index: 1; width: 800px; margin: 56px auto 0; padding-top: 7px; display: flex; flex-direction: column; align-items: center; gap: 180px; }
.hero { width: 100%; display: flex; flex-direction: column; align-items: center; gap: 28px; }
.hero-copy { display: flex; flex-direction: column; align-items: center; gap: 32px; text-align: center; }
.hero h1 { margin: 0; align-self: stretch; color: var(--title); font: var(--type-display); letter-spacing: var(--tracking-display); white-space: normal; }
.hero-copy p { margin: 0; width: 660px; color: var(--dark-bg-alt); font: var(--type-subtitle); letter-spacing: -0.02em; text-align: center; }
.hero-glyph { display: block; width: 128px; height: 128px; margin-bottom: -8px; object-fit: cover; border-radius: 28px; box-shadow: 0 12px 24px var(--subtle-shadow); transform: rotate(var(--hero-icon-rotate, -6.44deg)) scale(var(--hero-icon-scale, 1)); }
.download-stack { width: 718px; margin-top: 20px; display: flex; flex-direction: column; align-items: center; gap: 32px; }
.download-buttons { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 20px; }
.download-buttons.is-stacked { align-items: stretch; }
.download-buttons.is-stacked > a { width: 100%; }
.button { display: flex; align-items: center; justify-content: center; width: auto; min-width: 211px; min-height: 60px; padding: 20px 64px; border-radius: 999px; font: var(--type-button); letter-spacing: var(--tracking-label); white-space: nowrap; transition: transform 160ms ease; }
.button:hover { transform: scale(1.02); }
.button:focus-visible, .site-header a:focus-visible, .site-footer a:focus-visible { outline: 4px solid var(--yellow-accent); outline-offset: 4px; }
.button--blue { color: var(--dark-bg-alt); background: var(--yellow-accent); box-shadow: 0 2px 16px var(--subtle-shadow); outline: 4px solid var(--button-border); }
.button--blue:hover, .button--blue:active, .button--blue:visited { color: var(--dark-bg-alt); background: var(--yellow-accent); }
.button--blue, .button--white, .button--preview { justify-content: space-between; gap: 16px; padding-left: 28px; padding-right: 20px; }
.button-arrow { width: 30px; height: 30px; flex-shrink: 0; }
.button--preview { color: var(--dark-bg-alt); background: var(--mint-accent); outline: 4px solid var(--button-border); }
.button--preview:hover, .button--preview:active, .button--preview:visited { color: var(--dark-bg-alt); background: var(--mint-accent); }
.button-icon-wrap { position: relative; width: 30px; height: 30px; flex-shrink: 0; }
.button-icon { position: absolute; inset: 0; width: 30px; height: 30px; transition: opacity 160ms ease; }
.button-icon--fill { opacity: 0; }
.button--preview:hover .button-icon--default { opacity: 0; }
.button--preview:hover .button-icon--fill { opacity: 1; }
.price-line { display: flex; gap: 8px; margin: 0; padding: 3px 6px; color: var(--primary); font: var(--type-price); letter-spacing: var(--tracking-label); }
.price-line__sep, .price-line__sub { color: var(--ice-accent); font-style: normal; white-space: pre; }
.price-line.is-wrapped .price-line__sep { display: none; }
.price-line.is-wrapped .price-line__sub { margin-top: 4px; }
.app-window { width: 752px; height: 490px; margin-top: 36px; overflow: hidden; border-radius: 12px; background: var(--secondary); box-shadow: 0 0 48px var(--subtle-shadow); }
.app-window__bar { height: 30px; display: flex; justify-content: flex-end; background: var(--tertiary); }
.app-window__bar img { width: 547px; max-width: 100%; height: 30px; object-fit: cover; object-position: right center; }

.benefit-grid { width: 100%; margin-top: 68px; display: grid; grid-template-columns: repeat(6, 1fr); }
.benefit { min-height: 214px; padding: 0 16px 32px; display: flex; flex-direction: column; align-items: center; gap: 15px; text-align: center; }
.benefit { grid-column: span 2; }
.benefit:nth-child(1), .benefit:nth-child(2) { border-right: 1px solid var(--quarternary); }
.check { display: grid; place-items: center; width: 64px; height: 64px; flex: none; border-radius: 50%; color: var(--secondary); background: var(--tertiary); font: var(--type-check); -webkit-text-stroke: 1px var(--primary); }
.check, .mini-check { position: relative; font-size: 0; }
.check::after, .mini-check::after { content: ""; position: absolute; left: 50%; top: 50%; display: block; background: currentColor; transform: translate(-50%, -50%); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12.5 9.25 18 20 6.5' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12.5 9.25 18 20 6.5' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.check::after { width: 32px; height: 32px; }
.check--icon::after { content: none; }
.check--icon svg { width: 32px; height: 32px; }
.mini-check::after { width: 15px; height: 15px; }
.benefit h3, .feature-card h3, .legal-card h2, .article-callout > strong { letter-spacing: -0.02em; }
.benefit h3 { width: 100%; margin: 0; color: var(--primary); font: var(--type-card-title); }
.benefit p { width: 100%; max-width: 200px; margin: 0; color: var(--secondary); font: var(--type-benefit-body); letter-spacing: var(--tracking-label); }

.product-section, .reviews-section { width: 100%; display: flex; flex-direction: column; align-items: center; gap: 72px; }
.section-heading { width: 718px; display: flex; flex-direction: column; align-items: center; gap: 32px; text-align: center; }
.section-heading--wide { width: 800px; gap: 0; }
.section-heading--wide h2 { white-space: normal; }
.section-heading h2 { margin: 0; color: var(--primary); font: var(--type-display); letter-spacing: var(--tracking-display); text-shadow: 0 2px 24px var(--subtle-shadow); }
.section-heading--wide .recognition { margin-bottom: 32px; }
.section-heading--wide h2 { margin-bottom: 48px; }
.recognition { margin: 0; display: flex; align-items: center; gap: 0; color: var(--mint-accent); font: var(--type-eyebrow); letter-spacing: var(--tracking-label); }
.laurel { width: 24px; height: 18px; flex: none; overflow: visible; fill: currentColor; }
.laurel--right { width: 26px; }
.recognition-text .wave-char { display: inline-block; }
.recognition-text.wave-play .wave-char { animation: wave-char 640ms ease-in-out; animation-delay: var(--wave-delay); }
@keyframes wave-char {
  0%, 100% { transform: translateY(0); }
  40% { transform: translateY(-6px); }
}
.section-copy { width: 740px; margin: 0; color: var(--secondary); font: var(--type-body-lg); letter-spacing: var(--tracking-tight); }
.section-copy-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; width: 800px; text-align: left; }
.section-copy-columns .section-copy { width: auto; }
.feature-grid { width: 100%; display: flex; flex-wrap: wrap; justify-content: center; gap: 32px 24px; }
.feature-card { min-height: 179px; padding: 24px; border: 6px solid var(--mint-accent); border-radius: 18px; background: var(--mint-accent); box-shadow: 0 .75px 3.76px var(--shadow); outline: 1.5px solid var(--thread); outline-offset: -7.5px; transition: transform 220ms ease; }
.feature-card:hover { transform: scale(1.01); }
.feature-card:nth-child(1) { width: 426px; }
.feature-card:nth-child(2) { width: 350px; }
.feature-card:nth-child(n+3) { width: 352px; }
.mini-check { display: grid; place-items: center; width: 28px; height: 28px; margin-bottom: 15px; color: var(--quarternary); background: var(--secondary); border-radius: 50%; font: var(--type-mini-check); }
.mini-check { font-size: 0; }
.feature-card h3 { margin: 0 0 8px; color: var(--dark-bg); font: var(--type-card-title); }
.feature-card p { width: 292px; margin: 0; color: var(--quarternary); font: var(--type-body); letter-spacing: -0.02em; }

.eyebrow { margin: 0; color: var(--ice-accent); font: var(--type-eyebrow); letter-spacing: var(--tracking-label); }
.reviews-section .section-heading { gap: 0; }
.reviews-section .eyebrow { margin-bottom: 32px; }
.reviews-section .section-heading h2 { margin-bottom: 48px; }
.section-copy--narrow { width: 443px; }
.review-grid { width: 100%; columns: 2; column-gap: 32px; }
.review { display: block; break-inside: avoid; margin-bottom: 32px; padding: 24px; color: var(--title); background: var(--secondary); border: 6px solid var(--secondary); border-radius: 18px; box-shadow: 0 .75px 3.76px var(--subtle-shadow); outline: 1.5px solid var(--thread); outline-offset: -7.5px; }
.stars { display: flex; align-items: center; gap: 2px; color: var(--yellow-accent); }
.star { width: 16px; height: 16px; fill: currentColor; }
.review h3 { margin: 4px 0 8px; color: var(--dark-bg-alt); opacity: .85; font: var(--type-review); text-transform: uppercase; }
.review p { margin: 0; font: var(--type-body); letter-spacing: -0.02em; }
.review p.review-author { margin-top: 12px; color: var(--dark-bg); font: var(--type-small); font-style: normal; }

.rule-section { width: 100%; min-height: 400px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 48px; }
.section-heading--rule { gap: 0; }
.section-heading--rule .eyebrow { margin-bottom: 32px; }
.section-heading--rule h2 { font: var(--type-rule); letter-spacing: var(--tracking-heading); }
.button--ice { min-height: 68px; color: var(--dark-bg-alt); background: var(--ice-accent); border: 4px solid var(--tertiary); box-shadow: 0 2px 16px var(--subtle-shadow); }

.footer-group { width: 100%; display: flex; flex-direction: column; gap: 48px; }
.about-section { width: 100%; display: flex; }
.about-text { width: 100%; margin: 0; color: var(--secondary); font: 400 18px/1.5 var(--font-sans); letter-spacing: var(--tracking-heading); text-align: left; }
.about-text a { color: var(--ice-accent); text-decoration: underline; text-underline-offset: 3px; }

.closing-group { width: 100%; display: flex; flex-direction: column; gap: 48px; }
.download-section { width: 100%; display: flex; flex-direction: column; gap: 48px; }
.download-card { width: 800px; height: 522px; padding: 0 35px 64px; overflow: hidden; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; border-radius: 18px; background: var(--mint-accent); }
.laptop-crop { width: 479px; height: 157px; display: flex; align-items: flex-end; justify-content: center; overflow: visible; }
.laptop-crop img { width: 479px; height: 314px; object-fit: cover; flex: none; }
.download-card__content { width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 48px; text-align: center; }
.download-card__content > div { width: 100%; display: flex; flex-direction: column; align-items: center; gap: 24px; }
.download-card h2 { margin: 0; color: var(--tertiary); font: var(--type-display); letter-spacing: var(--tracking-display); }
.price-line--dark { width: 100%; justify-content: center; text-align: center; color: var(--dark-bg-alt); }
.price-line--dark .price-line__sep, .price-line--dark .price-line__sub { color: var(--quarternary); }
.button--white { color: var(--title); background: var(--secondary); box-shadow: 0 2px 16px var(--subtle-shadow); outline: 4px solid var(--button-border); }
.site-footer { width: 100%; min-height: 56px; display: flex; align-items: stretch; justify-content: space-between; }
.site-footer--home { padding-bottom: 32px; }
.site-footer > div { display: flex; flex-direction: column; justify-content: space-between; gap: 24px; }
.site-footer nav { display: flex; gap: 24px; }
.site-footer a { font: var(--type-footer-link); letter-spacing: var(--tracking-heading); }
.site-footer nav a, .site-footer .contact { font-size: 18px; transition: color 220ms ease-out; }
.site-footer nav a:hover, .contact:hover { color: var(--ice-accent); }
.site-footer p { margin: 0; display: flex; gap: 16px; font: var(--type-footer-meta); letter-spacing: var(--tracking-heading); }
.site-footer p.copyright { display: block; }
.site-footer p a { font: inherit; }
.footer-right { align-items: flex-end; }
.site-footer p a:hover { text-decoration: underline; text-underline-offset: 3px; }

.page-shell--legal { gap: 80px; padding-bottom: 32px; }
.legal-section { width: 100%; display: flex; justify-content: center; }
.legal-card { width: 100%; max-width: 800px; padding: 56px; color: var(--dark-bg-alt); background: var(--secondary); border-radius: 18px; box-shadow: 0 .75px 3.76px var(--shadow); outline: 1.5px solid var(--thread); outline-offset: -7.5px; }
.legal-card h1 { margin: 0 0 20px; color: var(--title); font: var(--type-display); font-size: 48px; letter-spacing: var(--tracking-display); }
.legal-card p.legal-updated { margin: 0 0 24px; color: var(--quarternary); font: var(--type-body); }
.legal-card h2 { margin: 40px 0 12px; color: var(--title); font: var(--type-card-title); }
.legal-card p { margin: 0 0 16px; color: var(--dark-bg-alt); font: var(--type-body-lg); font-size: 17px; line-height: 1.6; letter-spacing: normal; }
.legal-card a { color: var(--dark-bg); text-decoration: underline; text-underline-offset: 3px; }
.legal-card a:hover { color: var(--quarternary); }

/* Editorial pages */
.page-shell--article { gap: 80px; padding-bottom: 32px; }
.article-card { width: 100%; color: var(--dark-bg-alt); background: var(--secondary); border-radius: 18px; box-shadow: 0 .75px 3.76px var(--shadow); outline: 1.5px solid var(--thread); outline-offset: -7.5px; overflow: hidden; }
.article-hero { padding: 64px 64px 48px; background: var(--mint-accent); }
.article-hero .eyebrow { margin-bottom: 24px; color: var(--quarternary); }
.article-hero h1 { margin: 0; max-width: 680px; color: var(--title); font: var(--type-display); font-size: 64px; letter-spacing: var(--tracking-display); }
.article-deck { margin: 28px 0 0; max-width: 650px; color: var(--dark-bg-alt); font: var(--type-body-lg); font-size: 22px; line-height: 1.5; letter-spacing: -0.02em; }
.article-byline { margin: 20px 0 0; color: var(--quarternary); font: var(--type-small); letter-spacing: normal; }
.article-byline a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.article-byline a:hover { color: var(--title); }
.article-copy { padding: 56px 64px 24px; }
.article-copy h2 { margin: 52px 0 16px; color: var(--title); font: 700 32px/1.15 var(--font-display); letter-spacing: -0.025em; word-spacing: .08em; }
.article-copy h2:first-child { margin-top: 0; }
.article-copy p, .article-copy li { color: var(--dark-bg-alt); font: 18px/1.65 var(--font-sans); }
.article-copy p { margin: 0 0 20px; }
.article-copy a { color: var(--dark-bg); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.article-copy a:hover { color: var(--quarternary); }
.article-download { width: 100%; height: auto; padding: 48px 64px 64px; border-radius: 0; }
.article-list { margin: 0; padding-left: 24px; }
.article-list li { margin-bottom: 16px; padding-left: 6px; }
.article-callout { margin: 36px 0; padding: 28px 32px; border-radius: 14px; color: var(--dark-bg-alt); background: var(--ice-accent); border-left: 6px solid var(--tertiary); }
.article-callout > strong { display: block; margin-bottom: 10px; color: var(--title); font: var(--type-card-title); }
.article-callout p { margin: 0; }
.article-sources { margin-top: 56px; padding-top: 32px; border-top: 1px solid var(--thread); }
.article-sources ul { margin: 0 0 24px; padding-left: 22px; }
.article-sources li { margin-bottom: 10px; font-size: 16px; }
.article-sources p.source-note { color: var(--quarternary); font-size: 14px; line-height: 1.55; }
.article-callout--no-border { border-left: none; }

@media (max-width: 900px) {
  body::before { height: 1350px; }
  .site-header { padding: 20px 24px 12px; font: 600 16px/1.01 var(--font-sans); }
  .app-store-mark { width: 32px; height: 32px; font-size: 16px; }
  .site-header.is-compact .wordmark-icon { width: 32px; height: 32px; }
  .page-shell { width: min(100% - 40px, 800px); margin-top: 56px; gap: 128px; }
  .legal-card { padding: 32px 24px; }
  .legal-card h1 { font-size: 36px; }
  .article-hero { padding: 48px 40px 40px; }
  .article-hero h1 { font-size: clamp(46px, 8vw, 64px); }
  .article-copy { padding: 48px 40px 20px; }
  .hero h1 { font-size: clamp(50px, 11vw, 76px); }
  .hero h1, .section-heading--wide h2 { white-space: normal; }
  .section-heading, .section-heading--wide { width: 100%; }
  .section-heading h2, .download-card h2 { font-size: clamp(48px, 10vw, 72px); }
  .hero-copy p, .section-copy, .section-copy--narrow, .section-heading--rule .section-copy { width: min(100%, 640px); }
  .section-copy-columns { grid-template-columns: 1fr; width: 100%; text-align: center; gap: 24px; }
  .app-window, .download-stack { width: min(100%, 752px); }
  .benefit-grid { grid-template-columns: repeat(6, 1fr); }
  .feature-grid { display: grid; grid-template-columns: 1fr 1fr; }
  .feature-card, .feature-card:nth-child(1), .feature-card:nth-child(2), .feature-card:nth-child(n+3) { width: auto; }
  .feature-card p { width: auto; }
  .download-card { width: 100%; }
}

@media (max-width: 620px) {
  .app-store-mark__icon--default { opacity: 0; transform: scale(0.7); }
  .app-store-mark__icon--hover { opacity: 1; transform: scale(1); }
  .page-shell { width: min(100% - 32px, 800px); gap: 140px; }
  .hero { gap: 24px; }
  .download-stack { margin-top: 24px; }
  .hero h1 { font-size: clamp(42px, 13vw, 62px); }
  .hero-copy p { font-size: 18px; line-height: 1.25; }
  .desktop-break { display: none; }
  .download-stack { gap: 20px; }
  .price-line { align-items: center; flex-wrap: wrap; justify-content: center; }
  .app-window { height: 280px; }
  .benefit-grid { grid-template-columns: 1fr 1fr; width: 100vw; align-self: flex-start; margin-left: 50%; transform: translateX(-50%); }
  .benefit-grid { margin-top: 72px; }
  .benefit { grid-column: auto; }
  .benefit:last-child { grid-column: 1 / -1; }
  .benefit { min-height: 208px; padding: 24px 16px; border-bottom: 1px solid var(--quarternary); }
  .benefit:nth-child(1) { border-right: 1px solid var(--quarternary); }
  .benefit p { width: auto; }
  .section-heading h2, .download-card h2 { font-size: clamp(42px, 12vw, 62px); }
  .section-heading--rule h2 { font-size: 34px; line-height: 1.15; }
  .section-heading--rule h2 br { display: none; }
  .section-copy { font-size: 17px; }
  .feature-grid { grid-template-columns: 1fr; gap: 20px; }
  .review-grid { columns: 1; }
  .review { margin-bottom: 20px; }
  .download-card { height: auto; min-height: 500px; padding: 140px 20px 48px; }
  .laptop-crop { width: min(479px, 120vw); }
  .laptop-crop img { width: min(479px, 120vw); height: auto; }
  .site-footer { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: center; text-align: center; row-gap: 20px; column-gap: 24px; }
  .site-footer > div { display: contents; }
  .site-footer nav, .site-footer p { justify-content: center; }
  .site-footer nav { order: 1; }
  .contact { order: 2; }
  .site-footer p.copyright { order: 3; flex-basis: 100%; }
  .footer-right p { order: 4; gap: 16px; }
  .page-shell--article { gap: 72px; }
  .article-hero { padding: 40px 24px 32px; }
  .article-hero h1 { font-size: clamp(40px, 12vw, 54px); }
  .article-deck { font-size: 19px; }
  .article-copy { padding: 40px 24px 12px; }
  .article-copy h2 { font-size: 28px; }
  .article-copy p, .article-copy li { font-size: 17px; }
  .article-callout { padding: 24px; }
  .site-footer nav { flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .button { transition: none; } .recognition-text.wave-play .wave-char { animation: none; } }
