/* Shared marketing typography. Component UI labels retain their own hierarchy. */
:root{
  --display:NexusManrope,Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;
  --body:NexusInter,Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  --section-heading-size:clamp(2rem,3.4vw,3rem);
  --section-subheading-size:1.25rem;
  --section-copy-gap:20px;
  --section-label-gap:18px;
}
main h2.section-heading{
  font-family:var(--display);
  font-size:var(--section-heading-size);
  font-weight:600;
  font-style:normal;
  line-height:1.2;
  letter-spacing:-.03em;
  text-wrap:balance;
  color:var(--ink);
}
main h2.section-heading em{
  font:inherit;
  color:var(--accent);
}
main p.section-subheading{
  font-family:var(--body);
  font-size:var(--section-subheading-size);
  font-weight:400;
  font-style:normal;
  line-height:1.55;
  letter-spacing:normal;
  color:var(--muted);
  max-width:56ch;
  margin-top:var(--section-copy-gap)!important;
  text-wrap:pretty;
}
main p.section-label{
  display:block;
  font:700 .75rem/1.4 var(--body);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--accent);
  margin:0 0 var(--section-label-gap)!important;
}
main p.section-label::before{content:none}
.nx-intro h1 span{color:var(--accent)}
.nx-intro p{
  font:400 var(--section-subheading-size)/1.55 var(--body);
  color:var(--muted);
  margin-top:var(--section-copy-gap);
}
.nx-intro p span{font-size:1rem;line-height:1.55}
.close h2.section-heading{color:#fff}
.close p.section-subheading{color:#d2dfe8;margin-inline:auto}
@media(max-width:820px){
  :root{--section-heading-size:2rem;--section-subheading-size:1rem;--section-copy-gap:16px;--section-label-gap:16px}
}
