/* Shared commercial-page heading hierarchy; compact UI and article typography stay independent. */
main[data-marketing-page] h2.font-bold,main[data-marketing-page] #home-paths-title{font-size:30px;line-height:1.2;font-weight:700;letter-spacing:-.025em}
@media(min-width:640px){main[data-marketing-page] h2.font-bold,main[data-marketing-page] #home-paths-title{font-size:36px}}
.workflow-shortcuts{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:24px}
.workflow-shortcuts a{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid rgb(var(--ui-border));border-radius:8px;color:rgb(var(--ui-primary));background:rgb(var(--ui-bg));font-size:13px;font-weight:500;line-height:1.5;text-decoration:none}
.workflow-shortcuts a:hover{background:rgb(var(--ui-bg-muted))}.workflow-shortcuts a:focus-visible{outline:2px solid rgb(var(--ui-primary));outline-offset:3px}
[id^="workflow-step-"],#web-testing,#feature-demos{scroll-margin-top:88px}
[data-site-menu]{max-height:calc(100dvh - 88px);overflow-y:auto;overscroll-behavior:contain}
.mobile-plan-note{margin-top:14px;font-size:13px;line-height:1.6;color:rgb(var(--ui-text-muted))}.mobile-plan-note a{color:rgb(var(--ui-primary));text-decoration:underline;text-underline-offset:3px}
/* Homepage CTA layout: keep primary scan and live AI conversation paired. */
.hero-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;width:100%;max-width:520px;margin:28px auto 0}
.hero-action{min-width:0}.hero-actions .btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:50px;padding:12px 14px;font-size:14px;white-space:nowrap}
.hero-action p{margin:10px 0 0;font-size:12px;line-height:1.6;color:rgb(var(--ui-text-muted))}
.hero-mobile-link{margin:20px 0 0;font-size:13px;line-height:1.6}
@media(min-width:560px){.hero-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media(min-width:1024px){.aegis-hero-layout{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);column-gap:40px}.hero-actions{margin-left:0;margin-right:0}.hero-action p{text-align:center}}

