/* Carlisle Glass Repairs — full-site responsive hardening (v1.4.0).
   Desktop styling is untouched; these rules only apply at tablet/mobile widths. */

@media (max-width:1100px){
  html,body{max-width:100%;overflow-x:clip}
  .carlisle-site img,.carlisle-site video,.carlisle-site iframe{max-width:100%;height:auto}
  .carlisle-site input,.carlisle-site select,.carlisle-site textarea,.carlisle-site button{max-width:100%}
  .carlisle-site *{min-width:0}

  /* Homepage: remove fixed desktop heights/columns safely. */
  .home-page .hero,
  .home-page .trust-strip,
  .home-page .services,
  .home-page .craft,
  .home-page .why,
  .home-page .closer-look,
  .home-page .split-cards,
  .home-page .how-it-works,
  .home-page .testimonials,
  .home-page .faq,
  .home-page .cta-wrap{height:auto}

  .home-page .hero{min-height:0;padding:70px 32px 76px}
  .home-page .hero__inner{width:100%;max-width:900px;grid-template-columns:minmax(0,1fr);gap:34px}
  .home-page .hero__copy{width:100%;max-width:720px}
  .home-page .hero__title{font-size:clamp(42px,6vw,50px);line-height:1.07;letter-spacing:-1.2px;max-width:680px}
  .home-page .hero__lede{max-width:680px}
  .home-page .emergency-card{width:100%;max-width:620px}

  .home-page .trust-strip{padding:26px 28px}
  .home-page .trust-strip__list{grid-template-columns:repeat(3,minmax(0,1fr));max-width:900px}
  .home-page .trust-strip__list li{min-height:78px;padding:12px 16px}
  .home-page .trust-strip__list li+li{border-left:0}

  .home-page .services,
  .home-page .craft,
  .home-page .why,
  .home-page .closer-look,
  .home-page .how-it-works,
  .home-page .testimonials,
  .home-page .faq,
  .home-page .cta-wrap{padding-left:28px;padding-right:28px}

  .home-page .services__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-page .craft__body{grid-template-columns:minmax(0,1fr);gap:28px}
  .home-page .craft__image{height:auto;aspect-ratio:16/10}
  .home-page .why__grid{grid-template-columns:repeat(2,minmax(0,1fr))}

  .home-page .closer-look__track{height:auto}
  .home-page .closer-look__slide{grid-template-columns:minmax(0,1fr)}
  .home-page .closer-look__img{height:320px;border-radius:26px 26px 0 0}
  .home-page .closer-look__panel{border-radius:0 0 26px 26px;padding:38px 34px}

  .home-page .split-cards{grid-template-columns:minmax(0,1fr);max-width:100%;padding-left:28px;padding-right:28px}
  .home-page .split-card{height:auto;min-height:390px}
  .home-page .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .home-page .testimonials__grid{grid-template-columns:minmax(0,1fr)}
  .home-page .faq__grid{grid-template-columns:minmax(0,1fr);gap:34px}
  .home-page .cta-banner{height:auto;min-height:420px}

  /* Services page. */
  .services-page .services-hero,
  .services-page .service-feature,
  .services-page .services,
  .services-page .services-split,
  .services-page .services-why,
  .services-page .how-it-works,
  .services-page .cta-banner{width:min(100% - 40px,1180px)}

  .services-page .services-hero__inner,
  .services-page .service-feature__inner{grid-template-columns:minmax(0,1fr)}
  .services-page .services-hero__copy{padding:48px 44px}
  .services-page .services-hero__title{font-size:clamp(36px,5.5vw,42px)}
  .services-page .services-hero__image,
  .services-page .service-feature__image{height:360px;min-height:360px}
  .services-page .services__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .services-page .services-split{grid-template-columns:minmax(0,1fr)}
  .services-page .why__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .services-page .steps{grid-template-columns:repeat(2,minmax(0,1fr))}

  /* Shared subpages. */
  body.subpage .sp-wrap{width:min(100% - 48px,1176px)}
  body.subpage .sp-hero{height:380px}
  body.subpage .sp-hero-inner{max-width:760px}
  body.subpage .sp-hero h1{font-size:40px}
  body.subpage .about-story-grid,
  body.subpage .quote-grid,
  body.subpage .contact-grid{grid-template-columns:minmax(0,1fr)}
  body.subpage .about-story-media{height:auto;aspect-ratio:4/3}
  body.subpage .about-values-grid,
  body.subpage .about-reviews-grid,
  body.subpage .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.subpage .blog-featured{height:auto;grid-template-columns:minmax(0,1fr)}
  body.subpage .blog-featured-img{height:330px}
  body.subpage .blog-newsletter{flex-direction:column;align-items:stretch}
  body.subpage .blog-news-form{width:100%}
  body.subpage .quote-page-main{min-height:0}
  body.subpage .quote-left{max-width:720px}
  body.subpage .quote-form-card{width:100%}
  body.subpage .contact-main{padding-top:72px;padding-bottom:82px}
  body.subpage .contact-info{max-width:720px}
  body.subpage .single-article__wrap{width:100%;max-width:860px}

  /* Universal footer stays fluid. */
  .cgr-footer__cta,.cgr-footer__grid,.cgr-footer__bottom{min-width:0}
}

