.signage-body { background: #fff; color: #24305b; }
.signage-body main { letter-spacing: 0; }
.signage-body main h1, .signage-body main h2, .signage-body main h3 { letter-spacing: 0; overflow-wrap: break-word; }
.signage-body main h2 { margin: 0 0 16px; font-size: 28px; line-height: 1.2; }
.signage-body main h3 { margin: 0 0 10px; font-size: 20px; line-height: 1.3; }
.signage-body main p { margin: 0 0 16px; }
.signage-body main a:focus-visible { outline: 3px solid #d96019; outline-offset: 5px; }
.signage-body main [id] { scroll-margin-top: 110px; }
.signage-hero { position: relative; padding: 180px 0 0; overflow: hidden; }
.signage-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }
.signage-hero-band { position: relative; background: rgba(26, 39, 62, .94); color: #fff; padding: 28px 0 32px; }
.signage-hero-band .wrap { min-width: 0; }
.signage-body .signage-kicker { font-size: 13px; font-weight: 800; line-height: 1.4; margin-bottom: 10px; }
.signage-hero .signage-kicker { color: #c8eaf2; }
.signage-body .signage-hero h1 { color: #fff; font-size: 40px; line-height: 1.15; margin: 0 0 14px; max-width: 920px; }
.signage-body .signage-lead { max-width: 740px; font-size: 18px; line-height: 1.55; margin: 0 0 20px; }
.signage-body .signage-hero-price { font-size: 16px; margin: 0 0 20px; }
.signage-hero-price strong { font-size: 28px; line-height: 1.1; margin-right: 4px; }
.signage-hero-price span { display: inline-block; margin-left: 16px; color: #e0e8ef; font-size: 14px; }
.signage-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.signage-body .signage-actions .button { min-height: 46px; white-space: normal; text-align: center; }
.signage-secondary { color: #fff; font-size: 15px; text-underline-offset: 5px; }
.signage-jump { border-bottom: 1px solid #dce2e9; background: #f5f7fa; }
.signage-jump .wrap { display: flex; flex-wrap: wrap; column-gap: 28px; row-gap: 8px; padding-block: 15px; }
.signage-jump a { font-size: 14px; font-weight: 700; text-decoration: none; }
.signage-jump a:hover { text-decoration: underline; text-underline-offset: 4px; }
.signage-section { padding-block: 48px; }
.signage-tint { background: #f3f6f7; }
.signage-two-col { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 60px; align-items: start; }
.signage-two-col > * { min-width: 0; }
.signage-intro { max-width: 790px; }
.signage-benefits { margin: 0; padding: 0; list-style: none; }
.signage-benefits li { border-left: 3px solid #278175; padding-left: 20px; margin-bottom: 23px; }
.signage-benefits li:last-child { margin-bottom: 0; }
.signage-benefits strong, .signage-benefits span { display: block; }
.signage-benefits strong { font-size: 19px; margin-bottom: 5px; }
.signage-benefits span { color: #4c5967; }
.signage-cases { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 26px; }
.signage-cases article { padding: 24px; background: #fff; border: 1px solid #dce2e9; border-radius: 6px; }
.signage-cases article:nth-child(1) { border-top: 3px solid #278175; }
.signage-cases article:nth-child(2) { border-top: 3px solid #bd5b32; }
.signage-cases article:nth-child(3) { border-top: 3px solid #104cba; }
.signage-body .signage-case-label { font-weight: 800; font-size: 13px; color: #4c5967; margin-bottom: 10px; }
.signage-body .signage-example { border-top: 1px solid #e1e6ea; padding-top: 14px; margin: 16px 0 0; font-size: 14px; color: #4c5967; }
.signage-body .signage-note { margin: 22px 0 0; font-size: 14px; color: #4c5967; }
.signage-options { margin: 0; padding-left: 28px; }
.signage-options li { padding: 0 0 18px 6px; margin-bottom: 18px; border-bottom: 1px solid #dce2e9; }
.signage-options li::marker { font-weight: 800; color: #104cba; }
.signage-options li:last-child { border-bottom: 0; margin: 0; padding-bottom: 0; }
.signage-options li p { margin-bottom: 0; }
.signage-prices { margin: 22px 0 16px; }
.signage-prices > div { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding-block: 12px; border-bottom: 1px solid #dce2e9; }
.signage-prices dt { font-size: 16px; }
.signage-prices dd { margin: 0; font-size: 28px; line-height: 1.2; font-weight: 800; white-space: nowrap; }
.signage-body .signage-price-note { color: #4c5967; font-size: 14px; }
.signage-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; margin: 24px 0 0; padding: 0; list-style: none; counter-reset: step; }
.signage-steps li { counter-increment: step; }
.signage-steps li::before { content: "0" counter(step); display: block; color: #278175; font-size: 15px; font-weight: 800; margin-bottom: 8px; }
.signage-steps li p { margin-bottom: 0; }
.signage-faq { max-width: 880px; }
.signage-faq details { border-bottom: 1px solid #dce2e9; }
.signage-faq summary { padding: 17px 28px 17px 0; font-weight: 700; cursor: pointer; line-height: 1.4; }
.signage-faq details > p { padding-bottom: 18px; color: #4c5967; }
.signage-contact { background: #edf5f3; border-top: 1px solid #d9e6e2; }
.signage-contact .signage-links { padding-left: 28px; border-left: 1px solid #b8d3cd; }
.signage-links a { display: block; margin-top: 12px; font-size: 15px; text-underline-offset: 3px; }
.signage-body .signage-direct { margin: 20px 0 0; font-size: 15px; line-height: 1.8; }
.signage-body main .button { max-width: 100%; min-height: 44px; overflow-wrap: break-word; }
@media (max-width: 960px) {
  .signage-two-col { gap: 32px; }
  .signage-cases { gap: 14px; }
  .signage-cases article { padding: 18px; }
}
@media (max-width: 760px) {
  .signage-body .topbar { font-size: 12px; }
  .signage-body .topbar-inner { padding-block: 5px; }
  .signage-body .topbar-contact { gap: 2px; }
  .signage-body .nav-inner { min-height: 65px; }
  .signage-body main { font-size: 15px; }
  .signage-body main h2 { font-size: 25px; }
  .signage-body main h3 { font-size: 19px; }
  .signage-hero { padding-top: 132px; }
  .signage-hero-image { object-position: 73% top; height: 290px; }
  .signage-hero-band { padding-block: 22px 25px; background: #1a273e; }
  .signage-body .signage-hero h1 { font-size: 30px; line-height: 1.15; margin-bottom: 12px; }
  .signage-body .signage-lead { font-size: 16px; line-height: 1.5; margin-bottom: 18px; }
  .signage-hero-price span { display: block; margin: 4px 0 0; }
  .signage-actions { gap: 15px; }
  .signage-body .signage-actions .button { width: 100%; padding-inline: 12px; font-size: 14px; }
  .signage-jump .wrap { gap: 10px 20px; padding-block: 13px; }
  .signage-section { padding-block: 32px; }
  .signage-two-col, .signage-cases, .signage-steps { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .signage-cases { gap: 14px; margin-top: 20px; }
  .signage-cases article { padding: 20px; }
  .signage-benefits li { margin-bottom: 18px; padding-left: 15px; }
  .signage-contact .signage-links { border-left: 0; border-top: 1px solid #b8d3cd; padding: 22px 0 0; }
  .signage-contact .button { font-size: 14px; white-space: normal; text-align: center; }
}
@media (max-width: 360px) {
  .signage-body .signage-hero h1 { font-size: 28px; }
  .signage-hero { padding-top: 80px; }
  .signage-hero-band { padding-block: 18px; }
  .signage-body .signage-lead, .signage-body .signage-hero-price { margin-bottom: 16px; }
  .signage-actions .signage-secondary { display: none; }
}

.signage-hero { padding-top: min(33.333333vw, 600px); }
.signage-hero-image { height: min(33.333333vw, 600px); object-position: center; }
.signage-hero-band { background: #1a273e; }
.signage-body .signage-lead { margin-bottom: 18px; }
.signage-body .signage-hero h1 { font-size: 36px; }
.signage-benefits li { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 14px; border-left: 0; padding-left: 0; }
.signage-icon { width: 32px; height: 32px; flex: none; color: #237a6e; }
.signage-case-icon { width: 36px; height: 36px; margin-bottom: 14px; color: #237a6e; }
.signage-cases article:nth-child(2) .signage-case-icon { color: #ad5128; }
.signage-cases article:nth-child(3) .signage-case-icon { color: #104cba; }
.signage-body .signage-cases h3 { max-width: 270px; }
.signage-case-result { margin-top: 16px; padding-top: 14px; border-top: 1px solid #e1e6ea; font-size: 15px; font-weight: 700; }
@media (min-width: 960px) {
  .signage-hero { padding: 0; min-height: 440px; display: flex; align-items: center; }
  .signage-hero-image { height: 100%; object-fit: cover; }
  .signage-hero-band { padding-block: 36px; background: transparent; width: 100%; }
  .signage-hero-band .wrap > * { max-width: min(510px, 46vw); }
  .signage-body .signage-hero h1 { max-width: min(570px, 48vw); }
  .signage-hero-price span { display: block; margin: 6px 0 0; }
  .signage-actions { gap: 18px; }
}
@media (max-width: 760px) {
  .signage-hero { padding-top: 33.333333vw; }
  .signage-hero-image { height: 33.333333vw; object-position: center; }
  .signage-body .signage-hero h1 { font-size: 30px; }
}
@media (max-width: 360px) {
  .signage-body .signage-hero h1 { font-size: 28px; }
  .signage-body .signage-lead { margin-bottom: 14px; }
}
