/* Trade Source IRE mobile cleanup
   Mobile-only overrides to make the site feel closer to the desktop design. */

@media (max-width: 900px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  body {
    background: #050505;
  }

  img,
  video,
  iframe {
    max-width: 100%;
  }

  .container,
  .header-inner {
    width: calc(100% - 28px) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Header */
  .header {
    position: relative !important;
    top: auto !important;
    background: #050505 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
    box-shadow: none !important;
  }

  .header-inner {
    min-height: auto !important;
    padding: 16px 0 18px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
  }

  .brand-block,
  .logo {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
  }

  .logo img {
    width: min(230px, 70vw) !important;
    height: auto !important;
    margin: 0 auto !important;
  }

  .header-social-links {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
  }

  .header-social-link {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
  }

  .header-social-link svg {
    width: 18px !important;
    height: 18px !important;
  }

  .nav {
    order: 3 !important;
    width: 100% !important;
    max-width: 440px !important;
    margin: 2px auto 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  .nav a {
    width: 100% !important;
    min-height: 38px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 9px 8px !important;
    border: 1px solid rgba(255,255,255,.13) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.035) !important;
    color: #fff !important;
    font-size: 11px !important;
    line-height: 1.15 !important;
    letter-spacing: .05em !important;
    text-align: center !important;
    white-space: normal !important;
    opacity: 1 !important;
  }

  .nav a.active,
  .nav a:hover {
    color: #ff8a00 !important;
    border-color: rgba(255,138,0,.75) !important;
    background: rgba(255,138,0,.12) !important;
  }

  .nav a.active::after {
    display: none !important;
  }

  .header-actions {
    order: 4 !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
  }

  .header-actions .quote-image-exact {
    width: min(240px, 78vw) !important;
    max-width: min(240px, 78vw) !important;
    height: auto !important;
  }

  .header-actions .btn,
  .header-actions .btn-primary,
  .header-actions .btn-dark,
  .header-actions .btn-outline,
  .header-actions .btn-small {
    width: min(240px, 78vw) !important;
    min-height: 48px !important;
    border-radius: 999px !important;
  }

  /* Hero sections */
  .hero,
  .hero.trade-hub-hero {
    min-height: auto !important;
    padding: 50px 0 48px !important;
    background-position: center center !important;
    background-size: cover !important;
  }

  .hero-inner,
  .hero-grid {
    min-height: auto !important;
    display: block !important;
    grid-template-columns: 1fr !important;
  }

  .hero-copy,
  .hero-grid > div:first-child,
  .trade-hub-hero .hero-copy {
    width: 100% !important;
    max-width: 100% !important;
    padding: 4px 0 4px 15px !important;
    border-left: 4px solid #ff8a00 !important;
    text-align: left !important;
  }

  .eyebrow,
  .eyebrow-tag,
  .breadcrumb {
    margin-bottom: 12px !important;
    color: #ff8a00 !important;
    font-size: 11px !important;
    letter-spacing: .12em !important;
  }

  .hero h1,
  .trade-hub-hero h1 {
    max-width: 10.5ch !important;
    margin: 0 0 16px !important;
    font-size: clamp(38px, 12vw, 54px) !important;
    line-height: .96 !important;
    letter-spacing: -.055em !important;
    color: #fff !important;
  }

  .hero p,
  .trade-hub-hero p {
    max-width: 34rem !important;
    margin: 0 0 22px !important;
    font-size: 15.5px !important;
    line-height: 1.58 !important;
    color: #fff !important;
  }

  .hero-actions {
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 10px !important;
  }

  .trades-hero-btn,
  .hero .btn,
  .hero .btn-primary,
  .hero .btn-outline {
    min-height: 48px !important;
    padding: 14px 18px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
    letter-spacing: .06em !important;
  }

  .hero-card {
    margin-top: 26px !important;
    padding: 22px !important;
    border-radius: 22px !important;
  }

  .hero-card img {
    width: 72px !important;
    height: 72px !important;
  }

  .hero-card h2 {
    font-size: 22px !important;
  }

  .hero-card p,
  .hero-card li {
    font-size: 15px !important;
  }

  /* Main content */
  main,
  .trade-hub-page {
    background: #fff !important;
  }

  .section,
  .section-light,
  .section-dark,
  .trade-hub-cta {
    padding: 46px 0 !important;
  }

  .section-title,
  .trade-hub-page .section-title {
    font-size: clamp(30px, 9vw, 42px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.04em !important;
    margin-bottom: 12px !important;
  }

  .section-copy,
  .trade-hub-page .section-copy,
  .card p,
  .hub-card p,
  .content p,
  .notice p,
  .price-box p {
    font-size: 15.5px !important;
    line-height: 1.6 !important;
  }

  .grid,
  .hub-grid,
  .trust-grid,
  .features,
  .footer-grid,
  .grid-2,
  .two-col,
  .quote-wrap,
  .form-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .card,
  .hub-card,
  .form-card,
  .notice,
  .price-box {
    padding: 20px !important;
    border-radius: 20px !important;
  }

  .hub-card img,
  .feature-icon,
  .trust-icon {
    width: 72px !important;
    height: 72px !important;
  }

  .hub-card h2,
  .card h2,
  .card h3 {
    font-size: 21px !important;
    line-height: 1.15 !important;
  }

  .related {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .related a,
  .hub-card a {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }

  input,
  select,
  textarea,
  .field input,
  .field select,
  .field textarea {
    font-size: 16px !important;
    border-radius: 14px !important;
  }

  .btn,
  button,
  input[type="submit"] {
    max-width: 100% !important;
  }

  .btn-block {
    width: 100% !important;
  }

  /* Footer */
  .footer {
    padding: 28px 0 32px !important;
    text-align: center !important;
    background: #050505 !important;
    color: #fff !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
  }

  .footer .container {
    display: block !important;
  }

  .footer-links {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin-top: 14px !important;
  }
}

@media (max-width: 420px) {
  .container,
  .header-inner {
    width: calc(100% - 22px) !important;
    max-width: calc(100% - 22px) !important;
  }

  .logo img {
    width: min(210px, 72vw) !important;
  }

  .nav {
    max-width: 320px !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
  }

  .nav a {
    min-height: 36px !important;
    font-size: 10.5px !important;
  }

  .hero,
  .hero.trade-hub-hero {
    padding: 42px 0 40px !important;
  }

  .hero h1,
  .trade-hub-hero h1 {
    max-width: 9.8ch !important;
    font-size: clamp(34px, 13vw, 48px) !important;
  }

  .hero p,
  .trade-hub-hero p {
    font-size: 14.5px !important;
  }

  .hero-actions,
  .hero .btn,
  .hero .btn-primary,
  .hero .btn-outline,
  .trades-hero-btn {
    width: 100% !important;
  }

  .hero .btn,
  .hero .btn-primary,
  .hero .btn-outline,
  .trades-hero-btn {
    justify-content: center !important;
    white-space: normal !important;
  }
}


/* Trade Source IRE trade-page consistency additions */
@media (max-width: 1000px){
  .trade-bottom-cta .quote-wrap,.quote-wrap,.two-col,.hero-grid{grid-template-columns:1fr!important;}
  .trust-badges{grid-template-columns:1fr!important;}
  .trust-badge{width:100%;}
  .hub-grid,.grid{grid-template-columns:1fr!important;}
  .hero-card,.form-card,.trust-panel,.hub-card,.card{border-radius:22px!important;}
  .hero-actions{width:100%;}
  .hero-actions .btn{width:100%;text-align:center;}
  .related a{flex:1 1 auto;justify-content:center;text-align:center;}
}


/* Contact/About header and hero match homepage on mobile */
@media (max-width: 920px) {
  body.about-page .hero > .container,
  body.contact-page .hero > .container {
    min-height: auto !important;
  }

  body.about-page .hero,
  body.contact-page .hero {
    min-height: auto !important;
    padding: 74px 0 70px !important;
    display: block !important;
  }

  body.about-page .hero-copy,
  body.contact-page .hero-copy {
    max-width: 100% !important;
    padding: 16px 0 16px 22px !important;
  }

  body.about-page .hero h1,
  body.contact-page .hero h1 {
    max-width: 11ch !important;
    font-size: clamp(44px, 10vw, 72px) !important;
    line-height: .92 !important;
  }
}

@media (max-width: 520px) {
  body.about-page .hero,
  body.contact-page .hero {
    padding: 52px 0 50px !important;
  }

  body.about-page .hero h1,
  body.contact-page .hero h1 {
    max-width: 10ch !important;
    font-size: clamp(36px, 12vw, 52px) !important;
  }
}


/* CONTACT ABOUT FINAL TOP BANNER MATCH FIX */
body.about-page .header .container.header-inner,
body.contact-page .header .container.header-inner {
  justify-content: center !important;
  align-items: center !important;
}
@media (min-width: 921px) {
  body.about-page .header .container.header-inner,
  body.contact-page .header .container.header-inner {
    min-height: 132px !important;
    gap: 48px !important;
    flex-wrap: nowrap !important;
  }
  body.about-page .logo img,
  body.contact-page .logo img {
    width: 255px !important;
  }
  body.about-page .nav,
  body.contact-page .nav {
    flex-wrap: nowrap !important;
    gap: 38px !important;
  }
  body.about-page .nav a,
  body.contact-page .nav a {
    white-space: nowrap !important;
    line-height: 1.1 !important;
  }
  body.about-page .header-actions .quote-image-exact,
  body.contact-page .header-actions .quote-image-exact {
    width: 250px !important;
    max-width: 250px !important;
  }
  body.about-page .hero,
  body.contact-page .hero {
    min-height: 680px !important;
    display: flex !important;
    align-items: center !important;
  }
  body.about-page .hero > .container,
  body.contact-page .hero > .container {
    min-height: 680px !important;
    display: flex !important;
    align-items: center !important;
  }
}
@media (min-width: 921px) and (max-width: 1320px) {
  body.about-page .header .container.header-inner,
  body.contact-page .header .container.header-inner { gap: 28px !important; }
  body.about-page .logo img,
  body.contact-page .logo img { width: 230px !important; }
  body.about-page .nav,
  body.contact-page .nav { gap: 24px !important; }
  body.about-page .header-actions .quote-image-exact,
  body.contact-page .header-actions .quote-image-exact { width: 220px !important; max-width: 220px !important; }
}
@media (min-width: 921px) and (max-width: 1120px) {
  body.about-page .header .container.header-inner,
  body.contact-page .header .container.header-inner { gap: 18px !important; }
  body.about-page .logo img,
  body.contact-page .logo img { width: 205px !important; }
  body.about-page .nav,
  body.contact-page .nav { gap: 18px !important; }
  body.about-page .nav a,
  body.contact-page .nav a { font-size: 12.5px !important; }
  body.about-page .header-actions .quote-image-exact,
  body.contact-page .header-actions .quote-image-exact { width: 185px !important; max-width: 185px !important; }
}



/* Compact trade services and contrast fixes */
.compact-services{margin-top:24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.62fr);gap:22px;align-items:stretch}
.compact-service-list{background:#fff;border:1px solid #ececec;border-radius:22px;padding:24px;box-shadow:0 14px 36px rgba(0,0,0,.07)}
.compact-service-list ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}
.compact-service-list li{position:relative;padding-left:28px;font-weight:800;line-height:1.35;color:#111}
.compact-service-list li::before{content:"✓";position:absolute;left:0;top:-1px;width:18px;height:18px;border-radius:50%;background:var(--orange,#ff8a00);color:#111;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:900}
.compact-service-note{background:#101010;color:#fff;border-radius:22px;padding:24px;box-shadow:0 14px 36px rgba(0,0,0,.14)}
.compact-service-note h3{margin:0 0 10px;text-transform:uppercase;font-size:22px;line-height:1.05}
.compact-service-note p{margin:0;color:#ededed;line-height:1.65}
.trade-bottom-cta,.trade-bottom-cta p,.trade-bottom-cta .section-copy{color:#fff!important}
.trade-bottom-cta .section-copy,.trade-bottom-cta p{opacity:1!important}
.trade-bottom-cta .section-copy{text-shadow:0 1px 2px rgba(0,0,0,.42)}
.trade-bottom-cta .eyebrow{color:var(--orange,#ff8a00)!important}
.trade-bottom-cta .related,.trade-bottom-cta .related h3,.trade-bottom-cta .related a{color:#111!important}
.trade-bottom-cta .trust-badge{background:rgba(255,255,255,.96);color:#111!important}
@media(max-width:900px){.compact-services{grid-template-columns:1fr}}
@media(max-width:620px){.compact-service-list,.compact-service-note{padding:18px;border-radius:18px}.compact-service-list ul{grid-template-columns:1fr;gap:10px}}



/* FINAL: compact services, readable related trades, consistent banner/header */
.compact-services{margin-top:24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.62fr);gap:22px;align-items:stretch}
.compact-service-list{background:#fff;border:1px solid #ececec;border-radius:22px;padding:24px;box-shadow:0 14px 36px rgba(0,0,0,.07)}
.compact-service-list ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}
.compact-service-list li{position:relative;padding-left:28px;font-weight:800;line-height:1.35;color:#111}
.compact-service-list li::before{content:"✓";position:absolute;left:0;top:-1px;width:18px;height:18px;border-radius:50%;background:var(--orange,#ff8a00);color:#111;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:900}
.compact-service-note{background:#101010;color:#fff;border-radius:22px;padding:24px;box-shadow:0 14px 36px rgba(0,0,0,.14)}
.compact-service-note h3{margin:0 0 10px;text-transform:uppercase;font-size:22px;line-height:1.05;color:#fff}
.compact-service-note p{margin:0;color:#ededed;line-height:1.65}
.trade-bottom-cta,.trade-bottom-cta p,.trade-bottom-cta .section-copy{color:#fff!important;opacity:1!important}
.trade-bottom-cta .section-copy{text-shadow:0 1px 2px rgba(0,0,0,.45)}
.trade-bottom-cta .eyebrow{color:var(--orange,#ff8a00)!important}
.related a,.trade-bottom-cta .related a,.related-trades a,.trade-bottom-cta a.related-trade{background:#fff!important;color:#111!important;border:1px solid rgba(255,255,255,.82)!important;box-shadow:0 8px 22px rgba(0,0,0,.20)!important;font-weight:900!important;opacity:1!important;text-shadow:none!important}
.related a:hover,.trade-bottom-cta .related a:hover,.related-trades a:hover{background:var(--orange,#ff8a00)!important;color:#111!important}
.trade-bottom-cta .related h3,.related h3,.related-trades h3{color:#fff!important}
.trade-bottom-cta .trust-badge{background:rgba(255,255,255,.96)!important;color:#111!important}
.header{background:#050505!important;color:#fff!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
.header-inner{min-height:130px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:22px!important}
.logo img{max-height:78px!important;width:auto!important}
.header-social-links{display:flex!important;justify-content:center!important;gap:10px!important;margin-top:8px!important}
.nav{display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;flex-wrap:wrap!important}
.nav a{color:#fff!important;font-weight:800!important}
.nav a.active,.nav a:hover{color:var(--orange,#ff8a00)!important}
.header-actions .quote-image-exact img,.quote-image-exact img{max-height:62px!important;width:auto!important}
.hero{border-top:0!important}
@media(max-width:1120px){.header-inner{min-height:unset!important;flex-direction:column!important;padding:18px 0!important}.logo img{max-height:82px!important}.nav{gap:8px!important}.header-actions .quote-image-exact img,.quote-image-exact img{max-height:58px!important}}
@media(max-width:900px){.compact-services{grid-template-columns:1fr}}
@media(max-width:620px){.compact-service-list,.compact-service-note{padding:18px;border-radius:18px}.compact-service-list ul{grid-template-columns:1fr;gap:10px}.header-inner{padding:14px 0!important}.logo img{max-height:72px!important}}



/* FINAL: contact-page reference header sizing and spacing cleanup */
:root{
  --tsi-header-logo-height:72px;
  --tsi-header-quote-height:54px;
  --tsi-header-min-height:112px;
  --tsi-section-padding:62px;
  --tsi-section-padding-mobile:42px;
}

.header{
  background:#050505!important;
  color:#fff!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}

.header .container,
.header-inner{
  width:min(var(--max,1240px),calc(100% - 40px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.header-inner{
  min-height:var(--tsi-header-min-height)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  padding:10px 0!important;
}

.brand-block{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
}

.logo{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.logo img{
  width:auto!important;
  max-height:var(--tsi-header-logo-height)!important;
  object-fit:contain!important;
  display:block!important;
}

.header-social-links{
  display:flex!important;
  justify-content:center!important;
  gap:8px!important;
  margin-top:6px!important;
}

.header-social-link{
  width:30px!important;
  height:30px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(255,138,0,.72)!important;
  border-radius:999px!important;
  color:var(--orange,#ff8a00)!important;
}

.header-social-link svg{
  width:15px!important;
  height:15px!important;
  fill:currentColor!important;
}

.nav{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  text-align:center!important;
}

.nav a{
  color:#fff!important;
  font-weight:800!important;
  line-height:1!important;
  padding:10px 12px!important;
  border-radius:999px!important;
  transition:.2s ease!important;
}

.nav a.active,
.nav a:hover{
  color:#111!important;
  background:var(--orange,#ff8a00)!important;
}

.header-actions{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.header-actions .quote-image-exact,
.quote-image-exact{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.header-actions .quote-image-exact img,
.quote-image-exact img{
  width:auto!important;
  max-height:var(--tsi-header-quote-height)!important;
  object-fit:contain!important;
  display:block!important;
}

/* General spacing cleanup */
.container{
  width:min(var(--max,1240px),calc(100% - 40px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.section{
  padding-top:var(--tsi-section-padding)!important;
  padding-bottom:var(--tsi-section-padding)!important;
}

.section + .section{
  border-top:1px solid rgba(0,0,0,.04);
}

.hero{
  margin-top:0!important;
  overflow:hidden!important;
}

.hero-copy,
.hero-content,
.hero-card,
.form-card,
.card,
.how-step,
.price-card,
.contractor-price-card,
.compact-service-list,
.compact-service-note,
.next-card,
.reassurance-card,
.home-customer-only-note{
  overflow-wrap:anywhere;
}

.hero h1,
.section-title,
h1,
h2{
  text-wrap:balance;
}

.section-title{
  margin-bottom:16px!important;
}

.section-copy{
  line-height:1.65!important;
}

.card,
.form-card,
.how-step,
.price-card,
.contractor-price-card,
.compact-service-list,
.compact-service-note,
.next-card,
.home-customer-only-note{
  height:auto!important;
}

.forms-grid,
.quote-clean-grid,
.trades-grid,
.contractor-grid,
.contractor-intro-card,
.quote-wrap{
  align-items:start!important;
}

.trade-bottom-cta{
  padding-top:62px!important;
  padding-bottom:62px!important;
}

.trade-bottom-cta .quote-wrap{
  gap:32px!important;
}

.related,
.related-trades{
  margin-top:22px!important;
}

.related a,
.related-trades a,
.trade-bottom-cta .related a{
  margin:0 8px 10px 0!important;
  white-space:normal!important;
  line-height:1.2!important;
  min-height:42px!important;
  padding:11px 18px!important;
}

.footer{
  padding-top:26px!important;
  padding-bottom:26px!important;
}

.footer .container{
  display:block!important;
}

.footer-links{
  gap:14px!important;
  row-gap:8px!important;
}

input,
select,
textarea{
  max-width:100%!important;
}

@media(max-width:1120px){
  :root{
    --tsi-header-logo-height:72px;
    --tsi-header-quote-height:52px;
  }

  .header-inner{
    min-height:unset!important;
    flex-direction:column!important;
    justify-content:center!important;
    padding:16px 0!important;
    gap:12px!important;
  }

  .nav{
    width:100%!important;
  }
}

@media(max-width:760px){
  :root{
    --tsi-header-logo-height:66px;
    --tsi-header-quote-height:50px;
    --tsi-section-padding:var(--tsi-section-padding-mobile);
  }

  .container,
  .header .container,
  .header-inner{
    width:min(100% - 28px,var(--max,1240px))!important;
  }

  .header-inner{
    padding:13px 0!important;
  }

  .nav{
    gap:7px!important;
  }

  .nav a{
    font-size:13px!important;
    padding:9px 10px!important;
  }

  .header-social-link{
    width:29px!important;
    height:29px!important;
  }

  .hero{
    padding-top:36px!important;
    padding-bottom:36px!important;
  }

  .hero h1{
    font-size:clamp(32px,10.5vw,50px)!important;
    line-height:.98!important;
  }

  .section-title{
    font-size:clamp(29px,8.7vw,44px)!important;
    line-height:1.02!important;
  }

  .trade-bottom-cta{
    padding-top:46px!important;
    padding-bottom:46px!important;
  }

  .form-card,
  .card,
  .compact-service-list,
  .compact-service-note,
  .next-card,
  .home-customer-only-note{
    padding:20px!important;
    border-radius:18px!important;
  }

  .footer{
    text-align:center!important;
  }

  .footer-links{
    justify-content:center!important;
  }
}

@media(max-width:430px){
  .nav a{
    font-size:12px!important;
    padding:8px 9px!important;
  }

  .header-actions .quote-image-exact img,
  .quote-image-exact img{
    max-width:240px!important;
    height:auto!important;
  }
}



/* FINAL: equal quote button size and taller logo refinement */
:root{
  --tsi-header-logo-height:86px;
  --tsi-header-quote-height:72px;
  --tsi-header-min-height:128px;
}

.header-inner{
  min-height:var(--tsi-header-min-height)!important;
}

.logo img{
  max-height:var(--tsi-header-logo-height)!important;
  height:auto!important;
  width:auto!important;
  object-fit:contain!important;
}

.header-actions .quote-image-exact,
.quote-image-exact{
  min-width:305px!important;
  height:var(--tsi-header-quote-height)!important;
}

.header-actions .quote-image-exact img,
.quote-image-exact img{
  max-height:var(--tsi-header-quote-height)!important;
  height:var(--tsi-header-quote-height)!important;
  width:auto!important;
  object-fit:contain!important;
}

@media(max-width:1120px){
  :root{
    --tsi-header-logo-height:82px;
    --tsi-header-quote-height:66px;
    --tsi-header-min-height:unset;
  }

  .header-actions .quote-image-exact,
  .quote-image-exact{
    min-width:285px!important;
  }
}

@media(max-width:760px){
  :root{
    --tsi-header-logo-height:76px;
    --tsi-header-quote-height:60px;
  }

  .header-actions .quote-image-exact,
  .quote-image-exact{
    min-width:260px!important;
  }
}

@media(max-width:430px){
  :root{
    --tsi-header-logo-height:72px;
    --tsi-header-quote-height:56px;
  }

  .header-actions .quote-image-exact,
  .quote-image-exact{
    min-width:235px!important;
  }

  .header-actions .quote-image-exact img,
  .quote-image-exact img{
    max-width:235px!important;
    height:auto!important;
  }
}



/* FINAL: professional contractor page redesign */
.contractor-intro-page{
  position:relative!important;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,138,0,.22), transparent 30%),
    linear-gradient(135deg,#050505 0%,#111 52%,#050505 100%)!important;
  color:#fff!important;
  padding:82px 0 74px!important;
  overflow:hidden!important;
}

.contractor-intro-page::after{
  content:"";
  position:absolute;
  inset:auto -10% -35% 35%;
  height:260px;
  background:rgba(255,138,0,.08);
  filter:blur(38px);
  transform:rotate(-8deg);
}

.contractor-intro-card{
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr)!important;
  gap:34px!important;
  align-items:center!important;
}

.contractor-intro-card .eyebrow{
  color:var(--orange,#ff8a00)!important;
}

.contractor-intro-card h1{
  margin:0 0 16px!important;
  max-width:760px!important;
  text-transform:uppercase!important;
  font-size:clamp(42px,5.2vw,72px)!important;
  line-height:.92!important;
  font-weight:900!important;
  letter-spacing:-.045em!important;
}

.contractor-intro-card p{
  margin:0!important;
  max-width:760px!important;
  color:#f0f0f0!important;
  font-size:18px!important;
  line-height:1.65!important;
}

.contractor-summary-box{
  background:rgba(255,255,255,.98)!important;
  color:#111!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:28px!important;
  padding:30px!important;
  box-shadow:0 24px 70px rgba(0,0,0,.38)!important;
}

.contractor-summary-box h2{
  margin:0 0 16px!important;
  font-size:27px!important;
  line-height:1!important;
  text-transform:uppercase!important;
  letter-spacing:-.02em!important;
}

.contractor-summary-box ul{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  display:grid!important;
  gap:13px!important;
}

.contractor-summary-box li{
  position:relative!important;
  padding-left:32px!important;
  font-weight:850!important;
  line-height:1.35!important;
}

.contractor-summary-box li::before{
  content:"✓"!important;
  position:absolute!important;
  left:0!important;
  top:-1px!important;
  width:21px!important;
  height:21px!important;
  border-radius:50%!important;
  background:var(--orange,#ff8a00)!important;
  color:#111!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:13px!important;
  font-weight:900!important;
}

.contractor-pricing-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:24px!important;
  margin-top:22px!important;
}

.contractor-price-card{
  position:relative!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #e9e9e9!important;
  border-radius:24px!important;
  padding:30px!important;
  box-shadow:0 18px 46px rgba(0,0,0,.08)!important;
}

.contractor-price-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:6px;
  background:linear-gradient(90deg,var(--orange,#ff8a00),#ffbd67);
}

.contractor-price-card h3{
  margin:0 0 10px!important;
  text-transform:uppercase!important;
  font-size:24px!important;
  letter-spacing:-.02em!important;
}

.contractor-price-card .price{
  margin:0 0 10px!important;
  color:var(--orange,#ff8a00)!important;
  font-size:46px!important;
  line-height:1!important;
  font-weight:900!important;
}

.contractor-price-card p{
  margin:0!important;
  color:#555!important;
  line-height:1.65!important;
}

.contractor-warning{
  margin-top:26px!important;
  background:#101010!important;
  color:#f4f4f4!important;
  border:1px solid rgba(255,138,0,.28)!important;
  border-left:7px solid var(--orange,#ff8a00)!important;
  border-radius:20px!important;
  padding:24px 26px!important;
  line-height:1.65!important;
  box-shadow:0 18px 46px rgba(0,0,0,.14)!important;
}

.contractor-warning strong{
  color:var(--orange,#ff8a00)!important;
}

#contractor-apply{
  background:#f7f7f7!important;
}

.contractor-form-slot{
  max-width:920px!important;
}

.contractor-form-slot .form-card{
  max-width:920px!important;
  margin:0 auto!important;
  border:1px solid #e7e7e7!important;
  border-radius:26px!important;
  box-shadow:0 22px 60px rgba(0,0,0,.10)!important;
  padding:34px!important;
}

.contractor-form-slot .form-card .eyebrow{
  color:var(--orange,#ff8a00)!important;
}

.contractor-form-slot .form-card h2,
.contractor-form-slot .form-card h3{
  font-size:clamp(30px,3.2vw,46px)!important;
  line-height:1!important;
  text-transform:uppercase!important;
  margin:0 0 12px!important;
}

.contractor-form-slot .subscription-note{
  background:linear-gradient(135deg,#111,#050505)!important;
  color:#fff!important;
  border-radius:22px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  margin-bottom:26px!important;
  padding:26px!important;
}

.contractor-form-slot .subscription-note p,
.contractor-form-slot .subscription-note li{
  color:#ededed!important;
}

.contractor-form-slot .subscription-options{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}

.contractor-form-slot .subscription-option{
  border:1px solid #e7e7e7!important;
  border-radius:18px!important;
  padding:16px!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(0,0,0,.04)!important;
}

.contractor-form-slot input,
.contractor-form-slot select,
.contractor-form-slot textarea{
  border:1px solid #d9d9d9!important;
  border-radius:14px!important;
  min-height:48px!important;
  background:#fff!important;
}

.contractor-form-slot textarea{
  min-height:130px!important;
}

.contractor-form-slot button,
.contractor-form-slot .btn{
  min-height:54px!important;
  border-radius:999px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
}

@media(max-width:900px){
  .contractor-intro-card,
  .contractor-pricing-grid,
  .contractor-form-slot .subscription-options{
    grid-template-columns:1fr!important;
  }

  .contractor-intro-page{
    padding:58px 0!important;
  }

  .contractor-summary-box,
  .contractor-form-slot .form-card{
    padding:24px!important;
  }
}

@media(max-width:520px){
  .contractor-intro-card h1{
    font-size:clamp(36px,12vw,48px)!important;
  }

  .contractor-price-card .price{
    font-size:38px!important;
  }
}



/* FINAL: FAQ position and spacing cleanup */
.faq-section,
.section.faq-section {
  padding-top: 58px !important;
  padding-bottom: 58px !important;
}

.faq-section .section-title,
.faq-section h2 {
  margin-bottom: 22px !important;
}

.faq-section details,
.faq-section .faq-item {
  margin-bottom: 12px !important;
}

.trade-bottom-cta {
  margin-top: 0 !important;
}

@media(max-width:760px){
  .faq-section,
  .section.faq-section {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }
}



/* FINAL uniform cleanup: homepage hero, contractor page, desktop/mobile spacing */
:root{
  --tsi-orange: var(--orange, #ff8a00);
  --tsi-max: var(--max, 1240px);
}

/* Homepage hero title: cleaner, smaller, controlled line breaks */
.home-hero-title-clean{
  max-width: 760px !important;
  font-size: clamp(48px, 7.2vw, 92px) !important;
  line-height: .93 !important;
  letter-spacing: -.055em !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  text-wrap: balance !important;
}

.home-hero-title-clean span{
  display: block !important;
}

.home-hero-title-clean .line-small{
  font-size: .9em !important;
}

.hero-copy{
  max-width: 820px !important;
}

.hero-copy p{
  max-width: 560px !important;
  font-size: clamp(15px, 1.4vw, 18px) !important;
  line-height: 1.55 !important;
}

/* Site uniformity */
.section{
  padding-top: 58px !important;
  padding-bottom: 58px !important;
}

.section-title{
  letter-spacing: -.035em !important;
  line-height: .98 !important;
}

.section-copy{
  max-width: 760px !important;
}

.card,
.form-card,
.how-step,
.contractor-price-card,
.compact-service-list,
.compact-service-note,
.next-card,
.home-customer-only-note,
.reassurance-card{
  border-radius: 20px !important;
}

/* Contractor page professional rebuild */
.for-contractors-body .contractor-intro-page{
  position: relative !important;
  background:
    radial-gradient(circle at 16% 20%, rgba(255,138,0,.24), transparent 30%),
    linear-gradient(135deg, #050505 0%, #111 58%, #050505 100%) !important;
  color: #fff !important;
  padding: 72px 0 !important;
  overflow: hidden !important;
}

.for-contractors-body .contractor-intro-card{
  display: grid !important;
  grid-template-columns: minmax(0,1.05fr) minmax(320px,.78fr) !important;
  gap: 34px !important;
  align-items: center !important;
}

.for-contractors-body .contractor-intro-card h1{
  max-width: 760px !important;
  font-size: clamp(40px, 5.1vw, 68px) !important;
  line-height: .94 !important;
  letter-spacing: -.05em !important;
  margin-bottom: 16px !important;
}

.for-contractors-body .contractor-intro-card p{
  max-width: 720px !important;
  color: #f1f1f1 !important;
  font-size: 17px !important;
  line-height: 1.62 !important;
}

.for-contractors-body .contractor-summary-box{
  background: #fff !important;
  color: #111 !important;
  border-radius: 24px !important;
  padding: 28px !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.36) !important;
}

.for-contractors-body .contractor-summary-box h2{
  font-size: 25px !important;
}

.for-contractors-body .contractor-pricing-grid{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px !important;
  margin-top: 22px !important;
}

.for-contractors-body .contractor-price-card{
  position: relative !important;
  background: #fff !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 24px !important;
  padding: 30px !important;
  box-shadow: 0 16px 42px rgba(0,0,0,.08) !important;
  overflow: hidden !important;
}

.for-contractors-body .contractor-price-card:before{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  height:6px !important;
  background: linear-gradient(90deg, var(--tsi-orange), #ffbd67) !important;
}

.for-contractors-body .contractor-price-card h3{
  font-size: 23px !important;
  margin-bottom: 10px !important;
}

.for-contractors-body .contractor-price-card .price{
  font-size: 44px !important;
  line-height: 1 !important;
}

/* Fix How It Works on contractor page where cards were stripped visually */
.for-contractors-body .how-steps{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 18px !important;
  margin-top: 26px !important;
}

.for-contractors-body .how-step{
  position: relative !important;
  background: #fff !important;
  border: 1px solid #e9e9e9 !important;
  border-radius: 22px !important;
  padding: 24px !important;
  min-height: 190px !important;
  box-shadow: 0 14px 36px rgba(0,0,0,.07) !important;
}

.for-contractors-body .how-number{
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--tsi-orange) !important;
  color: #111 !important;
  font-weight: 900 !important;
  margin-bottom: 16px !important;
}

.for-contractors-body .how-step h3{
  margin: 0 0 10px !important;
  text-transform: uppercase !important;
  font-size: 18px !important;
  line-height: 1.05 !important;
}

.for-contractors-body .how-step p{
  margin: 0 !important;
  color: #5d5d5d !important;
  line-height: 1.55 !important;
  font-size: 15px !important;
}

/* Application form professional look */
.for-contractors-body #contractor-apply{
  background: #f7f7f7 !important;
}

.for-contractors-body .contractor-form-slot{
  max-width: 960px !important;
}

.for-contractors-body .contractor-form-slot .form-card{
  max-width: 960px !important;
  margin: 0 auto !important;
  background: #fff !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 26px !important;
  padding: 34px !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.10) !important;
}

.for-contractors-body .subscription-note{
  background: linear-gradient(135deg, #111, #050505) !important;
  color: #fff !important;
  border-radius: 22px !important;
  padding: 26px !important;
  margin-bottom: 26px !important;
}

.for-contractors-body .subscription-note p,
.for-contractors-body .subscription-note li{
  color: #ededed !important;
}

.for-contractors-body .subscription-options{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 16px !important;
  margin-top: 10px !important;
}

.for-contractors-body .subscription-option{
  position: relative !important;
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 14px !important;
  align-items: start !important;
  background: #fff !important;
  border: 1px solid #e4e4e4 !important;
  border-radius: 20px !important;
  padding: 18px !important;
  min-height: 122px !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.05) !important;
}

.for-contractors-body .subscription-option input[type="radio"]{
  width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  margin: 2px 0 0 !important;
  accent-color: var(--tsi-orange) !important;
}

.for-contractors-body .subscription-option span{
  display: grid !important;
  gap: 4px !important;
}

.for-contractors-body .subscription-option strong{
  text-transform: uppercase !important;
  font-size: 16px !important;
}

.for-contractors-body .subscription-option .price{
  color: var(--tsi-orange) !important;
  font-weight: 900 !important;
  font-size: 16px !important;
}

.for-contractors-body .subscription-option span span:not(.price){
  color: #555 !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.for-contractors-body input,
.for-contractors-body select,
.for-contractors-body textarea{
  border: 1px solid #d8d8d8 !important;
  border-radius: 14px !important;
  min-height: 48px !important;
  background: #fff !important;
}

.for-contractors-body textarea{
  min-height: 130px !important;
}

.for-contractors-body button,
.for-contractors-body .btn{
  min-height: 54px !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

/* Mobile */
@media(max-width: 980px){
  .for-contractors-body .contractor-intro-card,
  .for-contractors-body .contractor-pricing-grid,
  .for-contractors-body .how-steps,
  .for-contractors-body .subscription-options{
    grid-template-columns: 1fr !important;
  }

  .for-contractors-body .how-step{
    min-height: unset !important;
  }
}

@media(max-width: 760px){
  .home-hero-title-clean{
    font-size: clamp(38px, 12vw, 58px) !important;
    line-height: .96 !important;
    letter-spacing: -.045em !important;
    max-width: 100% !important;
  }

  .hero-copy p{
    font-size: 15px !important;
  }

  .section{
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }

  .for-contractors-body .contractor-intro-page{
    padding: 50px 0 !important;
  }

  .for-contractors-body .contractor-intro-card h1{
    font-size: clamp(34px, 11vw, 48px) !important;
  }

  .for-contractors-body .contractor-form-slot .form-card,
  .for-contractors-body .contractor-summary-box,
  .for-contractors-body .contractor-price-card,
  .for-contractors-body .how-step{
    padding: 22px !important;
    border-radius: 20px !important;
  }
}



/* FINAL GLOBAL MOBILE/TABLET FIX
   Makes mobile closer to desktop while staying responsive across iPhone/Android/tablets. */
html,
body {
  max-width: 100%;
  overflow-x: hidden !important;
}

body {
  -webkit-text-size-adjust: 100%;
}

img,
video,
iframe {
  max-width: 100% !important;
  height: auto;
}

.container,
.header .container,
.header-inner {
  width: min(var(--max, 1240px), calc(100% - 40px)) !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.section,
.hero,
.trade-bottom-cta,
.contractor-intro-page,
.home-action-panel {
  overflow: hidden;
}

.hero h1,
.section-title,
.contractor-intro-card h1,
.home-hero-title-clean,
.trade-bottom-cta .section-title,
.form-card h2,
.form-card h3 {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* Remove accidental low-contrast text-shadow issues on white cards/forms */
.form-card p,
.home-quote-card p,
.trade-bottom-cta .form-card p,
.trade-bottom-cta .form-card .section-copy,
#quote .form-card p,
#quote .form-card .section-copy,
.contractor-form-slot .form-card p {
  color: #4f4f4f !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

/* Keep dark-section text readable */
.contractor-how-section,
.for-contractors-body .contractor-how-section {
  background: #050505 !important;
  color: #fff !important;
}

.contractor-how-section .section-title,
.for-contractors-body .contractor-how-section .section-title {
  color: #fff !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

.contractor-how-section .section-copy,
.for-contractors-body .contractor-how-section .section-copy {
  color: #e8e8e8 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

/* Tablet layout */
@media (min-width: 761px) and (max-width: 1100px) {
  .header-inner {
    flex-direction: column !important;
    justify-content: center !important;
    gap: 14px !important;
    padding: 18px 0 !important;
  }

  .nav {
    width: 100% !important;
    justify-content: center !important;
  }

  .home-action-grid,
  .forms-grid,
  .quote-clean-grid,
  .contractor-intro-card,
  .contractor-pricing-grid,
  .trades-grid,
  .quote-wrap {
    grid-template-columns: 1fr !important;
  }

  .trade-cards,
  .how-steps,
  .compact-service-list ul {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .hero h1,
  .home-hero-title-clean {
    font-size: clamp(46px, 8vw, 72px) !important;
    line-height: .96 !important;
  }

  .section-title {
    font-size: clamp(38px, 6vw, 58px) !important;
  }
}

/* Phone layout */
@media (max-width: 760px) {
  body {
    font-size: 16px !important;
  }

  .container,
  .header .container,
  .header-inner {
    width: calc(100% - 30px) !important;
    max-width: 100% !important;
  }

  .header {
    position: relative !important;
  }

  .header-inner {
    min-height: unset !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 14px 0 16px !important;
  }

  .brand-block {
    width: 100% !important;
    align-items: center !important;
  }

  .logo img {
    max-height: 72px !important;
    width: auto !important;
    object-fit: contain !important;
  }

  .header-social-links {
    margin-top: 6px !important;
    gap: 8px !important;
  }

  .header-social-link {
    width: 30px !important;
    height: 30px !important;
  }

  .nav {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    gap: 7px !important;
    flex-wrap: wrap !important;
  }

  .nav a {
    font-size: 12px !important;
    line-height: 1 !important;
    padding: 8px 9px !important;
  }

  .header-actions .quote-image-exact,
  .quote-image-exact {
    min-width: 0 !important;
    width: min(280px, 100%) !important;
    height: auto !important;
  }

  .header-actions .quote-image-exact img,
  .quote-image-exact img {
    max-width: 100% !important;
    max-height: 58px !important;
    height: auto !important;
    object-fit: contain !important;
  }

  .hero {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
    min-height: auto !important;
  }

  .hero-inner,
  .hero .container,
  .hero-grid {
    min-height: auto !important;
    grid-template-columns: 1fr !important;
  }

  .hero h1,
  .home-hero-title-clean,
  .contractor-intro-card h1 {
    font-size: clamp(34px, 10vw, 50px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.04em !important;
    max-width: 100% !important;
  }

  .home-hero-title-clean span {
    display: block !important;
  }

  .hero-copy p,
  .hero p,
  .section-copy {
    font-size: 15px !important;
    line-height: 1.6 !important;
    max-width: 100% !important;
  }

  .section,
  .home-action-panel,
  .trade-bottom-cta {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }

  .section-title,
  .trade-bottom-cta .section-title,
  .form-card h2,
  .form-card h3,
  .home-quote-card h3,
  .home-info-card h2 {
    font-size: clamp(28px, 8.2vw, 40px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.035em !important;
  }

  .home-action-grid,
  .home-action-side,
  .forms-grid,
  .quote-clean-grid,
  .contractor-intro-card,
  .contractor-pricing-grid,
  .trades-grid,
  .quote-wrap,
  .compact-services,
  .trade-cards,
  .how-steps,
  .contractor-form-slot .subscription-options,
  .subscription-options,
  .two-cols,
  .form-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .trust-grid,
  .benefits {
    grid-template-columns: 1fr !important;
  }

  .card,
  .form-card,
  .home-info-card,
  .home-quote-card,
  .how-step,
  .contractor-price-card,
  .price-card,
  .compact-service-list,
  .compact-service-note,
  .next-card,
  .home-customer-only-note,
  .reassurance-card,
  .contractor-summary-box,
  .subscription-note,
  .subscription-option {
    padding: 20px !important;
    border-radius: 20px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: unset !important;
  }

  .form-card,
  .home-quote-card,
  .trade-bottom-cta .form-card {
    background: #fff !important;
    color: #111 !important;
  }

  input,
  select,
  textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 50px !important;
    font-size: 16px !important;
    color: #111 !important;
    background: #fff !important;
  }

  textarea {
    min-height: 130px !important;
  }

  button,
  .btn,
  .btn-block {
    width: 100% !important;
    min-height: 52px !important;
  }

  .compact-service-list ul,
  .related,
  .related-trades {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .related a,
  .related-trades a,
  .trade-bottom-cta .related a {
    width: 100% !important;
    margin: 0 !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .for-contractors-body .contractor-intro-page {
    padding: 46px 0 !important;
  }

  .for-contractors-body .contractor-how-section,
  .contractor-how-section {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }

  .for-contractors-body .how-step,
  .contractor-how-section .how-step {
    background: #fff !important;
    color: #111 !important;
  }

  .for-contractors-body .how-step p,
  .contractor-how-section .how-step p {
    color: #5a5a5a !important;
  }

  .for-contractors-body .how-number,
  .contractor-how-section .how-number {
    width: 46px !important;
    height: 46px !important;
    font-size: 20px !important;
    margin-bottom: 14px !important;
  }

  .contractor-warning {
    color: #f5f5f5 !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
  }

  .subscription-option {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    gap: 12px !important;
    align-items: start !important;
  }

  .subscription-option input[type="radio"] {
    width: 22px !important;
    height: 22px !important;
    min-height: 22px !important;
  }

  .footer {
    text-align: center !important;
    padding: 26px 0 !important;
  }

  .footer-links {
    justify-content: center !important;
  }
}

/* Very narrow phones */
@media (max-width: 390px) {
  .container,
  .header .container,
  .header-inner {
    width: calc(100% - 24px) !important;
  }

  .hero h1,
  .home-hero-title-clean,
  .contractor-intro-card h1 {
    font-size: clamp(31px, 10vw, 42px) !important;
  }

  .section-title,
  .trade-bottom-cta .section-title,
  .form-card h2,
  .form-card h3,
  .home-quote-card h3 {
    font-size: clamp(26px, 8vw, 34px) !important;
  }

  .card,
  .form-card,
  .home-info-card,
  .home-quote-card,
  .how-step,
  .compact-service-list,
  .compact-service-note {
    padding: 18px !important;
  }
}


/* Trade Source IRE responsive spacing and SEO landing-link cleanup — 2026-07-14 */
:root{
  --tsi-page-gutter:clamp(18px,4vw,40px);
  --tsi-section-space:clamp(56px,7vw,88px);
  --tsi-card-gap:clamp(16px,2vw,24px);
}
html{scroll-behavior:smooth;overflow-x:hidden}
body{overflow-x:hidden}
.container,.header-inner{width:min(var(--max,1240px),calc(100% - (var(--tsi-page-gutter) * 2)))!important;margin-inline:auto!important}
.section,.section-light,.section-dark,.trade-hub-cta,.home-action-panel{padding-top:var(--tsi-section-space)!important;padding-bottom:var(--tsi-section-space)!important}
.grid,.hub-grid,.trust-grid,.features,.two-col,.quote-wrap,.home-action-grid{gap:var(--tsi-card-gap)!important}
.card,.hub-card,.form-card,.home-info-card,.notice,.price-box{height:auto;min-width:0}
.section-title,h1,h2,h3{overflow-wrap:break-word}
p{max-width:72ch}
img{height:auto}

.tsi-seo-links{background:#f6f6f6;color:#111}
.tsi-seo-links .tsi-seo-intro{max-width:780px;margin-bottom:28px}
.tsi-seo-links .tsi-seo-intro p{font-size:17px;line-height:1.7;color:#333}
.tsi-keyword-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.tsi-keyword-card{display:flex;flex-direction:column;min-height:100%;padding:24px;border:1px solid #e5e5e5;border-radius:20px;background:#fff;color:#111;text-decoration:none;box-shadow:0 12px 28px rgba(0,0,0,.06);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.tsi-keyword-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(0,0,0,.1);border-color:#ff8a00}
.tsi-keyword-card h3{margin:0 0 10px;font-size:21px;line-height:1.15;color:#111}
.tsi-keyword-card p{margin:0;color:#555;font-size:15px;line-height:1.55}
.tsi-keyword-card span{margin-top:auto;padding-top:16px;color:#c85f00;font-weight:900}

@media(max-width:1050px){
  .tsi-keyword-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  :root{--tsi-section-space:52px}
  .header-inner{padding-block:14px!important}
  .hero,.hero.trade-hub-hero{padding-top:54px!important;padding-bottom:54px!important}
  .hero h1,.trade-hub-hero h1{max-width:13ch!important}
  .hero-copy,.hero-grid>div:first-child,.trade-hub-hero .hero-copy{padding-left:14px!important}
  .card,.hub-card,.form-card,.home-info-card,.notice,.price-box{padding:20px!important}
}
@media(max-width:620px){
  :root{--tsi-page-gutter:16px;--tsi-section-space:44px;--tsi-card-gap:14px}
  .nav{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:100%!important}
  .nav a{min-height:42px!important;padding:10px 7px!important;font-size:11px!important}
  .hero,.hero.trade-hub-hero{padding-top:44px!important;padding-bottom:44px!important}
  .hero h1,.trade-hub-hero h1{font-size:clamp(34px,11.5vw,48px)!important;line-height:1!important;max-width:12ch!important}
  .hero-actions{display:grid!important;grid-template-columns:1fr!important}
  .hero-actions .btn,.hero-actions a{width:100%!important;justify-content:center!important;text-align:center!important}
  .tsi-keyword-grid{grid-template-columns:1fr}
  .tsi-keyword-card{padding:20px;border-radius:18px}
  .compact-service-list ul{grid-template-columns:1fr!important}
  .footer-links{gap:10px!important}
}
@media(max-width:360px){
  .nav{grid-template-columns:1fr!important}
}