.aegis-hero-layout h1{text-wrap:balance}.hero-ai-native{white-space:nowrap}
.home-product-demo{min-width:0;border:1px solid rgb(var(--ui-border));border-radius:16px;background:rgb(var(--ui-bg));overflow:hidden;box-shadow:0 16px 48px rgb(0 0 0/.07)}
.home-demo-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:8px;border-bottom:1px solid rgb(var(--ui-border))}
.home-demo-tabs button{border:0;border-radius:8px;background:transparent;color:rgb(var(--ui-text-muted));font:600 12px/1.4 Inter,system-ui,sans-serif;padding:11px 5px;cursor:pointer;white-space:nowrap}
.home-demo-tabs button[aria-selected=true]{background:rgb(var(--ui-primary)/.12);color:rgb(var(--ui-primary))}
.home-demo-preview{display:block;position:relative;width:100%;aspect-ratio:16/9;border:0;background:#f8fafc;overflow:hidden;cursor:pointer;padding:0}
.home-demo-preview img{width:100%;height:100%;object-fit:contain}.home-demo-play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:rgb(var(--ui-primary));color:#fff;font-size:32px;box-shadow:0 0 0 5px #ffffff70,0 4px 18px #0003;line-height:1}
.home-demo-watch{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);background:#0f172ae8;color:#fff;border-radius:999px;padding:5px 12px;font:500 11px/1.4 Inter,system-ui,sans-serif;white-space:nowrap}
.home-demo-caption{padding:20px 22px 18px}.home-demo-caption h2{font-size:17px;font-weight:600;line-height:1.35;letter-spacing:-.02em;color:rgb(var(--ui-text-highlighted));margin:0}.home-demo-caption p{font-size:13px;line-height:1.6;color:rgb(var(--ui-text-muted));margin:8px 0 12px;min-height:42px}.home-demo-caption a{font-size:13px;color:rgb(var(--ui-primary));text-decoration:none;font-weight:500}
.home-demo-footer{padding:12px 18px;border-top:1px solid rgb(var(--ui-border));display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;color:rgb(var(--ui-text-muted))}.home-demo-footer button{border:0;background:transparent;color:rgb(var(--ui-primary));font:500 11px/1.5 Inter,system-ui,sans-serif;cursor:pointer;text-align:right}
.home-product-paths{padding-top:56px;padding-bottom:56px}.home-paths-heading{display:block;margin-bottom:26px}.home-paths-heading .mono-label{margin-bottom:12px}.home-paths-heading h2{font-size:clamp(25px,3vw,34px);line-height:1.2;letter-spacing:-.03em;font-weight:700;color:rgb(var(--ui-text-highlighted));max-width:none}.home-paths-heading>p{max-width:620px;margin-top:14px;color:rgb(var(--ui-text-muted));font-size:14px;line-height:1.6}.home-paths-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid rgb(var(--ui-border));border-radius:12px;overflow:hidden}.home-path{display:flex;flex-direction:column;padding:25px;text-decoration:none;color:inherit;background:rgb(var(--ui-bg))}.home-path+.home-path{border-left:1px solid rgb(var(--ui-border))}.home-path:hover{background:rgb(var(--ui-primary)/.035)}.home-path-kicker{font-family:monospace;font-size:11px;letter-spacing:.08em;color:rgb(var(--ui-text-muted))}.home-path h3{font-size:20px;font-weight:600;letter-spacing:-.025em;margin:15px 0 10px;color:rgb(var(--ui-text-highlighted))}.home-path p{font-size:14px;line-height:1.7;color:rgb(var(--ui-text-muted));margin:0 0 24px;flex:1}.home-path-link{font-size:13px;color:rgb(var(--ui-primary));font-weight:500}.home-product-demo button:focus-visible,.home-product-demo a:focus-visible,.home-path:focus-visible{outline:2px solid rgb(var(--ui-primary));outline-offset:-3px}
@media(max-width:767px){.home-paths-heading{display:block}.home-paths-heading>p{margin-top:14px;max-width:none}.home-paths-grid{grid-template-columns:1fr}.home-path+.home-path{border-left:0;border-top:1px solid rgb(var(--ui-border))}.home-path{padding:22px}.home-product-paths{padding-top:40px;padding-bottom:40px}.home-demo-caption{padding:18px}.home-demo-caption p{min-height:0}}
/* Homepage section rhythm: full-width surfaces, shared vertical spacing. */
.home-band{--home-section-space:64px;background:rgb(var(--ui-bg));border-bottom:1px solid rgb(var(--ui-border))}
.home-band--muted{background:rgb(var(--ui-bg-muted))}
.home-band>section{background:transparent;border:0}
.home-band>section[class*="max-w-"],.home-band>section>div[class*="max-w-"]{padding-top:var(--home-section-space);padding-bottom:var(--home-section-space)}
.home-demo-footer{flex-wrap:wrap;gap:8px 12px}.home-demo-footer [data-demo-rotation]{color:rgb(var(--ui-text-muted));text-decoration:underline;text-underline-offset:3px}.home-demo-footer [data-demo-open]{margin-left:auto}
@media(max-width:767px){.home-band{--home-section-space:48px}}
.security-page{max-width:1152px;margin:0 auto;padding:64px 24px 80px;color:rgb(var(--ui-text))}.security-page>section+section{margin-top:64px}.security-intro{max-width:850px}.security-page h1{font-size:clamp(2.25rem,5vw,3.5rem);line-height:1.1;letter-spacing:-.035em;font-weight:700;color:rgb(var(--ui-text-highlighted));margin:16px 0 24px}.security-page h2,.security-brief h2{font-size:36px;line-height:1.2;letter-spacing:-.025em;font-weight:700;color:rgb(var(--ui-text-highlighted));margin:12px 0 24px}.security-page h3{font-size:1.125rem;line-height:1.4;font-weight:600;color:rgb(var(--ui-text-highlighted));margin:10px 0}.security-page p,.security-page li,.security-brief p{color:rgb(var(--ui-text-muted));line-height:1.75}.security-page .security-lead{font-size:1.125rem}.security-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.security-grid article{padding:24px;border:1px solid rgb(var(--ui-border));border-radius:12px;background:rgb(var(--ui-bg))}.security-category{font:500 12px/1.5 ui-monospace,monospace;color:rgb(var(--ui-text-muted));text-transform:uppercase;letter-spacing:.06em}.security-rows article{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,2.4fr);gap:28px;padding:24px 0;border-top:1px solid rgb(var(--ui-border))}.security-rows h3{margin:0}.security-page p a,.security-page li a{color:rgb(var(--ui-text-highlighted));text-decoration:underline;text-underline-offset:3px}.security-checklist{border-top:1px solid rgb(var(--ui-border));padding-top:32px}.security-checklist ol{list-style:decimal;padding-left:24px;margin:16px 0 24px}.security-checklist li+li{margin-top:8px}.security-brief{border-block:1px solid rgb(var(--ui-border));background:rgb(var(--ui-bg-muted))}.security-brief-inner{max-width:1280px;margin:0 auto;padding:48px 24px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px}.security-brief h2{margin-bottom:14px}.security-brief p{max-width:760px}.security-page a:focus-visible,.security-brief a:focus-visible{outline:2px solid currentColor;outline-offset:4px}@media(max-width:639px){.security-page{padding:40px 20px 56px}.security-page>section+section{margin-top:40px}.security-grid,.security-rows article,.security-brief-inner{grid-template-columns:minmax(0,1fr)}.security-grid article{padding:20px}.security-rows article{gap:8px}.security-brief-inner{padding:32px 20px;gap:24px}.security-actions{flex-direction:column}.security-actions a{width:100%;justify-content:center}.security-brief .btn{justify-self:start}}

