/* Shared typography for marketing, demo introduction and knowledge pages. */
:root{--type-body:17px;--type-h1:31px;--type-h2:30px;--type-h3:22px}
body{font-size:var(--type-body)}
main h1,.hero h1,.blog-index h1,.article-page h1,.demo-topline h1{font-size:var(--type-h1);line-height:1.8;letter-spacing:-.5px}
main h2,.story h2,.contact-section h2,.demo-section .section-heading h2,.article-body h2,.demo-about h2{font-size:var(--type-h2);line-height:1.8;letter-spacing:-.5px}
main h3,.vision-grid h3,.module-panel h3,.contact-section form h3,.article-body h3,.article-cards h2{font-size:var(--type-h3);line-height:1.8;letter-spacing:0}
.hero .intro,.section-heading>p,.feature-copy>p:not(.eyebrow),.future-copy>p:not(.english):not(.caption),.module-panel p:not(.english),.vision-grid p,.story-copy p,.contact-section p:not(.eyebrow):not(.caption),.faq-section details p,.blog-intro,.article-page .dek,.article-body,.article-cards p,.demo-topline p,.demo-about p,.demo-bottom p{font-size:var(--type-body);line-height:2.05}
.story-copy{max-width:850px;margin:0 auto;text-align:justify}.story-copy p{margin-bottom:20px}.story h2{max-width:850px;margin-inline:auto}
.demo-invitation{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.demo-invitation-copy{min-width:0}.demo-invitation-copy h2{font-size:var(--type-h2)}
.demo-benefits{padding-right:22px;margin:20px 0 28px;font-size:var(--type-body);color:#35493e}.demo-benefits li::marker{color:#aa844f}
.demo-concept{margin:0;overflow:hidden;border-radius:24px;background:#f5f0e6;border:1px solid #eadfcb}.demo-concept img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.demo-concept figcaption{font-size:14px;text-align:center;padding:15px 20px;color:#315344}
.contact-section{width:min(1160px,calc(100% - 64px));margin:24px auto 48px;border-radius:24px}
.contact-section .contact-grid{width:calc(100% - 72px);grid-template-columns:1fr 1fr;gap:48px;padding-block:52px}
.contact-section h2 span{white-space:nowrap}.contact-section h2{font-size:clamp(23px,2.15vw,30px)}
#request-form{width:100%;max-width:490px;padding:25px;justify-self:end}.contact-steps{margin-block:24px}.contact-section textarea{min-height:94px}
@media(max-width:900px){.contact-section .contact-grid{grid-template-columns:1fr;max-width:600px}.contact-section h2{font-size:var(--type-h2)}#request-form{max-width:none}.demo-invitation{gap:30px}}
@media(max-width:780px){:root{--type-body:16px;--type-h1:28px;--type-h2:26px;--type-h3:21px}.demo-invitation{grid-template-columns:1fr}.demo-concept{max-width:580px;width:100%;margin:auto}.contact-section{width:calc(100% - 32px);border-radius:18px}.contact-section .contact-grid{width:calc(100% - 40px);padding-block:34px}.contact-section h2{font-size:24px}}
@media(max-width:480px){:root{--type-h1:22px;--type-h2:23px;--type-h3:20px}.contact-section h2{font-size:clamp(19px,5.4vw,24px)}#request-form{padding:18px}.demo-concept figcaption{font-size:13px}}
.demo-page .demo-topline h1{font-size:var(--type-h1);line-height:1.8}.demo-page .demo-topline p,.demo-page .demo-about p{font-size:var(--type-body);line-height:2.05}
/* Full-width, compact demo request section. */
.contact-section{width:100%;margin:0;border-radius:0}
.contact-section .contact-grid{width:min(1240px,calc(100% - 80px));max-width:none;grid-template-columns:.85fr 1.15fr;gap:60px;padding-block:38px;align-items:center}
#request-form{max-width:none;padding:22px;margin:0}
#request-form h3{margin-bottom:14px}
#request-form .fields{grid-template-columns:1fr 1fr;gap:12px 16px}
#request-form .fields label{gap:4px;margin:0;line-height:1.7}
#request-form .fields .wide{grid-column:1/-1}
#request-form .fields label:has([name="interest"]),#request-form .fields label:has([name="software"]){grid-column:auto}
#request-form input:not([type="checkbox"]),#request-form select{height:44px;min-height:44px;padding:7px 10px;font-size:15px}
#request-form textarea{height:72px;min-height:72px;padding:8px 10px;line-height:1.8;font-size:15px}
#request-form .consent{align-items:center;margin:0}
#request-form .consent input{margin:0}
#request-form>.button{margin-top:14px;min-height:44px;padding:9px 18px}
#form-status:empty{display:none}
.contact-section .eyebrow{margin-bottom:14px}.contact-section h2{margin-bottom:20px}.contact-section .contact-steps{margin-block:18px}.contact-section .contact-details{margin-top:16px}
@media(max-width:1000px){.contact-section .contact-grid{gap:30px;grid-template-columns:.9fr 1.1fr;width:calc(100% - 48px)}.contact-section h2{font-size:24px}}
@media(max-width:780px){.contact-section .contact-grid{grid-template-columns:1fr;width:calc(100% - 36px);max-width:600px;gap:26px;padding-block:30px}#request-form{padding:20px}.contact-section h2{font-size:var(--type-h2)}}
@media(max-width:480px){#request-form .fields{gap:12px}#request-form .fields label:has([name="interest"]),#request-form .fields label:has([name="software"]){grid-column:1/-1}#request-form{padding:16px}.contact-section h2{font-size:clamp(19px,5.4vw,24px)}#request-form .fields label{font-size:13px}}
/* One shared wordmark across all website pages. */
.header .logo,.article-header img,.demo-header>a:first-child img{width:140px;height:auto;max-height:none;object-fit:contain;background:transparent}
.article-header,.demo-header{min-height:110px;height:auto;padding-block:15px}
.footer-top .logo{background:#fffdf8;border-radius:6px;padding:8px}
@media(max-width:480px){.header .logo,.article-header img,.demo-header>a:first-child img{width:110px;height:auto}.article-header,.demo-header{min-height:88px;gap:12px;flex-wrap:wrap}.article-header>a,.demo-header>a:first-child{flex-shrink:0}}
