/* CMS compatibility layer for the uploaded Arrant US and Texas Bootstrap designs. */
.dynamic-design-page img{max-width:100%}
.dynamic-design-page .body-copy{color:#222;line-height:1.72}
.dynamic-design-page .body-copy h2,.dynamic-design-page .body-copy h3{margin-top:1.7rem;margin-bottom:.7rem}
.dynamic-design-page .body-copy h3{font-size:1.35rem}
.dynamic-design-page .booking-design-cta{padding:72px 20px;background:#f6f7f9;text-align:center}
.dynamic-design-page .booking-design-cta p{max-width:680px;margin:0 auto 1.5rem;color:#5d6470}
.dynamic-design-page .booking-design-cta h2{margin-bottom:1rem}
.dynamic-design-page .offcanvas{z-index:1060}
.dynamic-design-page .offcanvas-backdrop{z-index:1055}

/* The uploaded US design did not include its vertical call-tab styles. */
.dynamic-us .call-tab{position:fixed;right:0;top:50%;z-index:1040;display:flex;align-items:center;gap:.6rem;writing-mode:vertical-rl;transform:translateY(-50%);padding:18px 12px;border-radius:16px 0 0 16px;background:var(--arrant-orange,#ff6631);color:#fff;text-decoration:none;font-weight:700;box-shadow:0 12px 30px rgba(0,0,0,.15);transition:background-color .2s ease,transform .2s ease}
.dynamic-us .call-tab:hover,.dynamic-us .call-tab:focus{background:var(--arrant-blue,#003582);color:#fff;transform:translateY(-50%) translateX(-3px)}
.dynamic-us .call-tab i{font-size:1.1rem}
.dynamic-us .services-heading{margin:0 0 70px;text-align:center}
.dynamic-us .service-feature-card{border-radius:0}
.dynamic-us .service-feature-card:hover,.dynamic-us .service-feature-card:focus-within{border-radius:28px}
.dynamic-us .experience-card{min-width:240px}
.dynamic-us .experience-topline{display:flex;align-items:center;justify-content:center;gap:.35rem;white-space:nowrap}
.dynamic-us .experience-plus{font-size:1.6rem;font-weight:800;line-height:1}
.dynamic-us .experience-years{font-size:1.55rem;font-weight:700;line-height:1}
.dynamic-us .experience-label{margin:.55rem 0 0;text-align:center;color:#00184a;font-size:1rem}
.dynamic-us .state-card{height:100%}

/* Dynamic Texas content uses one sticky image for each long copy section. */
.dynamic-texas .sticky-copy-section .sticky-image-column{align-self:stretch}
.dynamic-texas .sticky-copy-section .section-sticky-media{position:sticky;top:118px}
.dynamic-texas .sticky-copy-section .section-sticky-media img{width:100%;height:auto;object-fit:cover}
.dynamic-texas .case-study-section .section-sticky-media img{min-height:260px}
.dynamic-texas .service-areas-section>.site-container>.section-title,.dynamic-texas .service-areas-section .section-title{text-align:center;margin-bottom:42px}
.dynamic-texas .credential-track{overflow:visible}
.dynamic-texas .credential-item{flex:1 1 0;min-width:0}
.dynamic-texas .experience-card{padding:20px 18px}
.dynamic-texas .experience-main{display:flex;align-items:center;justify-content:center;gap:.35rem;white-space:nowrap}
.dynamic-texas .experience-card p{text-align:center;margin:.55rem 0 0}
.dynamic-texas .faq-section .accordion-collapse{transition:height .35s ease}

@media(max-width:1199.98px){
  .dynamic-us .call-tab{top:auto;bottom:24px;right:20px;writing-mode:horizontal-tb;transform:none;border-radius:999px;padding:13px 17px}
  .dynamic-us .call-tab:hover,.dynamic-us .call-tab:focus{transform:translateY(-2px)}
}
@media(max-width:991.98px){
  .dynamic-texas .sticky-copy-section .section-sticky-media{position:static;top:auto}
  .dynamic-us .services-heading{margin-bottom:42px}
}
@media(max-width:767.98px){
  .dynamic-design-page .booking-design-cta{padding:52px 16px}
  .dynamic-us .experience-card{min-width:0}
  .dynamic-us .experience-number{font-size:3rem!important}
  .dynamic-us .experience-years{font-size:1.15rem}
  .dynamic-us .experience-plus{font-size:1.25rem}
  .dynamic-texas .credential-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .dynamic-texas .credential-item{min-height:100px}
}
@media(max-width:420px){
  .dynamic-us .call-tab span{display:none}
  .dynamic-us .call-tab{padding:13px;right:12px;bottom:16px}
}
@media(prefers-reduced-motion:reduce){
  .dynamic-design-page *{scroll-behavior:auto!important}
  .dynamic-us .call-tab,.dynamic-texas .faq-section .accordion-collapse{transition:none!important}
}
.dynamic-design-page .booking-widget{text-align:left}
.dynamic-design-page .booking-design-cta .booking-summary h2,.dynamic-design-page .booking-design-cta .booking-main h2{font-family:inherit}


/* Dedicated Schedule page. The booking widget is intentionally restricted to this template. */
.schedule-page{background:#fff}
.schedule-process-section{padding:42px 20px 24px}
.schedule-page-title{margin:0 0 34px;text-align:center;font-family:"Josefin Sans",sans-serif;font-size:clamp(2rem,3.1vw,3.1rem);font-weight:600;color:#111}
.schedule-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.schedule-process-card{min-height:300px;padding:40px 24px;border-radius:18px;background:#f3f3f3;color:#171717}
.schedule-process-number{display:block;margin-bottom:24px;font-family:"Josefin Sans",sans-serif;font-size:2rem;font-weight:600}
.schedule-process-card h2{margin:0 0 18px;font-family:"Josefin Sans",sans-serif;font-size:1.2rem;font-weight:600}
.schedule-process-card p{margin:0;color:#333;line-height:1.65}
.schedule-booking-section{padding:18px 20px 80px;background:#fff}
.schedule-booking-heading{text-align:center;margin:0 auto 36px}
.schedule-booking-heading h2{font-family:"Josefin Sans",sans-serif;font-size:clamp(1.8rem,2.4vw,2.5rem);font-weight:600;margin-bottom:10px}
.schedule-booking-heading p{margin:0;color:#4f4f4f}
.schedule-page .booking-widget{max-width:1180px;margin:0 auto}
@media(max-width:991.98px){
  .schedule-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:575.98px){
  .schedule-process-section{padding:30px 16px 18px}
  .schedule-process-grid{grid-template-columns:1fr}
  .schedule-process-card{min-height:0;padding:28px 22px}
  .schedule-booking-section{padding:18px 12px 56px}
}