@media (max-width:760px){
  /* Header/topbar */
  .cgr-topbar__inner{width:calc(100% - 28px)}
  .cgr-topbar__text{white-space:normal;line-height:1.25;text-align:center}
  .cgr-header__inner{width:calc(100% - 28px)}
  .cgr-header__nav-panel{max-height:calc(100dvh - 96px)}

  /* Homepage */
  .home-page .hero{padding:50px 20px 56px}
  .home-page .hero__inner{gap:27px}
  .home-page .hero__copy{max-width:none}
  .home-page .hero__title{font-size:clamp(34px,9.4vw,41px);line-height:1.06;letter-spacing:-.9px;margin-bottom:18px;overflow-wrap:normal;word-break:normal}
  .home-page .hero__lede{font-size:15px;line-height:1.62;margin-bottom:24px}
  .home-page .hero__ctas{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;width:100%;margin-bottom:26px}
  .home-page .hero__ctas .btn{width:100%;height:auto;min-height:50px;padding:12px 20px;justify-content:center;text-align:center;white-space:normal}
  .home-page .hero__rating{flex-wrap:wrap;align-items:flex-start;gap:8px 12px}
  .home-page .emergency-card{padding:23px 20px;border-radius:18px}
  .home-page .emergency-card__phone{font-size:clamp(23px,7vw,28px);overflow-wrap:anywhere}

  .home-page .trust-strip{padding:22px 20px}
  .home-page .trust-strip__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 0}
  .home-page .trust-strip__list li{min-height:76px;padding:10px 12px;font-size:12px;justify-content:flex-start}

  .home-page .services,
  .home-page .craft,
  .home-page .why,
  .home-page .closer-look,
  .home-page .how-it-works,
  .home-page .testimonials,
  .home-page .faq,
  .home-page .cta-wrap{padding-left:20px;padding-right:20px}

  .home-page .services{padding-top:70px;padding-bottom:68px}
  .home-page .services .section-head,
  .home-page .craft .section-head,
  .home-page .why .section-head,
  .home-page .how-it-works .section-head,
  .home-page .testimonials .section-head{margin-bottom:34px}
  .home-page .section-head h2,
  .home-page .craft .section-head h2,
  .home-page .why .section-head h2,
  .home-page .how-it-works .section-head h2,
  .home-page .testimonials .section-head h2{font-size:clamp(28px,7vw,33px);line-height:1.12}
  .home-page .services__grid{grid-template-columns:minmax(0,1fr);gap:18px}
  .home-page .service-card__img{height:210px}

  .home-page .craft{padding-top:72px;padding-bottom:72px}
  .home-page .craft__image{aspect-ratio:4/3;border-radius:20px}
  .home-page .craft__list{gap:9px}
  .home-page .craft__item{min-height:64px;padding:13px 14px}
  .home-page .craft__item--active{min-height:82px}
  .home-page .marker{width:28px;height:28px;font-size:11px}

  .home-page .why{padding-top:72px;padding-bottom:70px}
  .home-page .why__grid{grid-template-columns:minmax(0,1fr);gap:15px}
  .home-page .why-card{min-height:0;padding:22px;border-radius:18px}

  .home-page .closer-look{padding-top:66px;padding-bottom:54px}
  .home-page .closer-look__head{margin-bottom:30px}
  .home-page .closer-look__title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px}
  .home-page .closer-look__title-row h2{font-size:clamp(27px,7.4vw,31px);line-height:1.08;margin:0;max-width:250px}
  .home-page .carousel-nav{gap:8px}
  .home-page .carousel-btn{width:40px;height:40px}
  .home-page .closer-look__track{border-radius:20px}
  .home-page .closer-look__img{height:250px;border-radius:20px 20px 0 0}
  .home-page .closer-look__panel{padding:30px 24px 28px;border-radius:0 0 20px 20px}
  .home-page .closer-look__panel h3{font-size:26px;line-height:1.12}
  .home-page .closer-look__panel p{font-size:14px}
  .home-page .closer-look__panel .btn{width:100%;justify-content:center;text-align:center;white-space:normal}

  .home-page .split-cards{padding:64px 20px;gap:18px}
  .home-page .split-card{min-height:350px;padding:28px 24px;border-radius:20px}
  .home-page .split-card h3{font-size:22px}

  .home-page .how-it-works{padding-top:68px;padding-bottom:68px}
  .home-page .steps{grid-template-columns:minmax(0,1fr);gap:14px}
  .home-page .step{min-height:0;padding:22px;border-radius:17px}

  .home-page .testimonials{padding-top:70px;padding-bottom:68px}
  .home-page .testimonial-card{min-height:0;padding:24px 22px}

  .home-page .faq{padding-top:66px;padding-bottom:68px}
  .home-page .faq__grid{gap:26px}
  .home-page .faq__intro h2{font-size:30px}
  .home-page .faq-item__q{padding:18px 16px;font-size:14px;gap:14px}
  .home-page .faq-item__a p{padding:0 16px 20px;font-size:13px}

  .home-page .cta-wrap{padding-top:64px;padding-bottom:72px}
  .home-page .cta-banner{min-height:0;padding:52px 24px 48px;border-radius:24px;text-align:center}
  .home-page .cta-banner h2{font-size:clamp(32px,8.6vw,38px);line-height:1.08;margin-left:auto;margin-right:auto}
  .home-page .cta-banner p{font-size:14px;margin-left:auto;margin-right:auto}
  .home-page .cta-banner__ctas{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;width:100%}
  .home-page .cta-banner__ctas .btn{width:100%;height:auto;min-height:50px;padding:12px 18px;justify-content:center;text-align:center;white-space:normal}

  /* Services page */
  .services-page .services-hero,
  .services-page .service-feature,
  .services-page .services,
  .services-page .services-split,
  .services-page .services-why,
  .services-page .how-it-works,
  .services-page .cta-banner{width:calc(100% - 32px)}
  .services-page .services-hero{padding:36px 0 56px}
  .services-page .services-hero__inner,
  .services-page .service-feature__inner{border-radius:22px}
  .services-page .services-hero__copy{padding:38px 26px}
  .services-page .services-hero__title{font-size:clamp(31px,8.6vw,37px);line-height:1.1}
  .services-page .services-hero__text{font-size:15px;line-height:1.6;margin-top:16px}
  .services-page .services-hero__actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;width:100%;margin-top:24px}
  .services-page .services-hero__actions .btn{width:100%;justify-content:center;text-align:center;white-space:normal}
  .services-page .services-hero__image,
  .services-page .service-feature__image{height:280px;min-height:280px}
  .services-page .service-feature{padding-bottom:62px}
  .services-page .service-feature__content{padding:32px 24px}
  .services-page .service-feature__content h2{font-size:27px}
  .services-page .service-feature__lead{font-size:15px}
  .services-page .service-feature__points{grid-template-columns:minmax(0,1fr)}
  .services-page .services__grid,
  .services-page .why__grid,
  .services-page .steps{grid-template-columns:minmax(0,1fr)}
  .services-page .service-card__img{height:220px}
  .services-page .service-card__content{padding:25px 22px 28px}
  .services-page .service-card__list{grid-template-columns:minmax(0,1fr)}
  .services-page .services-split{gap:18px}
  .services-page .split-card{min-height:340px}
  .services-page .step,
  .services-page .step:first-child,
  .services-page .step:nth-child(3),
  .services-page .step:nth-child(4){border-left:1px solid #dfe6ef;border-right:1px solid #dfe6ef;border-top:1px solid #dfe6ef}
  .services-page .step:last-child{border-bottom:1px solid #dfe6ef}
  .services-page .cta-banner{padding:44px 22px;margin-bottom:56px;border-radius:22px}
  .services-page .cta-banner h2{font-size:clamp(29px,8vw,35px)}

  /* Shared subpages: About / FAQ / Blog / Quote / Contact / Post */
  body.subpage .sp-wrap{width:calc(100% - 32px)}
  body.subpage .sp-hero{height:auto;min-height:320px}
  body.subpage .sp-hero-inner{min-height:320px;height:auto;padding-top:52px;padding-bottom:52px}
  body.subpage .sp-hero h1{font-size:clamp(31px,8.5vw,36px);line-height:1.07;margin:15px 0 14px}
  body.subpage .sp-hero p{font-size:14px;line-height:1.55}

  body.subpage .about-story,
  body.subpage .about-values,
  body.subpage .about-reviews,
  body.subpage .faq-body-match,
  body.subpage .blog-main{padding:66px 0}
  body.subpage .about-story-grid{gap:30px}
  body.subpage .about-story-media{aspect-ratio:4/3;border-radius:18px}
  body.subpage .about-story-copy h2{font-size:29px}
  body.subpage .about-stats{height:auto;padding:48px 0}
  body.subpage .about-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 18px}
  body.subpage .about-stat strong{font-size:36px}
  body.subpage .about-values-grid,
  body.subpage .about-reviews-grid,
  body.subpage .blog-grid{grid-template-columns:minmax(0,1fr);gap:18px}
  body.subpage .about-value-card{height:auto;min-height:0;padding:25px 22px}
  body.subpage .review-card{min-height:0;padding:25px 22px}
  body.subpage .sp-center-head{margin-bottom:34px}
  body.subpage .sp-center-head h2{font-size:29px}

  body.subpage .sp-big-cta-section{padding:66px 0}
  body.subpage .sp-big-cta{min-height:0;padding:52px 22px;border-radius:22px}
  body.subpage .sp-big-cta h2{font-size:clamp(30px,8vw,35px);line-height:1.08}
  body.subpage .sp-big-cta .actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;width:100%}
  body.subpage .sp-big-cta .actions a{width:100%;justify-content:center;text-align:center;white-space:normal}

  body.subpage .faq-group-match{margin-bottom:44px}
  body.subpage .faq-q{min-height:68px;padding:14px 17px;font-size:14px;line-height:1.35}
  body.subpage .faq-a{padding:0 17px 20px;font-size:13px}

  body.subpage .blog-featured-img{height:240px}
  body.subpage .blog-featured-copy{padding:30px 22px}
  body.subpage .blog-featured h2{font-size:25px}
  body.subpage .blog-filters{margin:38px 0 28px;overflow-x:auto;overscroll-behavior-inline:contain;padding-bottom:5px;scrollbar-width:thin}
  body.subpage .blog-filter{flex:0 0 auto}
  body.subpage .blog-card{min-height:0}
  body.subpage .blog-card img{height:210px}
  body.subpage .blog-newsletter{margin-top:48px;padding:34px 22px;gap:24px}
  body.subpage .blog-news-left h2{font-size:27px}
  body.subpage .blog-news-form{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
  body.subpage .blog-news-form input,
  body.subpage .blog-news-form button{width:100%;min-width:0}

  body.subpage .quote-page-main{padding:58px 0 68px}
  body.subpage .quote-grid{gap:36px}
  body.subpage .quote-left h1{font-size:clamp(33px,8.6vw,39px);line-height:1.07}
  body.subpage .quote-left>p{font-size:15px}
  body.subpage .quote-talk{max-width:none;padding:23px 20px}
  body.subpage .quote-talk .phone{font-size:22px;overflow-wrap:anywhere}
  body.subpage .quote-form-card,
  body.subpage .contact-form-card{padding:26px 20px;border-radius:20px}
  body.subpage .q-row{flex-direction:column;gap:16px}
  body.subpage .q-row>.q-field{width:100%}
  body.subpage .q-upload{height:auto;min-height:64px;padding:12px 14px}

  body.contact-layout .contact-hero{height:auto;min-height:300px}
  body.contact-layout .contact-hero__inner{min-height:300px;height:auto;padding-top:48px;padding-bottom:48px}
  body.contact-layout .contact-hero h1{font-size:clamp(32px,8.5vw,37px)}
  body.contact-layout .contact-hero p{font-size:14px}
  body.contact-layout .contact-main{padding:58px 0 68px}
  body.contact-layout .contact-grid{gap:34px}
  body.contact-layout .contact-info h2{font-size:29px}
  body.contact-layout .contact-info-card{min-height:0;padding:18px 16px;gap:14px}
  body.contact-layout .contact-info-icon{width:44px;height:44px;flex-basis:44px}
  body.contact-layout .contact-info-card strong,
  body.contact-layout .contact-info-card a{font-size:14px;overflow-wrap:anywhere}
  body.contact-layout .contact-urgent{padding:20px 18px}

  body.subpage .single-article{padding:58px 0 72px}
  body.subpage .single-article__heroimg{height:auto;aspect-ratio:16/10;border-radius:18px;margin-bottom:28px}
  body.subpage .single-article h1{font-size:clamp(31px,8vw,36px)}
  body.subpage .single-article__content{font-size:15px;line-height:1.72;overflow-wrap:anywhere}
  body.subpage .search-result h2{font-size:22px;line-height:1.2}

  /* Footer */
  .cgr-footer__inner{width:calc(100% - 32px)}
  .cgr-footer__cta{padding:22px 20px;flex-direction:column;align-items:flex-start;gap:17px}
  .cgr-footer__call-btn{width:100%;white-space:normal;text-align:center}
  .cgr-footer__grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .cgr-footer__brand-col{grid-column:auto}
  .cgr-footer__about{max-width:100%}
  .cgr-footer__menu a,.cgr-footer__contact li{overflow-wrap:anywhere}
  .cgr-footer__bottom{flex-direction:column;align-items:flex-start;gap:12px}
  .cgr-footer__legal{flex-wrap:wrap;gap:12px 18px}
}

