/* From css\global.css */
@media (max-width: 1100px) {
  .hero {
    min-height: var(--hero-height-tablet);
  }

  .hero__image {
    width: 72%;
    opacity: .62;
  }

  .hero__inner {
    min-height: var(--hero-height-tablet);
  }
}

/* From css\global.css */
@media (max-width: 720px) {
  .button {
    min-height: 44px;
    padding: 0 16px;
    font-size: 11px;
  }

  .logo img {
      width: 185px;
      height: auto;
  }

  .hero {
    min-height: auto;
    background: var(--warm-white);
  }

  .hero::before {
    inset: 0 0 auto;
    height: 390px;
    background: linear-gradient(180deg, rgb(255 250 245 / 0) 0%, rgb(255 250 245 / 0) 48%, rgb(255 250 245 / .55) 78%, var(--warm-white) 100%);
  }

  .hero::after {
    display: none;
  }

  .hero__image {
    position: relative;
    inset: auto;
    width: 100%;
    height: 390px;
    opacity: 1;
    z-index: 0;
    object-position: 62% center;
    filter: saturate(1.14) contrast(1.08);
  }

  .hero__inner {
    min-height: auto;
    display: block;
    padding-top: 24px;
    padding-bottom: 54px;
  }

  .hero__copy {
    max-width: 100%;
  }

  .hero h1 {
    font-size: 52px;
    line-height: .95;
  }

  .hero__side {
    display: none;
  }

  .hero__intro {
    margin-top: 20px;
    font-weight: 500;
  }

  .hero__actions {
    gap: 14px;
  }

  .hero__phone {
    font-size: 21px;
  }

  .hero__foot {
    min-height: 58px;
    margin: -58px 20px 0;
    padding: 0 18px;
  }

  .site-footer {
    padding-top: 52px;
  }

  body.has-mobile-action-bar .site-footer {
    padding-bottom: 104px;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 34px;
    padding-bottom: 34px;
  }

  .footer-brand {
    max-width: 100%;
  }

  .footer-phone {
    font-size: 27px !important;
  }

  .footer-bottom {
    flex-direction: column;
  }

  .footer-legal {
    justify-content: flex-start;
  }

  .mobile-action-bar {
    align-items: center;
    background: rgba(255, 255, 255, .96);
    border: 1px solid rgba(24, 25, 28, .12);
    border-radius: 8px;
    box-shadow: 0 20px 54px rgba(24, 25, 28, .20);
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr 1fr;
    left: 14px;
    opacity: 0;
    padding: 10px;
    pointer-events: none;
    position: fixed;
    right: 14px;
    bottom: 12px;
    transform: translateY(18px);
    transition: opacity .2s ease, transform .2s ease;
    z-index: 80;
  }

  .mobile-action-bar.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .mobile-action-bar a {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    justify-content: center;
    letter-spacing: .08em;
    min-height: 46px;
    text-transform: uppercase;
  }

  .mobile-action-bar__call {
    background: var(--ink);
    border: 1px solid var(--ink);
    color: #fff;
  }

  .mobile-action-bar__schedule {
    background: var(--orange);
    border: 1px solid var(--orange);
    color: #fff;
  }
}