@media(max-width:639px){.security-page h2,.security-brief h2{font-size:30px}}
/* Homepage-only progressive disclosure. Full reviews, FAQs and commands stay in HTML. */
.home-band{--home-section-space:48px}
.home-security-link{margin:18px 0 0;font-size:14px;line-height:1.6;color:rgb(var(--ui-primary))}
.home-security-link a:hover{text-decoration:underline}
.home-path{padding:20px}.home-path p{margin-bottom:16px}
#customer-reviews[data-compact]>div>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
#customer-reviews[data-compact] figure{padding:20px;grid-column:auto}
#customer-reviews[data-compact] figure:last-child{grid-column:auto}
#customer-reviews[data-compact] blockquote{font-size:14px;line-height:1.65}
#customer-reviews[data-compact] figcaption{margin-top:16px;padding-top:12px;font-size:13px}
#customer-reviews[data-compact] figure>a{height:40px}
#customer-reviews[data-compact] figure>a span{font-size:15px}
#customer-reviews[data-compact] figure>a img{max-width:160px}
.home-review-details{margin-top:12px}.home-review-details summary{color:rgb(var(--ui-primary));font-size:13px;cursor:pointer;font-weight:500}
.home-review-details[open]>p{margin-top:12px}
.home-resource-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;margin-top:24px}
.home-resource-links>a{padding:16px 0;border:0;border-top:1px solid rgb(var(--ui-border));border-radius:0}
.home-resource-links h3{font-size:16px;line-height:1.5}
.home-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;align-items:start}
.home-faq-grid>details{border-top:1px solid rgb(var(--ui-border));padding:16px 0}
.home-faq-grid summary{min-height:24px;font-size:15px}
.home-cli-details summary{cursor:pointer;padding:16px 20px;color:#cbd5e1;font-size:13px;border-top:1px solid #ffffff1a}
.home-cli-details[open] summary{color:#fff}
.home-review-details summary:focus-visible,.home-faq-grid summary:focus-visible,.home-cli-details summary:focus-visible,.home-security-link a:focus-visible{outline:2px solid rgb(var(--ui-primary));outline-offset:4px}
@media(max-width:900px){#customer-reviews[data-compact]>div>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.home-band{--home-section-space:36px}.home-path{padding:18px}.home-path h3{margin:10px 0 8px}.home-path p{line-height:1.6;margin-bottom:12px}.home-resource-links,.home-faq-grid{grid-template-columns:1fr}#customer-reviews[data-compact]>div>div{grid-template-columns:1fr}#customer-reviews[data-compact] figure{padding:18px}#customer-reviews[data-compact] figure>p{margin-top:12px}#customer-reviews[data-compact] blockquote{margin-top:8px}.home-faq-grid>details{padding:14px 0}}
.home-wcag-details{margin-top:20px;font-size:14px;line-height:1.65}.home-wcag-details summary{cursor:pointer;font-weight:600;color:rgb(var(--ui-text-highlighted));padding:8px 0}.home-wcag-details p{max-width:850px;margin-top:8px;color:rgb(var(--ui-text-muted))}.home-wcag-details a{color:rgb(var(--ui-primary));text-decoration:underline}.home-wcag-details summary:focus-visible,pre[tabindex]:focus-visible{outline:2px solid rgb(var(--ui-primary));outline-offset:3px}
@media(max-width:767px){section[aria-labelledby=engineering-confidence-title] .py-7{padding-top:18px;padding-bottom:18px}}
/* Stronger category label, scoped to the homepage hero. */
.aegis-hero-layout .hero-eyebrow{font-size:13px;font-weight:600;letter-spacing:.055em;line-height:1.7;color:rgb(var(--ui-primary));text-wrap:balance}
@media(min-width:640px){.aegis-hero-layout .hero-eyebrow{font-size:14px}}
/* Shared typography for // section labels; code comments and terminal captions retain their styles. */
html body .section-eyebrow{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:13px;font-weight:600;letter-spacing:.055em;line-height:1.7;color:rgb(var(--ui-primary));text-transform:uppercase;text-wrap:balance}
@media(min-width:640px){html body .section-eyebrow{font-size:14px}}
.home-paths-heading>p{max-width:920px}
.home-start-flow{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0 0 28px;padding:20px;border:1px solid rgb(var(--ui-border));border-radius:12px;background:rgb(var(--ui-bg-muted)/.5)}
.home-start-flow li{position:relative;display:flex;align-items:center;gap:10px;min-width:0;font-size:14px;font-weight:600;line-height:1.5;color:rgb(var(--ui-text-highlighted))}
.home-start-flow li span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid rgb(var(--ui-primary)/.3);background:rgb(var(--ui-bg));font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;color:rgb(var(--ui-primary));flex-shrink:0}
.home-start-flow li:not(:last-child)::after{content:'';position:absolute;right:-14px;top:calc(50% - 3px);width:7px;height:7px;border-top:1px solid rgb(var(--ui-primary));border-right:1px solid rgb(var(--ui-primary));transform:rotate(45deg)}
.home-paths-prompt{margin:0 0 12px;font-size:14px;font-weight:600;color:rgb(var(--ui-text-highlighted))}
.home-login-note{margin:18px 0 0;font-size:14px;line-height:1.6;color:rgb(var(--ui-text-muted))}
.home-login-note+.home-security-link{margin-top:8px}
@media(max-width:767px){.home-start-flow{grid-template-columns:1fr;gap:18px;padding:18px;margin-bottom:24px}.home-start-flow li{min-height:30px}.home-start-flow li:not(:last-child)::after{right:auto;left:14px;top:34px;width:1px;height:10px;border:0;background:rgb(var(--ui-primary)/.4);transform:none}}

.home-product-links{display:flex;flex-wrap:wrap;gap:12px 28px;font-size:14px;font-weight:600;line-height:1.6;color:rgb(var(--ui-primary))}.home-product-links a{white-space:nowrap;text-decoration:none}.home-product-links a:hover{text-decoration:underline}.home-product-links a:focus-visible{outline:2px solid rgb(var(--ui-primary));outline-offset:4px}

/* One connected workflow panel, with navigation and setup guidance in its footer. */
.home-workflow-panel{border:1px solid rgb(var(--ui-border));border-radius:12px;overflow:hidden;background:rgb(var(--ui-bg))}
.home-workflow-panel .home-start-flow{border:0;border-radius:0;margin:0;padding:24px;background:rgb(var(--ui-bg-muted)/.5)}
.home-workflow-footer{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px;padding:22px 24px;border-top:1px solid rgb(var(--ui-border));align-items:start}
.home-workflow-label{margin:0 0 10px;font-size:14px;font-weight:600;color:rgb(var(--ui-text-highlighted));line-height:1.5}
.home-workflow-footer .home-product-links{gap:10px 22px;font-size:13px}
.home-workflow-access{border-left:1px solid rgb(var(--ui-border));padding-left:24px}
.home-workflow-access>p:not(.home-workflow-label){font-size:13px;line-height:1.6;color:rgb(var(--ui-text-muted));margin:0 0 8px}
.home-workflow-access>a{font-size:13px;font-weight:500;line-height:1.6;color:rgb(var(--ui-primary));text-decoration:none}
.home-workflow-access>a:hover{text-decoration:underline}
.home-workflow-access>a:focus-visible{outline:2px solid rgb(var(--ui-primary));outline-offset:4px}
@media(max-width:767px){.home-workflow-panel .home-start-flow{padding:20px}.home-workflow-footer{grid-template-columns:1fr;gap:18px;padding:20px}.home-workflow-access{border-left:0;padding-left:0;border-top:1px solid rgb(var(--ui-border));padding-top:18px}}
/* Home page sections below the hero, design pass (r20261015c: tighter vertical rhythm). Scoped under #hp-root; uses only the site's theme variables (--ui-*),
   the site's existing button classes and the section-eyebrow label style. Same container as the hero and header (80rem, 16px/24px). */
/* spacing tokens: ONE value for every section, set once (phone / desktop). rev b used 48px / 64px section padding. */
#hp-root{--hp-pad:32px;--hp-head-gap:20px;--hp-after-gap:24px;color:rgb(var(--ui-text));font-family:inherit}
@media(min-width:1024px){#hp-root{--hp-pad:44px;--hp-head-gap:24px}}
#hp-root *,#hp-root *::before,#hp-root *::after{box-sizing:border-box}
#hp-root h2,#hp-root h3,#hp-root p,#hp-root ul,#hp-root ol,#hp-root figure,#hp-root blockquote{margin:0;padding:0}
#hp-root ul,#hp-root ol{list-style:none}
/* rhythm: every section has the same padding, bands alternate default / muted */
#hp-root .hp-section{padding:var(--hp-pad) 0;border-top:1px solid rgb(var(--ui-border))}
#hp-root .hp-section:first-child{border-top:0}
#hp-root .hp-section--muted{background:rgb(var(--ui-bg-muted))}
#hp-root .hp-wrap{max-width:80rem;margin:0 auto;padding:0 16px}
@media(min-width:640px){#hp-root .hp-wrap{padding:0 24px}}
/* section header: eyebrow (site style), H2 (site scale), one-line intro */
#hp-root .hp-head{max-width:46rem;margin-bottom:var(--hp-head-gap)}
#hp-root .hp-head--center,#hp-root .hp-center{text-align:center}
#hp-root .hp-head--center{margin-left:auto;margin-right:auto}
#hp-root .section-eyebrow{margin-bottom:8px}
#hp-root h2{font-size:1.875rem;line-height:1.15;font-weight:700;letter-spacing:-.025em;color:rgb(var(--ui-text-highlighted));text-wrap:balance}
@media(min-width:640px){#hp-root h2{font-size:2.25rem}}
#hp-root h3{font-size:1.0625rem;line-height:1.35;font-weight:600;color:rgb(var(--ui-text-highlighted))}
#hp-root .hp-intro{margin-top:8px;font-size:1.0625rem;line-height:1.65;color:rgb(var(--ui-text-muted))}
#hp-root .hp-intro a{color:rgb(var(--ui-primary));text-decoration:underline;text-underline-offset:3px}
#hp-root .hp-disclosure{font-size:1rem}
/* links and focus */
#hp-root a:not(.btn){color:rgb(var(--ui-primary));text-underline-offset:3px}
#hp-root a:focus-visible,#hp-root summary:focus-visible{outline:2px solid rgb(var(--ui-primary));outline-offset:3px;border-radius:6px}
#hp-root .hp-link{display:inline-block;margin-top:12px;font-size:.9375rem;font-weight:600;text-decoration:none}
#hp-root .hp-link svg{display:inline-block;vertical-align:-3px;margin-left:6px}
#hp-root .hp-link:hover{text-decoration:underline}
#hp-root .hp-link svg{transition:transform .15s}
#hp-root .hp-link:hover svg{transform:translateX(2px)}
/* buttons row and small print */
#hp-root .hp-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--hp-after-gap)}
#hp-root .hp-actions--center{justify-content:center;margin-top:var(--hp-after-gap)}
#hp-root .hp-note{margin-top:14px;font-size:.875rem;line-height:1.55;color:rgb(var(--ui-text-muted))}
#hp-root .hp-note a{text-decoration:underline}
/* cards: same radius, border and shadow everywhere */
#hp-root .hp-card{position:relative;padding:22px;border:1px solid rgb(var(--ui-border));border-radius:12px;background:rgb(var(--ui-bg));box-shadow:0 1px 2px rgb(15 23 42/.05)}
#hp-root .hp-card p{margin-top:8px;font-size:.9375rem;line-height:1.65;color:rgb(var(--ui-text-muted))}
#hp-root .hp-card h3+p{margin-top:6px}
#hp-root .hp-icon{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:10px;background:rgb(var(--ui-primary)/.1);color:rgb(var(--ui-primary))}
#hp-root .hp-card>.hp-icon{margin-bottom:14px}
#hp-root .hp-card--row{display:flex;gap:16px;align-items:flex-start}
#hp-root .hp-card--row>.hp-icon{margin-bottom:0}
#hp-root .hp-card--row>div{min-width:0}
#hp-root .hp-grid{display:grid;gap:16px}
#hp-root .hp-grid>li{min-width:0}
#hp-root .hp-grid>li:not(.hp-card){display:flex}
#hp-root .hp-grid>li>.hp-card,#hp-root .hp-grid>.hp-card{width:100%}
@media(min-width:640px){#hp-root .hp-grid--2,#hp-root .hp-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}#hp-root .hp-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){#hp-root .hp-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}#hp-root .hp-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}#hp-root .hp-grid{gap:20px}}
/* what is AegisRunner: two columns */
#hp-root .hp-what{display:grid;gap:24px;align-items:center}
@media(min-width:960px){#hp-root .hp-what{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px}}
#hp-root .hp-body{margin-top:16px;font-size:1.1875rem;line-height:1.7;color:rgb(var(--ui-text))}
#hp-root .hp-glance{display:grid;gap:14px}
#hp-root .hp-glance .hp-card{padding:18px 20px}
/* how it works: numbered steps with a connector */
#hp-root .hp-steps{display:grid;gap:28px;counter-reset:hp}
@media(min-width:900px){#hp-root .hp-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}}
#hp-root .hp-steps .hp-card{padding:24px}
#hp-root .hp-num{display:grid;place-items:center;width:36px;height:36px;margin-bottom:14px;border-radius:50%;background:rgb(var(--ui-primary));color:rgb(var(--ui-bg));font-weight:700;font-size:.9375rem}
#hp-root .hp-steps .hp-card:not(:last-child)::after{content:"";position:absolute;width:10px;height:10px;border-top:2px solid rgb(var(--ui-primary));border-right:2px solid rgb(var(--ui-primary));left:calc(50% - 5px);bottom:-20px;transform:rotate(135deg)}
@media(min-width:900px){#hp-root .hp-steps .hp-card:not(:last-child)::after{left:auto;right:-26px;top:calc(50% - 5px);bottom:auto;transform:rotate(45deg)}}
/* what it can test: compact items; the odd last item spans the row */
#hp-root .hp-tests li:last-child:nth-child(odd){grid-column:1/-1}
#hp-root .hp-tests .hp-card{padding:20px 22px}
/* see it first */
#hp-root .hp-media{display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden;text-decoration:none;transition:border-color .15s,box-shadow .15s}
#hp-root .hp-media:hover{border-color:rgb(var(--ui-primary));box-shadow:0 8px 20px -8px rgb(15 23 42/.25)}
#hp-root .hp-media-thumb{position:relative;display:block}
#hp-root .hp-media img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:rgb(15 23 42)}
#hp-root .hp-play{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(to top,rgb(15 23 42/.28),transparent 55%)}
#hp-root .hp-play::before{content:"";width:60px;height:60px;border-radius:50%;background:rgb(15 23 42/.78);box-shadow:0 0 0 2px rgb(255 255 255/.85) inset;transition:transform .15s,background .15s}
#hp-root .hp-play::after{content:"";position:absolute;width:0;height:0;margin-left:4px;border-style:solid;border-width:10px 0 10px 17px;border-color:transparent transparent transparent #fff}
#hp-root .hp-media:hover .hp-play::before{transform:scale(1.07);background:rgb(var(--ui-primary))}
#hp-root .hp-media-body{display:grid;gap:4px;padding:16px 20px}
#hp-root .hp-media-title{font-weight:600;color:rgb(var(--ui-text-highlighted))}
#hp-root .hp-media-sub{font-size:.9375rem;color:rgb(var(--ui-text-muted))}
/* pricing: styled like the pricing page cards (rounded-2xl, popular = primary border + shadow + badge) */
#hp-root .hp-plan{flex-direction:column;border-radius:16px;padding:24px;display:flex}
#hp-root .hp-plan h3{font-size:1.125rem}
#hp-root .hp-plan .hp-tagline{margin-top:4px;min-height:3.3em}
#hp-root .hp-plan .hp-price{margin:10px 0 14px;font-size:2.25rem;line-height:1;font-weight:700;letter-spacing:-.02em;color:rgb(var(--ui-text-highlighted))}
#hp-root .hp-plan .hp-price small{font-size:.9375rem;font-weight:500;color:rgb(var(--ui-text-muted))}
#hp-root .hp-plan--popular{border-color:rgb(var(--ui-primary));box-shadow:0 10px 15px -3px rgb(15 23 42/.1),0 4px 6px -4px rgb(15 23 42/.1)}
#hp-root .hp-badge{position:absolute;top:-11px;left:24px;padding:3px 10px;border:1px solid rgb(var(--ui-primary));border-radius:6px;background:rgb(var(--ui-bg));color:rgb(var(--ui-primary));font-size:.75rem;font-weight:600;line-height:1.4}
#hp-root .hp-checks{display:grid;gap:8px;margin-top:0;align-content:start}
#hp-root .hp-checks li{position:relative;padding-left:24px;font-size:.9375rem;line-height:1.5;color:rgb(var(--ui-text-muted))}
#hp-root .hp-checks li::before{content:"";position:absolute;left:3px;top:.38em;width:6px;height:11px;border:solid rgb(var(--ui-primary));border-width:0 2px 2px 0;transform:rotate(45deg)}
/* early users: testimonial cards */
#hp-root .hp-quotes{display:grid;gap:16px}
#hp-root .hp-quotes>li{display:flex;min-width:0}
@media(min-width:640px){#hp-root .hp-quotes{grid-template-columns:repeat(2,minmax(0,1fr))}#hp-root .hp-quotes>li:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;max-width:calc(50% - 8px);width:100%}}
@media(min-width:1024px){#hp-root .hp-quotes{grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}#hp-root .hp-quotes>li{grid-column:span 2}#hp-root .hp-quotes>li:nth-child(4){grid-column:2/span 2}#hp-root .hp-quotes>li:last-child:nth-child(odd){grid-column:4/span 2;max-width:none;justify-self:stretch}}
#hp-root .hp-quote{display:flex;flex-direction:column;gap:14px;width:100%;padding:24px}
#hp-root .hp-qmark{font-family:Georgia,'Times New Roman',serif;font-size:3.25rem;line-height:.7;height:22px;color:rgb(var(--ui-primary)/.6)}
#hp-root .hp-quote blockquote p{margin:0;font-size:1rem;line-height:1.7;color:rgb(var(--ui-text-highlighted))}
#hp-root .hp-quote figcaption{display:flex;gap:12px;align-items:center;margin-top:auto;padding-top:16px;border-top:1px solid rgb(var(--ui-border));font-size:.875rem;line-height:1.45;color:rgb(var(--ui-text-muted))}
#hp-root .hp-quote figcaption strong{display:block;font-size:.9375rem;color:rgb(var(--ui-text-highlighted))}
#hp-root .hp-avatar{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:rgb(var(--ui-primary)/.12);color:rgb(var(--ui-primary));font-weight:700;font-size:.875rem;letter-spacing:.02em}
/* data */
#hp-root .hp-strong{margin:0;font-size:1rem;line-height:1.6;font-weight:500;color:rgb(var(--ui-text-highlighted))}
#hp-root .hp-card .hp-strong{margin-top:0}
#hp-root .hp-after{margin-top:var(--hp-after-gap)}
/* developers: a distinct tinted card with chips */
#hp-root .hp-dev{display:grid;gap:24px;padding:28px;border:1px solid rgb(var(--ui-primary)/.3);border-radius:16px;background:rgb(var(--ui-primary)/.06)}
@media(min-width:960px){#hp-root .hp-dev{grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:48px;align-items:center;padding:36px 40px}}
#hp-root .hp-dev .hp-intro{color:rgb(var(--ui-text))}
#hp-root .hp-chips{display:flex;flex-wrap:wrap;gap:10px}
#hp-root .hp-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid rgb(var(--ui-border-accented));border-radius:999px;background:rgb(var(--ui-bg));font-size:.9375rem;font-weight:500;text-decoration:none;color:rgb(var(--ui-text-highlighted))!important;transition:border-color .15s}
#hp-root .hp-chip:hover{border-color:rgb(var(--ui-primary))}
#hp-root .hp-chip svg{color:rgb(var(--ui-primary))}
/* guides */
#hp-root .hp-guide{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:18px 20px;text-decoration:none;font-weight:600;line-height:1.4;color:rgb(var(--ui-text-highlighted))!important;transition:border-color .15s}
#hp-root .hp-guide:hover{border-color:rgb(var(--ui-primary))}
#hp-root .hp-guide svg{flex:none;color:rgb(var(--ui-primary))}
/* FAQ accordion: centred, dividers, chevron, large click area */
#hp-root .hp-faq{max-width:48rem;margin:0 auto;text-align:left}
#hp-root .hp-q{border-top:1px solid rgb(var(--ui-border-accented))}
#hp-root .hp-q:last-child{border-bottom:1px solid rgb(var(--ui-border-accented))}
#hp-root .hp-q summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;padding:16px 4px;cursor:pointer;list-style:none}
#hp-root .hp-q summary::-webkit-details-marker{display:none}
#hp-root .hp-q summary::after{content:"";flex:none;width:9px;height:9px;margin-right:6px;border:solid rgb(var(--ui-text-muted));border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .15s}
#hp-root .hp-q[open] summary::after{transform:rotate(-135deg);margin-top:6px}
#hp-root .hp-q summary h3{flex:1;min-width:0;font-size:1.0625rem}
#hp-root .hp-q p{margin:0 0 20px;padding:0 36px 0 4px;font-size:1rem;line-height:1.7;color:rgb(var(--ui-text-muted))}
/* final call to action: full-width tinted band */
#hp-root .hp-cta{background:rgb(var(--ui-primary)/.08);border-top:1px solid rgb(var(--ui-primary)/.25)}
#hp-root .hp-cta h2{max-width:40rem;margin:0 auto}
#hp-root .hp-cta .hp-intro{max-width:42rem;margin-left:auto;margin-right:auto}
#hp-root .hp-cta .hp-intro,#hp-root .hp-cta .hp-note{color:rgb(var(--ui-text))}
#hp-root .hp-cta .hp-actions{margin-top:var(--hp-after-gap)}
@media(max-width:639px){#hp-root .hp-actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){#hp-root *{transition:none!important}}
/* key phrases (rev 5b): brand colour, weight 600, no background or underline so they do not look like links. Not scoped to #hp-root: the hero paragraph uses it too. */
.hp-hl{color:rgb(var(--ui-primary));font-weight:600;text-decoration:none;background:none}

/* r20261015d (2026-10-15, owner: section headings on one line): headings may use the full section width so they stay on one line on laptop and desktop screens; the intro text under them keeps its reading width */
#hp-root .hp-head{max-width:62rem}
#hp-root .hp-head .hp-intro{max-width:46rem}
#hp-root .hp-head--center .hp-intro{margin-left:auto;margin-right:auto}
/* shorter home page: three early-user quotes sit in one row from 1024px; below that the two-column rules already centre the third */
@media(min-width:1024px){#hp-root .hp-quotes--3{grid-template-columns:repeat(3,minmax(0,1fr))}#hp-root .hp-quotes--3>li,#hp-root .hp-quotes--3>li:nth-child(4),#hp-root .hp-quotes--3>li:last-child:nth-child(odd){grid-column:auto;max-width:none;justify-self:stretch}}
/* four early-user quotes: two columns from 640px (already so), still two columns at 1024px, one row of four from 1280px; one column on a phone */
@media(min-width:1024px){#hp-root .hp-quotes--4{grid-template-columns:repeat(2,minmax(0,1fr))}#hp-root .hp-quotes--4>li,#hp-root .hp-quotes--4>li:nth-child(4),#hp-root .hp-quotes--4>li:last-child:nth-child(odd){grid-column:auto;max-width:none;justify-self:stretch}}
@media(min-width:1280px){#hp-root .hp-quotes--4{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* first home section: the hero already has its own bottom padding, so the gap above "How it works" matches the gap between the other sections (89px desktop, 65px phone) */
#hp-root .hp-section:first-child{padding-top:24px}

/* r20261015h (2026-10-15, owner: "trim the hero gap"): less space below the hero on laptop and desktop (hero inner bottom padding 64px -> 28px); hero content and phone spacing unchanged */
@media (min-width:1024px){main>section:first-of-type>div.max-w-7xl.lg\:py-16{padding-bottom:28px}}