@media (max-width:430px){
  .cgr-topbar__inner,.cgr-header__inner{width:calc(100% - 24px)}
  .cgr-header__logo-img{width:142px!important}

  .home-page .hero{padding-left:18px;padding-right:18px}
  .home-page .hero__title{font-size:clamp(33px,9.4vw,38px)}
  .home-page .hero__lede{font-size:14px}
  .home-page .eyebrow{font-size:10.5px;line-height:1.4}
  .home-page .trust-strip__list{grid-template-columns:minmax(0,1fr)}
  .home-page .trust-strip__list li{justify-content:flex-start}
  .home-page .services,
  .home-page .craft,
  .home-page .why,
  .home-page .closer-look,
  .home-page .how-it-works,
  .home-page .testimonials,
  .home-page .faq,
  .home-page .cta-wrap{padding-left:18px;padding-right:18px}
  .home-page .closer-look__title-row{grid-template-columns:minmax(0,1fr) auto;gap:12px}
  .home-page .closer-look__title-row h2{font-size:27px;max-width:220px}
  .home-page .carousel-btn{width:38px;height:38px}
  .home-page .closer-look__img{height:225px}
  .home-page .closer-look__panel{padding:27px 20px 25px}
  .home-page .closer-look__panel h3{font-size:24px}
  .home-page .cta-banner{padding-left:20px;padding-right:20px}
  .home-page .cta-banner h2{font-size:32px}

  .services-page .services-hero,
  .services-page .service-feature,
  .services-page .services,
  .services-page .services-split,
  .services-page .services-why,
  .services-page .how-it-works,
  .services-page .cta-banner{width:calc(100% - 24px)}
  .services-page .services-hero__copy{padding-left:21px;padding-right:21px}
  .services-page .services-hero__title{font-size:31px}
  .services-page .services-hero__image,
  .services-page .service-feature__image{height:245px;min-height:245px}

  body.subpage .sp-wrap{width:calc(100% - 28px)}
  body.subpage .sp-hero-inner{padding-top:46px;padding-bottom:46px}
  body.subpage .sp-hero h1{font-size:31px}
  body.subpage .about-stats-grid{grid-template-columns:minmax(0,1fr);gap:28px}
  body.subpage .blog-featured-img{height:215px}
  body.subpage .quote-left h1{font-size:33px}
  body.subpage .quote-checks li{align-items:flex-start;font-size:13px}
  body.subpage .quote-form-card,
  body.subpage .contact-form-card{padding-left:17px;padding-right:17px}
  body.contact-layout .contact-info-card{align-items:flex-start}

  .cgr-footer__inner{width:calc(100% - 28px)}
}
