/* Shared readable type scale, loaded after the design styles. */
body {
  font-family: 'Segoe UI', Arial, sans-serif;
  font-size: 13px;
  line-height: 1.65;
  color: #193337;
}
p {
  line-height: 1.75;
  color: #526762;
}
h2 {
  font-size: 28px;
  line-height: 1.25;
}
h3 {
  line-height: 1.35;
}
.kicker {
  font-size: 12px;
  letter-spacing: 0.1em;
}
.top {
  font-size: 12px;
}
.top .wrap {
  min-height: 33px;
}
.brand > span {
  font-size: 14px;
}
.brand small {
  font-size: 9px;
}
.head {
  gap: 24px;
}
.head nav {
  gap: 16px;
}
.head nav a {
  font-size: 14px;
  font-weight: 650;
  padding-top: 25px;
  padding-bottom: 23px;
}
.btn {
  font-size: 15px;
  padding: 12px 22px;
}
.text-link,
.video-contact {
  font-size: 15px;
}
.hero p {
  font-size: 16px;
  line-height: 1.75;
}
.tags {
  font-size: 12px;
  flex-wrap: wrap;
}
.hero-product > small {
  font-size: 11px;
}
.caption b {
  font-size: 19px;
}
.caption span {
  font-size: 12px;
}
.caption strong {
  font-size: 23px;
}
.caption strong small {
  font-size: 12px;
}
.shortcuts b {
  font-size: 15px;
  line-height: 1.45;
}
.shortcuts small {
  font-size: 13px;
  line-height: 1.6;
}
.model-info h3 {
  font-size: 24px;
}
.model-info small {
  font-size: 13px;
}
.model-info > strong {
  font-size: 22px;
  display: flex;
  align-items: baseline;
  gap: 5px;
  flex-wrap: wrap;
}
.model-bottom {
  font-size: 13px;
  flex-wrap: wrap;
  row-gap: 8px;
}
.model-bottom button {
  font-size: 14px;
  line-height: 1.5;
  padding: 3px 0;
}
.model-pic > span {
  font-size: 10px;
}
.mini-about p {
  font-size: 16px;
  line-height: 1.8;
}
.process span {
  font-size: 15px;
  padding: 10px 0;
}
.cta small {
  font-size: 12px;
}
.cta h2 {
  font-size: 25px;
}
.page-title p {
  font-size: 16px;
}
.crumb {
  font-size: 13px;
}
.note {
  font-size: 14px;
  line-height: 1.75;
}
table {
  font-size: 12px;
}
th,
td {
  padding: 13px 15px;
}
.two-col > div > p,
.brief ul {
  font-size: 16px;
  line-height: 1.8;
}
.brief > small {
  font-size: 12px;
}
.link-grid b {
  font-size: 18px;
}
.link-grid span {
  font-size: 14px;
  line-height: 1.7;
}
.filters button {
  font-size: 14px;
  padding: 9px 15px;
}
.gallery-item > span {
  font-size: 14px;
  line-height: 1.5;
}
.service-cards p {
  font-size: 16px;
  line-height: 1.75;
}
.search {
  font-size: 14px;
}
.search input {
  font-size: 16px;
  padding: 12px;
}
.faq summary {
  font-size: 16px;
  line-height: 1.6;
}
.faq p {
  font-size: 15px;
  line-height: 1.8;
}
.doc {
  font-size: 15px;
  line-height: 1.7;
}
.muted {
  font-size: 13px;
  line-height: 1.7;
}
.contact-list small {
  font-size: 12px;
}
.contact-list strong {
  font-size: 24px;
}
.video-eyebrow {
  font-size: 15px;
}
.video-hero-content > p {
  font-size: 20px;
  line-height: 1.65;
}
.video-bottom {
  font-size: 11px;
  letter-spacing: 0.06em;
}
.video-toggle {
  font-size: 12px;
}
.wa-copy strong {
  font-size: 14px;
}
.wa-copy small {
  font-size: 11px;
}
dialog dl > div {
  font-size: 16px;
}
.image-note {
  font-size: 14px;
}
.service-strip .service-tile {
  display: flex;
  flex-direction: column;
}
.service-strip .service-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 19px;
}
.service-strip .service-copy h3 {
  font-size: 18px;
  line-height: 1.4;
  min-height: 50px;
  margin-top: 0;
}
.service-strip .service-copy p {
  font-size: 15px;
  line-height: 1.75;
  min-height: 0;
  margin-bottom: 17px;
  color: #526762;
}
.service-strip .service-more {
  font-size: 14px;
  margin-top: auto;
}
.footer-intro p {
  font-size: 15px;
  line-height: 1.8;
  color: #c0d0c7;
}
.footer-signoff {
  font-size: 13px;
  color: #abcbb5;
}
.site-footer .footer-brand span {
  font-size: 17px;
}
.footer-column h2 {
  font-size: 16px;
}
.footer-column li {
  font-size: 12px;
  line-height: 1.75;
  color: #d0dcd5;
}
.footer-column ul {
  gap: 11px;
}
.footer-contact-item {
  font-size: 12px;
}
.footer-contact-item > span {
  font-size: 12px;
  color: #afc5b8;
}
.footer-contact-item address {
  font-size: 12px;
  line-height: 1.8;
  color: #d0dcd5;
}
.footer-map-link {
  font-size: 14px;
}
.footer-bottom {
  font-size: 12px;
  color: #afc5b8;
}
.footer-grid {
  gap: 30px;
}
@media (max-width: 1100px) {
  .menu {
    display: block;
    margin-left: auto;
  }
  .head {
    min-height: 69px;
  }
  .head nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin: 0;
    background: white;
    padding: 12px 20px;
    border-bottom: 1px solid #dce6df;
    box-shadow: 0 10px 15px #182c3910;
  }
  .head nav.open {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 24px;
  }
  .head nav a {
    font-size: 15px;
    padding: 12px 0;
    border-bottom: 1px solid #dce6df;
  }
  .brand > span {
    font-size: 14px;
  }
  .brand small {
    font-size: 9px;
  }
}
@media (max-width: 900px) {
  .hero p {
    font-size: 16px;
  }
  .shortcuts b {
    font-size: 14px;
  }
  .shortcuts small {
    font-size: 12px;
  }
  .section-head h2 {
    font-size: 27px;
  }
  .model-info {
    align-items: flex-start;
    gap: 8px;
  }
  .model-info > strong {
    font-size: 21px;
  }
  .service-strip .service-copy h3 {
    min-height: 0;
  }
  .footer-grid {
    gap: 32px;
  }
  .footer-intro p {
    max-width: 100%;
  }
}
@media (max-width: 600px) {
  body {
    font-size: 16px;
  }
  .top {
    font-size: 11px;
  }
  .top .wrap {
    min-height: 31px;
    gap: 10px;
  }
  .brand > span {
    font-size: 13px;
  }
  .brand small {
    font-size: 8px;
  }
  .section-head {
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
  }
  .section-head h2 {
    font-size: 25px;
  }
  .section-head > .text-link {
    font-size: 14px;
    margin-top: 0;
    white-space: normal;
  }
  .kicker {
    font-size: 12px;
  }
  .btn {
    font-size: 14px;
    padding: 12px 19px;
  }
  .actions {
    gap: 14px;
  }
  .text-link,
  .video-contact {
    font-size: 14px;
  }
  .video-hero-layout {
    min-height: 460px;
    padding-bottom: 95px;
  }
  .video-hero-content > p {
    font-size: 17px;
    line-height: 1.7;
  }
  .video-eyebrow {
    font-size: 13px;
  }
  .video-bottom {
    flex-wrap: wrap;
    gap: 8px;
    font-size: 10px;
    bottom: 16px;
  }
  .video-toggle {
    font-size: 11px;
  }
  .hero p {
    font-size: 16px;
  }
  .product-hero-title {
    font-size: 32px;
  }
  .tags {
    font-size: 12px;
    gap: 8px 12px;
  }
  .tags span + span {
    padding-left: 12px;
  }
  .caption span {
    font-size: 12px;
  }
  .caption strong {
    font-size: 22px;
  }
  .caption strong small {
    font-size: 12px;
  }
  .shortcuts > a {
    padding: 14px;
  }
  .shortcuts b {
    font-size: 15px;
  }
  .shortcuts small {
    font-size: 13px;
  }
  .model {
    grid-template-columns: 38% 62%;
  }
  .model-pic {
    height: 100%;
    min-height: 180px;
    padding: 20px 8px;
  }
  .model-info {
    padding: 21px 14px 12px;
  }
  .model-info h3 {
    font-size: 23px;
  }
  .model-info > strong {
    font-size: 21px;
  }
  .model-info small {
    font-size: 13px;
  }
  .model-bottom {
    font-size: 13px;
    padding: 10px 14px;
  }
  .model-bottom button {
    font-size: 14px;
  }
  .service-strip .service-copy {
    padding: 15px;
  }
  .service-strip .service-copy h3 {
    font-size: 17px;
    min-height: 0;
    margin: 0 0 10px;
  }
  .service-strip .service-copy p {
    font-size: 15px;
    line-height: 1.7;
    min-height: 0;
  }
  .service-strip .service-more {
    font-size: 13px;
  }
  .mini-about h2 {
    font-size: 26px;
  }
  .mini-about p,
  .process span {
    font-size: 16px;
  }
  .cta h2 {
    font-size: 24px;
  }
  .cta small {
    font-size: 12px;
  }
  .page-title h1 {
    font-size: 30px;
  }
  .page-title p {
    font-size: 16px;
  }
  .crumb {
    font-size: 13px;
  }
  .two-col h2 {
    font-size: 27px;
  }
  .two-col > div > p,
  .brief ul {
    font-size: 16px;
  }
  .service-cards h2 {
    font-size: 23px;
  }
  .service-cards p {
    font-size: 16px;
  }
  .gallery-item > span {
    font-size: 13px;
  }
  .filters button {
    font-size: 13px;
    padding: 9px 12px;
  }
  .contact-list strong {
    font-size: 22px;
  }
  .footer-column h2 {
    font-size: 16px;
  }
  .footer-column li {
    font-size: 14px;
  }
  .footer-intro p {
    font-size: 15px;
  }
  .footer-contact-item {
    display: block;
    width: 100%;
    font-size: 15px;
  }
  .footer-contact-item > span {
    font-size: 12px;
  }
  .footer-contact-item address {
    font-size: 14px;
  }
  .footer-bottom {
    font-size: 12px;
    line-height: 1.7;
  }
  .wa-copy strong {
    font-size: 13px;
  }
  .footer-grid {
    gap: 28px 20px;
  }
  dialog dl > div {
    font-size: 15px;
    gap: 14px;
  }
}
@media (max-width: 380px) {
  .top .wrap {
    font-size: 10px;
    gap: 8px;
  }
  .brand > span {
    font-size: 12px;
  }
  .brand small {
    font-size: 7px;
  }
  .head nav.open {
    grid-template-columns: 1fr;
  }
  .video-hero h1 {
    font-size: 44px;
  }
  .video-hero-layout {
    min-height: 480px;
  }
  .footer-grid {
    grid-template-columns: 1fr;
  }
  .footer-intro,
  .footer-contact-column {
    grid-column: auto;
    grid-row: auto;
  }
  .model-info > strong {
    font-size: 20px;
  }
  .model-info small {
    font-size: 12px;
  }
}
