/* Typography roles, using the existing real 400 / 500 / 600 font files. */
:root{
 --type-display:clamp(3.5rem,4.7vw,4.5rem);
 --type-section:clamp(2.25rem,3vw,2.75rem);
 --type-feature:2rem;
 --type-product:1.5rem;
 --type-body:1rem;
 --type-body-small:.9375rem;
 --type-ui:.875rem;
 --type-caption:.8125rem;
 --weight-body:400;
 --weight-heading:500;
 --weight-product:600;
 --body-ink:#526875;
 --caption-ink:#667f8c;
}
body{font-size:var(--type-body);font-weight:var(--weight-body);font-optical-sizing:auto}
nav{font-size:.9375rem;font-weight:500;line-height:1.5}
.hero h1{font-size:var(--type-display);font-weight:var(--weight-heading);line-height:1.34;letter-spacing:.005em;text-wrap:balance;margin-bottom:28px}
.hero-desc{font-size:1.0625rem;font-weight:400;line-height:1.9;letter-spacing:0;color:#d3e0e5;max-width:460px}
.hero-link{font-size:.9375rem;font-weight:500;line-height:1.6}
.about h2,.section-heading h2,.connect .section-heading h2{font-size:var(--type-section);font-weight:var(--weight-heading);line-height:1.4;letter-spacing:0;text-wrap:balance}
.material-info h3,.agent-intro h3{font-size:var(--type-feature);font-weight:var(--weight-heading);line-height:1.4;letter-spacing:0;text-wrap:balance;margin-bottom:22px}
.about-content p,.material-info .description,.agent-intro>p{font-size:var(--type-body);font-weight:400;line-height:1.9;letter-spacing:0;color:var(--body-ink);text-wrap:pretty}
.about-content p{max-width:32rem}.material-info .description,.agent-intro>p{max-width:26rem}
.section-heading>p,.connect .section-heading p{font-size:var(--type-body-small);font-weight:400;line-height:1.9;color:var(--body-ink)}
.text-link{font-size:var(--type-ui);font-weight:500;line-height:1.6}
.agent-feature .product h4{font-size:var(--type-product);font-weight:var(--weight-product);line-height:1.3;letter-spacing:-.025em;margin-bottom:10px}
.agent-feature .product p{font-size:var(--type-body-small);font-weight:400;line-height:1.85;letter-spacing:0;color:var(--body-ink);text-wrap:pretty;margin-bottom:11px}
.agent-feature .product+.product{margin-top:30px}
.connect-item h3{font-size:1.5rem;font-weight:500;line-height:1.4;letter-spacing:0;margin-bottom:18px}
.connect-item p{font-size:var(--type-body-small);font-weight:400;line-height:1.9;color:var(--body-ink);text-wrap:pretty;min-height:92px}
.connect-item button{font-size:var(--type-ui);font-weight:500;line-height:1.6}
.research-status,.agent-feature .product .research-status{font-size:var(--type-caption);font-weight:400;line-height:1.6;color:var(--caption-ink)}
.tags span{font-size:var(--type-ui);font-weight:400;color:var(--caption-ink)}
.material-caption,.agent-caption{font-size:.75rem;font-weight:400;line-height:1.8;color:#647d89}
.connect-message{font-size:var(--type-caption);font-weight:400;line-height:1.8}
.footer-tagline{font-size:var(--type-caption);font-weight:400;line-height:1.8}
.footer-bottom{font-size:.75rem;font-weight:400;line-height:1.7}
.video-control{font-size:.75rem;font-weight:400}
@media(max-width:1050px){
 :root{--type-display:3.25rem;--type-section:2.25rem;--type-feature:1.875rem;--type-product:1.375rem}
 nav{font-size:.875rem}
}
@media(max-width:720px){
 :root{--type-display:clamp(2rem,8.7vw,2.375rem);--type-section:2rem;--type-feature:1.75rem;--type-product:1.375rem;--type-body:1rem;--type-body-small:.9375rem}
 nav{font-size:.875rem;gap:18px}
 .hero h1{font-size:var(--type-display);font-weight:500;line-height:1.45;letter-spacing:0;margin-bottom:24px}
 .hero-desc{font-size:.9375rem;font-weight:400;line-height:1.9;max-width:310px}
 .hero-link{font-size:.875rem}
 .about h2,.section-heading h2,.connect .section-heading h2{font-size:var(--type-section);line-height:1.4}
 .material-info h3,.agent-intro h3{font-size:var(--type-feature);line-height:1.45;margin-bottom:20px}
 .agent-feature .product h4{font-size:var(--type-product);line-height:1.35}
 .agent-feature .product p{font-size:var(--type-body-small);line-height:1.85}
 .connect-item h3{font-size:1.375rem}
 .connect-item p{font-size:var(--type-body-small);line-height:1.9;min-height:0}
 .material-caption,.agent-caption{font-size:.75rem;line-height:1.8}
 .footer-tagline,.footer-bottom{font-size:.75rem}
}
@media(max-width:360px){header{padding-left:5%;padding-right:5%;gap:8px}nav{font-size:.75rem;gap:12px}}