/* From css\style.css */
@media (max-width: 900px) {
  .closing__emergency {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .closing__headline h2 {
    font-size: clamp(38px, 11vw, 58px);
  }

  .closing__ticker {
    grid-template-columns: repeat(2, 1fr);
  }

  .closing__bg {
    object-position: 68% center;
  }
}

/* From css\style.css */
@media(max-width:1100px) {

  .homeproof__inner,
  .home-systems__grid {
    grid-template-columns: 1fr;
  }

  .homeproof__item {
    border-left: 0;
    border-top: 1px solid var(--line);
    padding: 18px 0;
  }

  .homeproof__item:first-child {
    border-top: 0;
  }

  .brand-wall {
    grid-template-columns: repeat(3, 1fr);
  }

  .commercial-brand-strip {
    align-items: flex-start;
    grid-template-columns: 1fr;
  }

  .commercial-brand-strip ul {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: flex-start;
  }

  .commercial-brand-strip a {
    align-items: center;
    border: 1px solid rgba(255, 255, 255, .14);
    display: flex;
    justify-content: center;
    min-height: 52px;
    padding: 12px 14px;
    text-align: center;
  }
}

/* From css\style.css */
@media(max-width:720px) {

  .hero__copy .eyebrow {
    display: none;
  }

  .site-header__inner {
    min-height: 76px;
  }

  .brand-wall {
    grid-template-columns: 1fr;
  }

  .commercial-brand-strip {
    padding: 18px;
  }

  .commercial-brand-strip ul {
    grid-template-columns: 1fr;
  }

  .commercial-brand-strip a {
    font-size: 20px;
    min-height: 58px;
  }

  .process__step+.process__step {
    border-left: 0;
    padding-left: 0;
  }
}

/* From css\style.css */
@media (max-width: 720px) {
  .simple-box--media {
    grid-template-rows: 220px 1fr;
    padding: 10px;
  }

  .simple-box--media::before {
    top: 228px;
  }

  .prose .wp-block-separator {
      margin: 25px 0;
  }
}

/* From css\contacts.css */
@media (max-width: 1100px) {
  .contact-hero__grid,
  .contact-request__grid,
  .contact-followup__grid,
  .contact-notes__grid {
    grid-template-columns: 1fr;
  }

  .contact-hero__panel {
    height: 475px;
  }

  .contact-hero__panel img {
    min-height: 0;
  }

  .contact-request__side {
    position: static;
  }

  .contact-followup__steps {
    grid-template-columns: 1fr;
  }

  .contact-followup__steps li + li {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, .16);
  }

  .contact-notes__grid > div + div {
    padding-left: 0;
    background: linear-gradient(90deg, transparent 0%, var(--line) 12%, var(--line) 88%, transparent 100%) top / 100% 1px no-repeat;
  }
}

/* From css\contacts.css */
@media (max-width: 720px) {
  .contact-hero {
    padding: 62px 0 52px;
  }

  .contact-hero::before {
    width: 58%;
  }

  .contact-hero__grid,
  .contact-request__grid {
    gap: 34px;
  }

  .contact-hero__facts {
    grid-template-columns: 1fr;
  }

  .contact-hero__panel,
  .contact-hero__panel img {
    height: 520px;
    min-height: 0;
  }

  .contact-hero__card {
    left: 18px;
    right: 18px;
    bottom: 18px;
    padding: 22px;
  }

  .contact-hero__card a {
    font-size: 31px;
  }

  .contact-followup__title {
    font-size: clamp(30px, 9vw, 42px);
  }

  .contact-request {
    padding: 58px 0 66px;
  }

  .contact-followup {
    padding: 58px 0;
  }

  .contact-followup__steps li {
    padding: 24px 0;
  }

  .contact-notes {
    padding: 12px 0 62px;
  }

  .contact-notes__grid > div {
    padding: 24px 0 0;
  }
}

/* From css\content.css */
@media (max-width: 760px) {
  .prose .service-note-grid {
    grid-template-columns: 1fr;
  }

  .prose .cta-strip {
    display: block;
  }
}

/* From css\content.css */
@media (max-width: 760px) {
  .detail-hero {
    --detail-mobile-image-height: 900px;
    background: var(--white);
    min-height: 0;
    padding: 44px 0 0;
  }

    .detail-hero::before {
        background-color: rgb(31 26 23 / 78%);
        background-image: var(--detail-bg);
        background-blend-mode: multiply;
        background-position: center;
        background-size: cover;
        content: "";
        height: var(--detail-mobile-image-height);
        inset: 0 0 auto;
        position: absolute;
        z-index: 0;
    }

    .detail-request h2 {
    margin: 18px 0 -7px;
}

  .detail-hero__grid {
    grid-template-columns: 1fr;
    min-height: 0;
    gap:0;
  }

  .content-section{
    padding: 40px 0 60px 0;
  }

  .detail-request {
    bottom: auto;
    box-shadow: 0 22px 60px rgba(0, 0, 0, .18);
    margin-bottom: 0;
    margin-top: 0;
    min-height: 560px;
    padding: 24px;
    position: relative;
    top: auto;
    width: auto;
    z-index: 3;
  }

  .prose .wp-block-buttons {
    align-items: stretch;
    flex-direction: column;
  }

  .prose h3 {
    margin-top: 20px;
  }

  .prose h4 {
    margin-top: 22px;
  }

  .prose .wp-block-table {
    border-radius: 12px;
    margin: 30px 0;
    overflow: visible;
  }

  .prose .wp-block-table table,
  .prose .wp-block-table tbody,
  .prose .wp-block-table tr,
  .prose .wp-block-table td {
    display: block;
    width: 100%;
  }

  .prose .wp-block-table table {
    font-size: 14px;
    min-width: 0;
    width: 100%;
  }

  .prose .wp-block-table thead,
  .prose .wp-block-table .table-mobile-header {
    display: none;
  }

  .prose .wp-block-table tbody tr {
    background: var(--white);
    border-bottom: 1px solid var(--line);
    display: grid;
    gap: 10px;
    padding: 18px;
  }

  .prose .wp-block-table tbody tr:nth-child(even),
  .prose .wp-block-table tbody tr:nth-child(odd):not(:first-child) {
    background: var(--white);
  }

  .prose .wp-block-table tbody tr:last-child {
    border-bottom: 0;
  }

  .prose .wp-block-table td {
    border-bottom: 0;
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 0;
    width: 100%;
  }

  .prose .wp-block-table td::before {
    color: var(--orange-deep);
    content: attr(data-label);
    display: block;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    line-height: 1.25;
    text-transform: uppercase;
  }

  .prose .wp-block-table td + td {
    border-top: 1px solid var(--line-soft);
    padding-top: 10px;
  }

  .prose .wp-block-button,
  .prose .wp-block-button__link {
    width: 100%;
  }
}

