:root { color-scheme: light; --ink:#233239; --muted:#556166; --paper:#fffefa; --surface:#d5e4c9; --marker:#8fa976; --line:#e3e5de; font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif; color:var(--ink); background:var(--paper); font-synthesis:none; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:calc(var(--header-height,88px) + 1.5rem); }
body { margin:0; font-size:1rem; line-height:1.6; overflow-wrap:anywhere; }
a { color:inherit; text-underline-offset:.2em; }
button, summary { -webkit-tap-highlight-color:transparent; }
button,select { font:inherit; color:inherit; cursor:pointer; }
img { max-width:100%; height:auto; }
[hidden] { display:none!important; }
:focus-visible { outline:3px solid #1762a1; outline-offset:5px; }
.wrap { width:min(1320px,calc(100% - 80px)); margin-inline:auto; }
.site-header { position:sticky; top:0; z-index:20; background:var(--paper); border-bottom:1px solid var(--line); margin-bottom:1.25rem; }
.header-inner { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1.5rem; min-height:88px; padding-block:.75rem; }
.header-controls { display:contents; }
.compact-menu-toggle { display:none; }
.menu-cross,.compact-menu-toggle[aria-expanded=true] .menu-bars { display:none; }
.compact-menu-toggle[aria-expanded=true] .menu-cross { display:block; }
.wordmark { display:inline-flex; align-items:center; gap:.5rem; text-decoration:none; font-size:1.75rem; font-weight:700; letter-spacing:normal; direction:ltr; }
.wordmark img { flex:none; }
.main-nav { display:flex; flex-wrap:wrap; gap:1.8rem; margin-inline:auto; font-size:.94rem; }
.main-nav a { text-decoration:none; padding:.5rem 0; }
.main-nav a:hover,.main-nav a[aria-current] { text-decoration:underline; }
.header-store-links { display:flex; flex-wrap:wrap; gap:.5rem; }
.header-store-links .button { min-height:44px; }
/* Keep both labels in the same grid cell so the wider one reserves the space. */
.js .header-store-links { display:grid; grid-template-columns:minmax(0,max-content); }
.js .header-store-links>[data-store] { grid-area:1/1; }
summary { cursor:pointer; list-style:none; display:flex; align-items:center; gap:.65rem; font-size:.9rem; min-height:44px; }
summary::-webkit-details-marker { display:none; }
.chevron { width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin-top:-4px; flex:none; }
details { position:relative; }
.language-menu>nav { position:absolute; inset-inline-end:0; top:calc(100% + 10px); background:var(--paper); padding:.65rem; border:1px solid var(--line); border-radius:16px; box-shadow:0 12px 30px #23323918; min-width:160px; }
.language-menu nav { max-height:60vh; overflow:auto; }
.language-menu nav a { display:block; padding:.5rem .7rem; text-decoration:none; border-radius:8px; }
.language-menu nav a:hover,.language-menu nav a[aria-current] { background:#e9eee4; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:.6rem; min-height:48px; padding:.7rem 1.2rem; border:0; border-radius:100px; text-decoration:none; font-size:1rem; font-weight:550; }
.button-dark { background:var(--ink); color:white; }
.button-small { min-height:42px; padding:.6rem 1rem; font-size:.875rem; }
.button:hover { background:#3c4d51; color:white; }
.skip-link { position:absolute; top:-80px; inset-inline-start:1rem; padding:1rem; background:white; z-index:30; }
.skip-link:focus { top:10px; }
.language-hint { display:flex; align-items:center; gap:1rem; background:#edf1e8; border-radius:12px; padding:.6rem 1rem; font-size:.9rem; margin-bottom:1rem; }
.language-hint button { margin-inline-start:auto; background:transparent; border:0; font-size:1.5rem; min-width:40px; }
.eyebrow { font-size:.8rem; font-weight:600; letter-spacing:.09em; text-transform:uppercase; margin:0 0 1.5rem; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-weight:590; line-height:1.12; letter-spacing:-.045em; text-wrap:balance; }
h1 { font-size:clamp(3rem,5vw,4.6rem); }
h2 { font-size:clamp(2.2rem,4vw,3.5rem); }
h3 { font-size:1.65rem; }
mark { background:linear-gradient(to bottom,transparent 65%,var(--marker) 65%,var(--marker) 91%,transparent 91%); color:inherit; padding:0 .02em .04em; -webkit-box-decoration-break:clone; box-decoration-break:clone; }
.hero { background:var(--surface); border-radius:30px; display:grid; grid-template-columns:minmax(0,.94fr) minmax(0,1.15fr); align-items:center; gap:2.7rem; padding:4rem 3.5rem; min-height:655px; overflow:hidden; }
.hero-copy { min-width:0; }
.hero .eyebrow { margin-bottom:2rem; }
.hero h1 { font-size:clamp(2.25rem,3.7vw,3.3rem); margin-bottom:1.5rem; }
.hero-body { font-size:1.08rem; max-width:28em; line-height:1.65; margin-bottom:2rem; }
.hero-visual { min-width:0; text-align:center; }
.platform-picker { display:none; position:relative; max-width:100%; }
.js .platform-picker { display:block; }
.platform-options { display:flex; flex-wrap:wrap; justify-content:center; gap:4px; padding:3px; border:1px solid #23323921; background:#edf1e8; border-radius:100px; }
.platform-picker button { padding:.45rem 1rem; min-height:44px; border:0; background:none; border-radius:100px; font-size:.875rem; }
.js[data-platform=mac] [data-platform-option=mac],.js[data-platform=iphone] [data-platform-option=iphone],.js[data-platform=ipad] [data-platform-option=ipad] { background:var(--ink); color:white; }
.platform-dropdown { display:none; position:relative; }
.platform-dropdown select { appearance:none; -webkit-appearance:none; width:5.75rem; min-height:44px; padding-block:.5rem; padding-inline:.75rem 1.8rem; border:1px solid #23323921; border-radius:100px; background:#edf1e8; font-size:1rem; }
.platform-dropdown .chevron { position:absolute; inset-inline-end:.75rem; top:50%; pointer-events:none; }
.device-stage { display:flex; justify-content:center; align-items:center; min-width:0; width:100%; aspect-ratio:var(--stage-ratio); container-type:size; filter:drop-shadow(0 16px 15px #23323920); }
/* Fit the configured crop and frame inside a platform-independent stage. */
.app-picture { --device-border:0px; --border-y:calc(2 * var(--device-border)); position:relative; display:none; flex:none; box-sizing:content-box; width:min(calc(100cqw - 2 * var(--device-border)),calc((100cqh - var(--border-y)) * var(--screen-ratio))); aspect-ratio:var(--screen-ratio); border:var(--device-border) solid #263135; overflow:hidden; }
.app-picture img { position:absolute; inset-block-start:0; inset-inline-start:0; display:block; width:100%; height:auto; transform:translateY(calc(-100% * var(--crop-top))); }
/* Fade the frame with the screenshot; the stage casts a shadow of that faded shape. */
.app-picture[data-screen=iphone] { --device-border:7px; --border-y:calc(var(--crop-edges) * var(--device-border)); border-radius:38px; -webkit-mask-image:linear-gradient(to bottom,transparent,#000 var(--fade-start,0%),#000 var(--fade-end,100%),transparent); mask-image:linear-gradient(to bottom,transparent,#000 var(--fade-start,0%),#000 var(--fade-end,100%),transparent); }
.app-picture[data-screen=ipad] { --device-border:8px; border-radius:25px; }
.app-picture[data-screen=mac] { border-radius:13px; }
.store-links { display:flex; flex-wrap:wrap; gap:.7rem; }
.store-button { display:inline-flex; align-items:center; min-height:44px; max-width:100%; border-radius:6px; text-decoration:none; }
.store-button img { display:block; height:auto; }
.store-button:hover { opacity:.85; }
/* Without JavaScript both destinations remain available. */
.js[data-platform=mac] .header-store-links [data-store=ios],.js[data-platform=iphone] .header-store-links [data-store=mac],.js[data-platform=ipad] .header-store-links [data-store=mac] { visibility:hidden; pointer-events:none; }
.intro { text-align:center; max-width:800px; padding-block:7rem 5rem; }
.intro .eyebrow { margin-bottom:1rem; }
.intro h2 { margin-bottom:1.5rem; }
.intro>p:last-child { max-width:39em; margin:0 auto; color:var(--muted); font-size:1.15rem; }
.download-section { text-align:center; border-radius:28px; background:#e8eee2; padding:5rem 2rem; margin-top:4rem; }
.download-section h2 { margin-bottom:1.5rem; }
.download-section>p { max-width:38em; margin:0 auto 2rem; color:var(--muted); }
.download-section .store-links { justify-content:center; }
.site-footer { padding-top:4rem; padding-bottom:2rem; text-align:center; }
.footer-top { display:flex; justify-content:center; align-items:center; gap:1rem; padding-bottom:2rem; border-bottom:1px solid var(--line); }
.footer-links { display:flex; flex-wrap:wrap; justify-content:center; gap:.75rem 1.5rem; padding-top:1.7rem; }
.footer-links a { font-size:.875rem; color:var(--muted); text-decoration:none; }
.footer-links a:hover { text-decoration:underline; }
.copyright { font-size:.75rem; color:var(--muted); margin:1.5rem 0 0; }
.page-heading { max-width:1000px; text-align:center; padding-block:5rem 4rem; }
.page-heading h1 { margin-bottom:1.5rem; }
.page-heading>p:last-child { max-width:38em; margin:0 auto; color:var(--muted); font-size:1.15rem; }
.support-callout { text-align:center; padding:3.5rem 2rem; border-radius:24px; background:#e8eee2; margin-top:3rem; }
.support-callout h2 { font-size:2rem; }
.support-callout p { max-width:36em; margin:0 auto 1.5rem; }
[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3 { letter-spacing:0; }
html:lang(ar) .eyebrow,html:lang(he) .eyebrow,html:lang(th) .eyebrow { letter-spacing:normal; }
html:lang(ar) h1,html:lang(ar) h2,html:lang(ar) h3,html:lang(th) h1,html:lang(th) h2,html:lang(th) h3 { line-height:1.4; }
html:lang(ar) .testimonial blockquote p,html:lang(he) .testimonial blockquote p,html:lang(th) .testimonial blockquote p { letter-spacing:normal; }
html:lang(ja) h1,html:lang(ja) h2,html:lang(ja) h3,html:lang(zh) h1,html:lang(zh) h2,html:lang(zh) h3,html:lang(ko) h1,html:lang(ko) h2,html:lang(ko) h3 { letter-spacing:normal; line-height:1.35; }
.legal-copy { text-align:start; }
.feature-section { display:grid; grid-template-columns:1.13fr 1fr; align-items:center; gap:5rem; margin-bottom:3rem; padding:2rem 0; }
.feature-art { background:var(--surface); border-radius:25px; padding:2.75rem 2rem; min-height:390px; display:flex; align-items:center; justify-content:center; }
.feature-art>.device-stage { width:100%; }
.feature-copy { padding-inline-end:2.5rem; }
.feature-copy h2 { font-size:clamp(2.1rem,3.5vw,3.2rem); margin-bottom:1.5rem; }
.feature-copy p { color:var(--muted); margin:0; font-size:1.07rem; max-width:29em; }
.feature-documents { grid-template-columns:1fr 1.13fr; }
.feature-documents .feature-art { order:2; }
.feature-documents .feature-copy { padding-inline:2.5rem 0; }
.feature-grid-section { padding-top:3.5rem; }
.section-heading { text-align:center; margin-bottom:3rem; }
.section-heading .eyebrow { margin-bottom:1rem; }
.section-heading h2 { margin-bottom:0; }
.feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.feature-card { background:var(--surface); border-radius:24px; overflow:hidden; padding:2rem; display:flex; flex-direction:column; }
/* Reserve the tallest copy block in each row so equally sized pictures align. */
.feature-card-copy { flex:1; }
.feature-card h3 { font-size:1.8rem; line-height:1.18; margin-bottom:1rem; }
.feature-card p { color:#3b4a4e; font-size:.95rem; margin-bottom:2.25rem; }
.feature-card-art { margin-inline:-.7rem; }
.feature-card .device-stage { aspect-ratio:1; }
.feature-card .app-picture[data-screen=iphone] { --device-border:5px; border-radius:29px; }
.feature-card .app-picture[data-screen=ipad] { --device-border:5px; border-radius:14px; }
.app-picture[data-screen=iphone][data-crop-top=true] { --fade-start:10%; border-top-width:0; border-top-left-radius:0; border-top-right-radius:0; }
.app-picture[data-screen=iphone][data-crop-bottom=true] { --fade-end:90%; border-bottom-width:0; border-bottom-left-radius:0; border-bottom-right-radius:0; }
.image-note { text-align:center; color:var(--muted); font-size:.8rem; margin-top:1.5rem; }
.compatibility { padding-block:6rem 2rem; }
.compatibility-grid { display:grid; grid-template-columns:1fr 1fr; gap:6rem; max-width:1000px; margin:auto; }
.compatibility-grid article { border-top:1px solid var(--line); padding-top:2rem; }
.compatibility-heading { display:contents; }
.compatibility h3 { font-size:1.7rem; margin-bottom:1rem; }
.compatibility article p { color:var(--muted); }
.section-symbol { display:block; font-size:2rem; line-height:1; height:40px; margin-bottom:1.5rem; }
.privacy-symbol { width:25px; height:27px; border:1.5px solid var(--ink); border-radius:4px 4px 12px 12px; margin-top:8px; margin-bottom:1.85rem; }
.text-link { font-size:.94rem; font-weight:550; }
.legal-page { max-width:760px; padding-block:4rem 2rem; }
.legal-heading { margin-bottom:3rem; }
.legal-heading h1 { font-size:clamp(2.25rem,5vw,3.5rem); margin-bottom:1.25rem; }
.legal-heading p { color:var(--muted); font-size:.9rem; margin:.35rem 0; }
.legal-page h2 { font-size:1.65rem; line-height:1.3; margin:2.5rem 0 1rem; }
.legal-copy h3 { font-size:1.25rem; line-height:1.4; margin:1.75rem 0 .75rem; }
.legal-copy h4 { font-size:1.05rem; margin:1.5rem 0 .5rem; }
.legal-copy p { margin:0 0 1rem; }
.legal-copy ul { padding-inline-start:1.5rem; margin:0 0 1.5rem; }
.legal-copy li { margin-bottom:.5rem; }
.legal-copy li p { margin-bottom:.5rem; }
.legal-contact { margin:1.5rem 0 0; }
.legal-contact>div { display:grid; grid-template-columns:12rem minmax(0,1fr); gap:.5rem 2rem; padding-block:.8rem; }
.legal-contact dt { color:var(--muted); }
.legal-contact dd { margin:0; }
.testimonials { padding-top:5rem; }
.intro + .testimonials { padding-top:0; margin-bottom:4rem; }
.testimonial-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.5rem; }
.testimonial { margin:0; display:flex; flex-direction:column; padding-top:1.8rem; text-align:center; }
.stars { color:#f5a623; letter-spacing:.18em; font-size:1.05rem; margin-bottom:1.1rem; }
.testimonial blockquote { display:grid; align-content:start; margin:0 0 1.7rem; flex:1; }
.testimonial blockquote p { grid-area:1/1; align-self:start; margin:0; font-size:1.28rem; line-height:1.5; letter-spacing:-.02em; }
.testimonial figcaption { display:flex; flex-direction:column; gap:.15rem; min-height:7.25rem; font-size:.8rem; }
.testimonial figcaption strong { font-weight:600; }
.testimonial figcaption>span { color:var(--muted); }
.translation-note { font-size:.8rem; }
.review-language { display:grid; }
.review-language>span { grid-area:1/1; }
/* Reserve both versions' height without exposing the inactive text to readers. */
.testimonial [data-review-original],.testimonial[data-show-original=true] [data-review-translation] { visibility:hidden; }
.testimonial[data-show-original=true] [data-review-original] { visibility:visible; }
.review-toggle { display:grid; align-self:center; min-height:44px; max-width:100%; padding:.45rem 0; border:0; background:none; font-size:.8rem; text-align:center; text-decoration:underline; text-underline-offset:.2em; }
.review-toggle>span { grid-area:1/1; }
.review-toggle:hover { color:#1762a1; }
.faq-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:5rem; max-width:1100px; }
.faq-nav { display:flex; flex-direction:column; align-self:start; position:sticky; top:calc(var(--header-height,88px) + 1.5rem); gap:1rem; }
.faq-nav a { font-size:.94rem; text-decoration:none; }
.faq-nav a:hover { text-decoration:underline; }
.faq-nav .faq-email { margin-top:1rem; padding-top:1rem; border-top:1px solid var(--line); color:var(--muted); }
.faq-category { margin-bottom:3rem; scroll-margin-top:2rem; }
.faq-category h2 { font-size:1.6rem; margin-bottom:1rem; }
.faq-item { border-bottom:1px solid var(--line); scroll-margin-top:2rem; }
.faq-item summary { display:block; position:relative; padding-block:1.3rem; padding-inline-end:5rem; font-size:1.04rem; font-weight:550; line-height:1.5; }
.faq-plus { position:absolute; inset-inline-end:0; inset-block-start:1.6rem; width:15px; height:15px; }
.faq-plus::before,.faq-plus::after { position:absolute; content:""; height:1.5px; width:13px; background:var(--ink); left:1px; top:7px; }
.faq-plus::after { transform:rotate(90deg); }
.faq-item[open] .faq-plus::after { display:none; }
.faq-answer { padding-bottom:1.5rem; color:var(--muted); }
.faq-answer p:last-child { margin-bottom:0; }
.faq-answer .store-button { color:var(--ink); }
.faq-copy { position:absolute; inset-inline-end:1.5rem; inset-block-start:.7rem; display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; border-radius:8px; background:none; color:var(--muted); }
.faq-copy:hover { background:#e9eee4; color:var(--ink); }
.faq-copy-check,.faq-copy[data-copied=true] .faq-copy-icon { display:none; }
.faq-copy[data-copied=true] .faq-copy-check { display:block; }
.faq-copy-status { position:absolute; inset-inline-end:1.5rem; inset-block-start:3.2rem; z-index:1; max-width:calc(100% - 3rem); border-radius:6px; background:var(--ink); color:white; font-size:.8rem; pointer-events:none; }
.faq-copy-status:not(:empty) { padding:.3rem .6rem; }
.faq-copy-fallback { width:100%; margin-block:1rem; padding:.6rem; font:inherit; direction:ltr; }
.press-about { display:grid; grid-template-columns:1.6fr 1fr; gap:6rem; max-width:1080px; padding-bottom:3rem; }
.press-about h2 { font-size:1.65rem; }
.press-about p { color:var(--muted); }
.press-about dl { margin:0; display:grid; grid-template-columns:1fr 1.4fr; gap:.65rem 1rem; align-content:start; font-size:.9rem; }
.press-about dt { color:var(--muted); }
.press-about dd { margin:0; }
.press-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.4rem; }
.press-card { border:1px solid var(--line); border-radius:24px; overflow:hidden; display:flex; flex-direction:column; }
.press-art { height:255px; background:#cfdee9; padding:2rem; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.press-card:nth-child(2) .press-art { background:#edcfc8; }
.press-art img { width:100%; filter:drop-shadow(0 10px 10px #23323920); }
.press-art .press-screen-iphone { width:115px; border:4px solid var(--ink); border-radius:22px; }
.press-card-copy { padding:1.75rem; display:flex; flex-direction:column; flex:1; align-items:flex-start; }
.press-card h2 { font-size:1.55rem; }
.press-card p { color:var(--muted); font-size:.94rem; flex:1; }
.file-size { font-size:.8rem; color:var(--muted); margin-top:.6rem; }
.brand-art { background:#e4dcd0; flex-wrap:wrap; gap:1rem; }
.brand-art img { width:90px; }
.brand-art .ios-brand-icon { border-radius:20px; }
@media(max-width:1100px) {
  .wrap { width:calc(100% - 48px); }
  .hero { padding:3rem 2.5rem; gap:2rem; }
  .main-nav { gap:1.1rem; }
  .header-inner { column-gap:1rem; }
  .platform-picker button { padding-inline:.75rem; }
  .hero .store-links { gap:.5rem; }
  .feature-section { gap:3rem; }
  .feature-art { min-height:310px; padding:2rem 1.5rem; }
  .feature-copy { padding-inline-end:1rem; }
  .feature-documents .feature-copy { padding-inline-start:1rem; }
  .feature-card { padding:1.6rem; }
  .feature-card h3 { font-size:1.6rem; }
  .faq-layout { gap:2.5rem; grid-template-columns:190px minmax(0,1fr); }
  .press-about { gap:3rem; }
  .press-card-copy { padding:1.3rem; }
  .press-card h2 { font-size:1.4rem; }
  .press-card .button { font-size:.9rem; }
}
@media(min-width:761px) {
  .header-controls>.language-menu { margin-inline:.5rem; }
}
@media(max-width:760px) {
  .wrap { width:calc(100% - 32px); }
  .header-inner { position:relative; min-height:0; column-gap:.75rem; row-gap:.25rem; padding-block:.5rem; }
  .wordmark { font-size:1.4rem; }
  .wordmark img { width:30px; height:30px; }
  .header-inner>.wordmark { min-height:44px; }
  .main-nav { flex-wrap:nowrap; gap:1rem; font-size:.875rem; margin-inline:auto; }
  .main-nav a { display:flex; align-items:center; min-height:44px; }
  .js .compact-menu-toggle { display:flex; align-items:center; justify-content:center; flex:none; width:44px; min-height:44px; padding:.5rem; border:0; border-radius:10px; background:none; }
  .compact-menu-toggle:hover,.compact-menu-toggle[aria-expanded=true] { background:#edf1e8; }
  .js .header-controls { display:none; position:absolute; top:calc(100% + .5rem); inset-inline:0; padding:1rem; gap:.75rem; background:var(--paper); border:1px solid var(--line); border-radius:18px; box-shadow:0 12px 30px #23323920; max-height:calc(100dvh - var(--header-height,61px) - 1rem); overflow:auto; }
  .js .site-header[data-menu-open=true] .header-controls { display:grid; }
  .platform-options { display:none; }
  .platform-dropdown { display:block; }
  .platform-dropdown select { width:100%; }
  .language-menu summary { justify-content:space-between; padding-inline:.75rem; font-size:1rem; }
  .language-menu>nav { position:static; min-width:0; max-height:35vh; margin-top:.25rem; box-shadow:none; }
  .js .header-store-links { grid-template-columns:minmax(0,1fr); }
  .button-small { font-size:.8rem; padding:.45rem .8rem; }
  .hero { grid-template-columns:minmax(0,1fr); padding:2.5rem 1.5rem 2rem; gap:2.5rem; border-radius:22px; min-height:0; }
  .hero-copy { text-align:center; }
  .hero h1 { font-size:clamp(2.25rem,8vw,3.5rem); }
  .hero .eyebrow { margin-bottom:1.5rem; }
  .hero-body { max-width:34em; margin-inline:auto; font-size:1rem; }
  .store-links { justify-content:center; }
  .hero .store-links { gap:.5rem; }
  .js .store-links { display:grid; grid-template-columns:minmax(0,max-content); }
  .js .store-links>[data-store] { grid-area:1/1; justify-self:center; }
  .js[data-platform=mac] .store-links [data-store=ios],.js[data-platform=iphone] .store-links [data-store=mac],.js[data-platform=ipad] .store-links [data-store=mac] { visibility:hidden; pointer-events:none; }
  .hero-visual { width:100%; max-width:620px; margin:auto; }
  .device-stage,.feature-card .device-stage { container-type:normal; aspect-ratio:auto; height:auto; }
  .app-picture { width:min(calc(100% - 2 * var(--device-border)),calc((460px - var(--border-y)) * var(--screen-ratio))); }
  .intro { padding-block:4rem 3rem; padding-inline:1rem; }
  .intro>p:last-child { font-size:1.05rem; }
  .eyebrow { font-size:.75rem; }
  .download-section { padding:3.5rem 1.5rem; }
  .footer-top { flex-direction:column; align-items:center; }
  .footer-links { gap:1rem 1.2rem; }
  .footer-links a { font-size:.875rem; }
  .page-heading { padding-block:3rem; }
  .page-heading h1 { font-size:clamp(2.5rem,9vw,4rem); }
  .language-hint { flex-wrap:wrap; gap:.4rem 1rem; padding:.6rem; }
  .language-hint button { align-self:flex-start; }
  .feature-section,.feature-documents { grid-template-columns:1fr; gap:1.8rem; padding:1rem 0; margin-bottom:2.2rem; }
  .feature-art,.feature-documents .feature-art { order:2; min-height:0; padding:2.25rem 1.5rem; }
  .feature-copy,.feature-documents .feature-copy { padding-inline:1rem; text-align:center; }
  .feature-copy p { font-size:1rem; max-width:none; }
  .feature-copy h2 { font-size:2.3rem; margin-bottom:1rem; }
  .feature-grid-section { padding-top:2rem; }
  .feature-grid { grid-template-columns:1fr; gap:1.2rem; }
  .feature-card { padding:2rem 1.5rem; }
  .feature-card-copy { text-align:center; }
  .feature-card h3 { font-size:1.85rem; }
  .feature-card p { font-size:1rem; }
  .feature-card-art { margin-inline:0; }
  .section-heading { margin-bottom:2rem; padding-inline:.75rem; }
  .compatibility { padding-top:4rem; }
  .compatibility-grid { grid-template-columns:1fr; gap:2rem; padding-inline:1rem; }
  .compatibility-grid article { text-align:center; }
  .compatibility-heading { display:flex; flex-direction:column; align-items:center; gap:1rem; margin-bottom:1rem; }
  .compatibility-heading h3 { min-width:0; margin:0; }
  .compatibility-heading .section-symbol { flex:none; margin:0; }
  .compatibility-heading .section-symbol:not(.privacy-symbol) { height:auto; }
  .testimonials { padding-top:3rem; }
  .legal-page { padding:2rem .75rem 1rem; }
  .legal-contact>div { grid-template-columns:minmax(0,1fr); gap:.2rem; }
  .intro + .testimonials { margin-bottom:3rem; }
  .testimonial-grid { grid-template-columns:1fr; gap:2.2rem; padding-inline:1rem; }
  .testimonial blockquote { margin-bottom:1rem; }
  .testimonial blockquote p { margin-bottom:0; font-size:1.3rem; }
  .testimonial figcaption { min-height:0; }
  .faq-layout { grid-template-columns:1fr; gap:2rem; }
  .faq-nav { position:static; flex-direction:row; flex-wrap:wrap; justify-content:center; text-align:center; gap:.7rem 1.4rem; padding-bottom:1.5rem; border-bottom:1px solid var(--line); }
  .faq-nav .faq-email { padding:0; margin:0; border:0; }
  .faq-content { padding-inline:.5rem; }
  .faq-item summary { font-size:1rem; }
  .press-about { grid-template-columns:1fr; gap:1.2rem; padding-inline:1rem; }
  .press-grid { grid-template-columns:1fr; }
  .press-art { height:260px; }
  .press-art .press-screen-mac { max-width:450px; }
  .press-card-copy { padding:1.75rem; }
  .press-card h2 { font-size:1.6rem; }
}
@media(max-width:380px) {
  .header-inner { column-gap:.25rem; }
  .header-inner .wordmark { font-size:1.2rem; gap:.375rem; }
  .header-inner .wordmark img { width:24px; height:24px; }
  .main-nav { gap:.5rem; font-size:.8125rem; }
  .hero { padding-inline:1.25rem; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
html:not(.js) .app-picture[data-screen=mac] { display:block; }
@media(max-width:1050px) { html:not(.js) .app-picture[data-screen=mac] { display:none; } html:not(.js) .app-picture[data-screen=ipad] { display:block; } }
@media(max-width:600px) { html:not(.js) .app-picture[data-screen=ipad] { display:none; } html:not(.js) .app-picture[data-screen=iphone] { display:block; } }

/* Each device retains its own image and frame; reveal them in one paint. */
.js[data-platform=mac] .app-picture[data-screen=mac],.js[data-platform=iphone] .app-picture[data-screen=iphone],.js[data-platform=ipad] .app-picture[data-screen=ipad] { display:block; }
.turbo-progress-bar { height:3px; background:var(--marker); }
html[aria-busy=true] { scroll-behavior:auto; }
#main:focus { outline:none; }
.platform-picker[data-loading]::after { content:""; position:absolute; inset-inline:15%; bottom:-5px; height:2px; background:var(--marker); animation:platform-loading 1s ease-in-out infinite alternate; }
@keyframes platform-loading { from { opacity:.3; } to { opacity:1; } }
@media(prefers-reduced-motion:reduce) { .platform-picker[data-loading]::after { animation:none; } .turbo-progress-bar { transition:none; } }
