/* Hallmark checked 2026-10-27; genre: modern-minimal; theme: brand; built: the project; redesign: polish; copy: verbatim for pricing disclosures and technical documentation. */
/* Hallmark · waive 49b · guide contents, related workflow links and footer names wrap to at most two lines in the render report · preserve descriptive navigation instead of truncating real workflow phrases on small screens. */
/* GPUI Design: content hierarchy, shared alignment spines and restrained surfaces.
   Marketing headings are larger than desktop UI; controls share product tokens. */
body { background:var(--paper); }
.nav { min-height:4.5rem; padding:var(--space-4) var(--page-inset); gap:var(--space-6); }
.brand { gap:var(--space-2); letter-spacing:-.035em; }
.brand-icon { display:block; flex:none; width:2.25rem; height:2.25rem; }
.mini-icon { display:block; flex:none; width:1.5rem; height:1.5rem; }
.nav nav { gap:var(--space-1); }
.nav nav a,.account-link { padding:var(--space-2) var(--space-3); border-radius:var(--control-radius); }
.nav nav a:hover,.account-link:hover { background:var(--surface-muted); color:var(--ink); }
.nav nav a[aria-current=page] { background:var(--primary-soft); color:var(--primary); }
.breadcrumbs { padding:var(--space-5) var(--page-inset) 0; align-items:center; }
.breadcrumbs a { padding-block:var(--space-1); text-decoration:none; }
.breadcrumbs a:hover { text-decoration:underline; }
.page-intro { max-width:64rem; padding:var(--space-8) var(--page-inset) var(--space-8); }
.page-intro h1 { font-size:clamp(2.25rem,4vw,3.25rem); line-height:1.12; letter-spacing:-.04em; max-width:20ch; margin-bottom:var(--space-5); }
.page-intro .lead { font-size:1.0625rem; line-height:1.75; max-width:48rem; margin-bottom:0; }
.eyebrow { text-transform:none; letter-spacing:.015em; font-size:.8125rem; font-weight:600; }
.section-heading { gap:var(--space-8); margin-bottom:var(--space-8); }
.section-heading h2,.section>h2,.faq-section h2 { font-size:clamp(1.75rem,3vw,2.25rem); line-height:1.2; letter-spacing:-.035em; }
.hero { align-items:center; padding-block:var(--space-12); }
.hero h1 { font-size:clamp(2.75rem,4.5vw,4rem); }
.brand { color:var(--brand-ink); }
.hero .lead { font-size:1.0625rem; line-height:1.75; }
.hero-visual { min-width:0; }
.hero-actions { gap:var(--space-3); }
.button { padding:var(--space-2) var(--space-4); font-size:.875rem; line-height:1.5; font-weight:600; box-shadow:none; }
.button:active { transform:translateY(1px); }
.button:disabled { transform:none; }
.principles { padding-block:var(--space-5); gap:var(--space-6); }
.workflow-grid { gap:var(--space-6); }
.workflow-grid article { padding-top:var(--space-5); }
.workflow-grid :is(h2,h3) { font-size:1.375rem; line-height:1.35; letter-spacing:-.025em; }
.workflow-grid p { font-size:.9375rem; line-height:1.75; }
.benchmark-teaser .benchmark-value { font-size:clamp(1.75rem,3vw,2.25rem); font-variant-numeric:tabular-nums; }
.comparison-wrap { margin:var(--space-6) 0; border-radius:var(--panel-radius); }
.comparison caption { padding:var(--space-4) var(--space-5); font-size:.9375rem; }
.comparison :is(th,td) { padding:var(--space-4) var(--space-5); font-size:.875rem; line-height:1.65; }
.comparison th { font-weight:600; }
.comparison tbody tr:hover { background:var(--surface-muted); }
.note,.answer-box { border:1px solid var(--line); border-radius:var(--panel-radius); background:var(--surface-inset); padding:var(--space-5); }
.answer-box { margin-inline:var(--page-inset); }
.docs-layout { grid-template-columns:12rem minmax(0,48rem); gap:var(--space-12); padding-inline:var(--page-inset); }
.doc-toc { gap:var(--space-1); border:0; padding-top:0; }
.doc-toc a { display:block; border-radius:var(--control-radius); padding:var(--space-2) var(--space-3); }
.doc-toc a:hover,.doc-toc a[aria-current=location] { background:var(--primary-soft); color:var(--primary); }
.doc-body { line-height:1.8; }
.doc-body section { padding-top:var(--space-6); margin-bottom:var(--space-8); scroll-margin-top:var(--space-6); }
.doc-body h2 { font-size:1.5rem; line-height:1.35; letter-spacing:-.025em; }
.doc-body li { margin-block:var(--space-2); }
.doc-body p,.doc-body ul,.doc-body ol { max-width:70ch; }
.platform-picker { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-6); padding:0 var(--page-inset) var(--space-12); max-width:64rem; }
.platform-picker article { min-width:0; padding:var(--space-6); border:1px solid var(--line); border-radius:var(--panel-radius); background:var(--panel); }
.platform-picker h2 { font-size:1.5rem; letter-spacing:-.025em; }
.platform-picker .eyebrow { color:var(--muted); margin-bottom:var(--space-3); }
.platform-picker article>p { font-size:.875rem; }
.platform-picker .microcopy { margin:var(--space-3) 0 0; }
.price-card { padding:var(--space-6); box-shadow:none; }
.price-card.featured { box-shadow:none; border-color:var(--primary); }
.price-card h2 { font-size:1.5rem; }
.price-card .hero-actions { margin:var(--space-4) 0; }
.table-scroll-hint { color:var(--muted); }
.demo-tools>span.demo-search { flex-shrink:0; max-width:none; overflow:visible; }
.mock-result>.table-scroll-hint { padding:var(--space-3) var(--space-5); margin:0; border-top:1px solid var(--line); }
.price { font-size:3rem; letter-spacing:-.04em; }
.account-layout { gap:var(--space-12); padding:var(--space-12) var(--page-inset) var(--space-16); }
.account-context h1,.checkout-layout h1 { font-size:clamp(2rem,4vw,3rem); line-height:1.15; letter-spacing:-.035em; }
.account-panel { padding:var(--space-6); border-radius:var(--panel-radius); box-shadow:none; }
.account-panel input:not([type=radio]) { min-height:var(--control-height); border-radius:var(--control-radius); }
.account-panel fieldset label { padding:var(--space-3); }
.account-panel fieldset:focus-within { border-color:var(--primary); }
.checkout-layout { padding:var(--space-12) var(--page-inset) var(--space-16); }
.checkout-card { padding:var(--space-6); }
.download-band { background:var(--surface-inset); border-color:var(--line); padding:var(--space-8); }
.download-band h2 { font-size:2rem; }
.site-footer { padding:var(--space-8) var(--page-inset); gap:var(--space-8); }
.site-footer>div { gap:var(--space-2); }
.site-footer a:not(.brand) { line-height:1.7; }
.site-footer a:hover { color:var(--primary); text-decoration:underline; text-underline-offset:.2em; }
.faq-section { align-items:start; }
.faq-section h2 { max-width:20ch; }
.faq-list summary { line-height:1.6; padding-block:var(--space-1); }
.faq-list summary::marker { color:var(--muted); }
.faq-list details[open] { padding-bottom:var(--space-6); }
.faq-answer { padding-top:var(--space-2); }
.faq-answer p { max-width:68ch; line-height:1.8; margin-block:var(--space-3); }
.faq-answer a { color:var(--primary); text-decoration:underline; text-underline-offset:.2em; }
.faq-answer .faq-next { display:flex; flex-wrap:wrap; gap:var(--space-2) var(--space-4); font-size:.8125rem; margin-top:var(--space-4); }
.faq-next a { display:inline-block; max-width:100%; min-height:1.5rem; padding-block:var(--space-1); }
.legal { padding:var(--space-8) var(--page-inset); }
.legal .brand { margin-bottom:var(--space-8); }
.legal h1 { font-size:2.5rem; }
.legal h2 { font-size:1.5rem; }
@media(max-width:1050px) {
 .nav { gap:var(--space-3); }
 .nav nav a { padding-inline:var(--space-2); }
}
@media(max-width:760px) {
 .nav { gap:var(--space-3); }
 .nav nav { gap:var(--space-1); }
 .nav nav a { padding:var(--space-2); }
 .hero { padding-block:var(--space-8); }
 .hero h1 { font-size:clamp(2.5rem,10vw,3.5rem); }
 .page-intro { padding-block:var(--space-6); }
 .page-intro h1 { font-size:2.25rem; }
 .docs-layout,.account-layout { grid-template-columns:minmax(0,1fr); gap:var(--space-6); }
 .doc-toc { gap:var(--space-1); padding:var(--space-3); background:var(--surface-inset); border:1px solid var(--line); border-radius:var(--panel-radius); }
 .doc-toc strong { padding-inline:var(--space-3); margin-bottom:var(--space-1); }
 .doc-toc a { font-size:.8125rem; }
 .platform-picker { grid-template-columns:minmax(0,1fr); gap:var(--space-4); padding-bottom:var(--space-8); }
 .platform-picker article { padding:var(--space-5); }
 .platform-picker .button { width:100%; }
 .account-layout,.checkout-layout { padding-block:var(--space-8); }
 .account-panel { padding:var(--space-5); }
 .download-band { padding:var(--space-6); }
}
@media(prefers-reduced-motion:reduce) { .button:active { transform:none; } }
@media(max-width:480px) {
 .demo-search-scope { display:none; }
 .plan-comparison :is(th,td) { padding:var(--space-3) var(--space-2); font-size:.8125rem; }
}

