/* SUIT: https://sun.fo/suit/ | SIL OFL, see assets/fonts/SUIT-LICENSE.txt */
@font-face {
  font-family: 'SUIT Variable';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('assets/fonts/SUIT-Variable.woff2') format('woff2');
}
:root { --font: 'SUIT Variable', 'Malgun Gothic', 'Apple SD Gothic Neo', sans-serif; }
body { font-size: 16px; font-weight: 400; }
button, input, select, textarea { font-family: var(--font); }
.hero h1 { font-size: 42px; font-weight: 300; letter-spacing: -.025em; line-height: 1.5; }
h2, .intro h2, .application h2, .approach h2 { font-size: 28px; font-weight: 400; letter-spacing: -.025em; line-height: 1.55; }
.hero-copy > p:not(.eyebrow) { font-size: 16px; line-height: 1.85; }
.body-copy, .company-principles p, .future-topics p, .application-desc,
.application #scene-panel, .product-body, .faq details p, .steps p {
  font-size: 15px; line-height: 1.85;
}
.body-copy { font-size: 16px; }
.menu-toggle, .header-contact, .button, .contact-dialog form > .button,
.text-link, .scene-tabs button { font-size: 13px; font-weight: 500; }
.menu-toggle, .header-contact { min-height: 44px; }
.company-principles h3, .future-topics h3, .steps h3 { font-size: 17px; font-weight: 500; line-height: 1.7; }
.steps li { padding: 18px 0; }
.steps li > span { margin-top: 7px; }
.product-name { font-size: 21px; font-weight: 400; letter-spacing: -.015em; }
.product-name small { font-size: 10px; }
.product-use, .spec-note { font-size: 13px; line-height: 1.85; }
.product-specs > div { font-size: 15px; line-height: 1.85; }
.product-specs dt { font-weight: 500; }
.section-heading > p:last-child, .faq summary { font-size: 16px; line-height: 1.85; }
.company-caption, .product-footnote, .development-note, .contact-channels > p,
.footer-company, footer nav, .privacy-note, #email-ready small,
.form-row small { font-size: 12px; line-height: 1.85; }
.footer-bottom { font-size: 11px; line-height: 1.85; }
.contact-dialog h2 { font-size: 25px; font-weight: 400; }
.dialog-intro, form label, #form-status, #email-ready { font-size: 14px; line-height: 1.85; }
input, select, textarea { font-size: 16px; }
form label > span { font-size: 11px; }
.phone, .contact-email { font-size: 15px; }
.menu-dialog nav a { font-family: var(--font); font-size: 28px; font-weight: 400; }
.menu-bottom { font-size: 15px; }
@media (max-width: 900px) {
  .hero h1 { font-size: 38px; }
  .approach-copy { padding: 46px 28px; }
}
@media (max-width: 600px) {
  .hero h1 { font-size: 30px; font-weight: 300; }
  h2, .intro h2, .application h2, .approach h2 { font-size: 26px; }
  .body-copy, .hero-copy > p:not(.eyebrow) { font-size: 15px; }
  .hero-copy > p:not(.eyebrow) { max-width: 290px; }
  .menu-toggle, .header-contact, .button, .contact-dialog form > .button,
  .text-link, .scene-tabs button { font-size: 13px; }
  .application { min-height: 730px; }
  .application #scene-panel { min-height: 135px; }
  .company-principles h3, .future-topics h3, .steps h3 { font-size: 16px; }
  .product-name { font-size: 20px; }
  .product-specs > div { font-size: 14px; grid-template-columns: 68px 1fr; }
  .faq summary { font-size: 15px; }
  .contact-dialog h2 { font-size: 23px; }
  .contact-dialog form > .button { width: 100%; margin-right: 0; }
  .contact-dialog { padding-left: 22px; padding-right: 22px; }
  .approach-copy { padding: 52px 20px 46px; }
  .menu-dialog nav a { font-size: 26px; }
}