/* Existing media.css */
@media (max-width: 1100px) {
  body.mobile-menu-open {
    overflow: hidden;
    position: fixed;
    width: 100%;
  }

  .site-header__inner {
    grid-template-columns: auto 1fr;
    position: relative;
  }

  .footer-grid {
      grid-template-columns: 1fr;
  }

  .menu-toggle {
    display: inline-flex;
  }

  .main-nav {
    background: #fff;
    border-top: 1px solid var(--line-soft);
    box-shadow: 0 34px 70px rgba(24, 25, 28, .14);
    display: block;
    left: 0;
    margin-left: 0;
    max-height: calc(100dvh - 92px);
    min-height: calc(100dvh - 92px);
    opacity: 0;
    overflow-y: auto;
    padding: 28px 22px 34px;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 100%;
    transform: translateY(-10px);
    transition: opacity .18s ease, transform .18s ease;
    z-index: 60;
    width: auto;
  }

  .mobile-menu-open .main-nav {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .main-nav .nav-menu {
    display: grid;
    gap: 0;
    margin: 0 auto;
    max-width: 390px;
    width: 100%;
  }

  .main-nav .nav-menu .menu-item {
    border-bottom: 1px solid var(--line-soft);
  }

  .main-nav .nav-menu .menu-item:first-child {
    border-top: 1px solid var(--line-soft);
  }

  .main-nav .nav-menu a,
  .main-nav > a {
    align-items: center;
    border-radius: 0;
    color: var(--ink);
    display: flex;
    font-size: 22px;
    font-weight: 800;
    justify-content: space-between;
    letter-spacing: 0;
    line-height: 1.15;
    min-height: 62px;
    padding: 0 2px;
    text-align: left;
    width: 100%;
  }

  .main-nav .nav-menu a::after,
  .main-nav > a::after {
    color: var(--orange);
    content: "\2192";
    display: inline-block;
    font-size: 18px;
    font-weight: 900;
    margin-left: 18px;
  }

  .main-nav .nav-menu a:hover,
  .main-nav .nav-menu a:focus-visible,
  .main-nav > a:hover,
  .main-nav > a:focus-visible {
    background: transparent;
    color: var(--orange-deep);
  }

  .mobile-menu-actions {
    display: grid;
    gap: 14px;
    justify-items: center;
    margin: 28px auto 0;
    max-width: 320px;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-10px);
    transition: opacity .18s ease, transform .18s ease;
    width: 100%;
  }

  .mobile-menu-open .mobile-menu-actions {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .main-nav .mobile-menu-actions .mobile-menu-actions__phone {
    align-items: center;
    background: transparent;
    border: 0;
    border-right: 0;
    display: grid;
    font-size: 31px;
    gap: 5px;
    justify-content: center;
    letter-spacing: 0;
    line-height: 1;
    min-height: 72px;
    padding: 12px 16px;
    text-align: center;
    width: 100%;
  }

  .main-nav .mobile-menu-actions .mobile-menu-actions__phone span {
    color: var(--muted);
    font-size: 12px;
    letter-spacing: .12em;
    line-height: 1;
  }

  .mobile-menu-actions .button {
    width: 100%;
  }

  .header-actions {
    justify-self: end;
  }

  .header-actions .button {
    display: none;
  }

  .header-actions .call-link {
    border-right: 1px solid var(--line);
    display: none;
    font-size: 16px;
    padding-right: 14px;
    text-align: right;
  }

  .quick-bar__grid {
    grid-template-columns: 1fr;
  }

  .quick-bar__grid>div {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
  }

  .quick-bar__grid>div:last-child {
    border-bottom: 0;
  }

  .services__grid {
    grid-template-columns: repeat(6, 1fr);
  }

  h2 {
      font-size: 43px;
      line-height: 1.18;
  }

  .service,
  .service:nth-child(1),
  .service:nth-child(2),
  .service:nth-child(3),
  .service:nth-child(4),
  .service:nth-child(5) {
    grid-column: span 3;
  }

  .issues__grid,
  .simple-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .technical,
  .areas__grid,
  .appointment__grid,
  .faq__grid,
  .statement__grid,
  .contact-panel {
    grid-template-columns: 1fr;
  }

  .contact-hero__grid,
  .contact-request__grid,
  .contact-notes__grid {
    grid-template-columns: 1fr;
  }

  .contact-request__side {
    position: static;
  }

  .contact-notes__grid>div+div {
    padding-left: 0;
    background: linear-gradient(90deg, transparent 0%, var(--line) 12%, var(--line) 88%, transparent 100%) top / 100% 1px no-repeat;
  }

  .statement__body {
    padding-left: 0;
    border-left: 0;
    border-top: 4px solid var(--orange);
    padding-top: 28px;
  }
}

@media (max-width: 720px) {

  .hero h1,
  .page-hero h1,
  .page-hero--image h1,
  .detail-hero h1,
  .simple-box__body h3,
  .service__text h3,
  .contact-hero__copy h1 {
    max-width: 100%;
    min-width: 0;
    overflow-wrap: break-word;
    word-break: normal;
  }

  .hero__image {
    height: 495px;
  }

  .hero h1 {
      font-size: 47px;
      font-weight: 800;
      line-height: 1.12;
              text-shadow: 0 0 1px rgba(255, 255, 255, .75), 0 0 80px rgba(255, 255, 255, .75), 0 0 12px rgba(255, 255, 255, -0.55);
  }
  

  .hero::before{
    height: 546px;
  }

  .title-block {
    margin-bottom: 40px;
  }
  .hero__inner {
    top: -195px;
    margin-bottom: -195px;
  }

  .hero__phone{
    text-align: center;
  }

  .hero__copy {
    text-align: center;
  }

  .hero__actions {
    justify-content: center;
    gap: 20px;
        margin-top: 34px;
        padding-top: 40px;
          border-top: 1px solid #c9c3be9d;
  }

  .hero::before {
    background: linear-gradient(180deg, rgb(255 250 245 / 0%) 0%, rgb(255 250 245 / 21%) 54%, rgb(255 250 245 / .14) 18%, rgb(255 250 245 / .74) 72%, rgb(255 250 245 / .94) 90%, var(--warm-white) 100%);
  }

  .hero__image {
    object-position: 60% center;
  }
/* 
  .hero__inner {
    margin-top: -124px;
    padding-top: 0;
    position: relative;
    z-index: 2;
  } */

  /* .hero__copy {
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 24px 70px rgba(17, 19, 24, .16);
    margin-inline: -2px;
    padding: 26px 22px 30px;
  } */


  .prose .wp-block-table td:first-child {
      padding-left: 0;
  }

  .title-block{
    grid-template-columns: 1fr;
  }

  h2{
    font-size: 38px;
  }

  .title-center{
    width: 100%;
  }

  .title-block {
    gap: 25px;

  }

  .title-center h2 {
    font-size: clamp(34px, 10vw, 44px);
    letter-spacing: 0;
    overflow-wrap: normal;
    text-wrap: balance;
    word-break: normal;
  }

  .title-center > *,
  .title-center .section-head__note {
    min-width: 0;
    max-width: 100%;
  }

  .site-header__inner {
    min-height: 66px;
    padding: 0 18px;
    gap: 14px;
  }

  .logo__primary {
    font-size: 20px;
  }

  .logo__secondary {
    margin-top: 4px;
    font-size: 11px;
    letter-spacing: .18em;
  }

  .mobile-menu-actions .call-link {
    display: grid;
  }

  .quick-bar__grid>div {
    padding: 22px 20px;
  }

  .bar-item h4 {
    margin: 6px 0 7px;
    font-size: 17px;
  }

  .bar-item p {
    max-width: 32ch;
  }

  .marquee__inner {
    min-height: auto;
    padding-block: 22px;
  }

  .marquee__list {
    gap: 10px 18px;
  }

  .marquee__list li {
    font-size: 15px;
  }

  .section-head {
    grid-template-columns: 1fr;
    gap: 20px;
    padding-bottom: 28px;
    margin-bottom: 30px;
  }

  .contact-hero {
    padding: 62px 0 52px;
  }

  .contact-hero__grid,
  .contact-request__grid {
    gap: 34px;
  }

  .contact-hero__panel a {
    font-size: 32px;
  }

  .contact-request {
    padding: 58px 0 66px;
  }

  .contact-notes {
    padding: 12px 0 62px;
  }

  .contact-notes__grid>div {
    padding: 24px 0 0;
  }

  .services__grid,
  .issues__grid,
  .process__list,
  .brands__list,
  .simple-grid {
    grid-template-columns: 1fr;
  }

  .service,
  .service:nth-child(1),
  .service:nth-child(2),
  .service:nth-child(3),
  .service:nth-child(4),
  .service:nth-child(5) {
    grid-column: 1;
    min-height: 325px;
    overflow: hidden;
    padding: 26px;
  }

  .service__text,
  .service:nth-child(1) .service__text {
    max-width: 320px;
    padding-right: 34px;
  }

  .service__text h3,
  .service:nth-child(1) .service__text h3 {
    font-size: 31px;
  }

  .service__frame img,
  .service:nth-child(1) .service__frame img,
  .service:nth-child(2) .service__frame img,
  .service:nth-child(3) .service__frame img,
  .service:nth-child(4) .service__frame img,
  .service:nth-child(5) .service__frame img {
    right: -128px;
        bottom: -36px;
        width: 104%;
        height: 82%;
        opacity: 0.23;
  }

  .foot-section-description {
      text-align: center;
      margin-top: 30px;
  }

  .commercial-brand-strip a {
      font-size: 21px;
  }

  .home-systems::before {
    top: 56px;
    height: calc(100% - 112px);
    width: 5px;
  }

  .home-systems__grid {
    gap: 34px;
  }

  .home-systems__intro p:not(.section-label) {
    font-size: 17px;
  }

  .systems-list {
    padding-top: 0;
  }

  .systems-list div {
    grid-template-columns: 1fr;
    gap: 12px;
    min-height: auto;
    padding: 24px 0;
  }

  .systems-list strong {
    max-width: 100%;
    font-size: 24px;
    line-height: 1.16;
  }

  .technical__media {
    height: clamp(360px, 58vw, 520px);
  }

  .technical__repair-shard {
    height: min(100%, 310px);
    width: min(100%, 310px);
  }

  .areas__map {
    min-height: 360px;
  }

  .technical__panel {
    padding: 52px 20px;
  }

  .process__step+.process__step,
  .brands__list li:nth-child(even),
  .areas__links a:nth-child(even) {
    border-left: 0;
  }

  .process__step+.process__step {
    background-image: linear-gradient(90deg, transparent 0%, var(--line) 12%, var(--line) 88%, transparent 100%);
    background-position: top left;
    background-size: 100% 1px;
    background-repeat: no-repeat;
  }

  .process__step,
  .brands__list li:nth-child(odd),
  .brands__list li:nth-child(even) {
    padding-left: 0;
    padding-right: 0;
  }

  .areas__links {
    grid-template-columns: 1fr;
  }

  .appointment__form,
  .appointment__form iframe {
    min-height: 525px;
  }

  .page-hero--image {
    padding:65px 0
  }

  .contact-hero__copy h1,
  .page-hero--image h1 {
    font-size: 48px;
    line-height: 1.07;
    letter-spacing: normal;
    letter-spacing: normal;
  }

  .closing__headline h2 {
    line-height: 1.2;
  }

  .detail-hero__copy {
    padding-top: 0;
    padding-bottom:44px;
  }

  .detail-hero h1 {
    font-size:47px;
    letter-spacing: 0;
    line-height: 1.23;
  }
}