/* A real product capture and a shorter opening share the same alignment spine. */
html,body { overflow-x:clip; }
h1,h2,h3 { min-width:0; overflow-wrap:break-word; text-wrap:balance; }
p { text-wrap:pretty; }
.section-context { margin:var(--space-2) 0 var(--space-4); font-size:.8125rem; line-height:1.6; font-weight:500; color:var(--muted); }
.section-context .status-dot { display:none; }
.eyebrow,.visual-label { text-transform:none; letter-spacing:normal; font-family:var(--font-ui); }
.hero-product { margin:0; min-width:0; }
.hero-format-summary { padding:var(--space-8); border-block:1px solid var(--line); }
.hero-format-summary h2 { font-size:clamp(2rem,3.5vw,3rem); line-height:1.2; }
.hero-format-summary p:last-child { margin-bottom:0; }
.hero-product img { display:block; width:100%; height:auto; border:1px solid var(--line); border-radius:var(--panel-radius); background:var(--panel); }
.hero-product figcaption { margin-top:var(--space-3); color:var(--muted); font-size:.8125rem; line-height:1.6; }
.visual-label,.visual-foot { font-family:var(--font-ui); font-size:.8125rem; line-height:1.6; }
.quiet-tag { font-size:.75rem; line-height:1.5; padding-inline:var(--space-2); }
.price { font-variant-numeric:tabular-nums; }
.hero-detail { margin:0 var(--page-inset); padding-block:var(--space-5); max-width:65ch; }
.button[aria-busy=true] { cursor:progress; }
:is(input,textarea,select) { caret-color:var(--ink); }
.account-panel :is(input,select):focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
@media(min-width:861px) { .hero { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); } }
@media(max-width:560px) {
 .hero-actions:has(>a[data-download]) { display:grid; grid-template-columns:minmax(0,1fr); align-items:stretch; }
 .hero-actions>a[data-download] { width:100%; }
}
