/* Services reference design. Shared site styling and other pages remain unchanged. */
.services-redesign{--red:#f32b1c;--navy:#05232e;--ink:#142026;background:#051c25;color:#f4f8fa}
.services-redesign .ui-icon{width:25px;height:25px;display:inline-block;flex:none;vertical-align:middle}
.services-redesign .container{width:91.4%;max-width:1600px}
.services-redesign .topline{height:clamp(42px,4.5vw,70px);padding:0;background:linear-gradient(90deg,#0b2d3a,#031b24);font-size:clamp(13px,1.4vw,21px)}
.services-redesign .topline .container{height:100%;display:flex;align-items:center;justify-content:space-between}
.topline-location{display:flex;align-items:center;gap:12px}.services-redesign .topline .ui-icon{color:#fa3b27;width:clamp(18px,1.7vw,26px);height:clamp(18px,1.7vw,26px)}
.services-redesign .topline b{margin:0 6px;color:inherit}
.services-redesign header{position:relative;top:auto;background:#fff;border-bottom:0;color:#142026;z-index:20}
.services-redesign .header-inner{height:clamp(80px,8.6vw,134px);gap:clamp(16px,2.1vw,32px);width:92.3%;max-width:1600px}
.services-redesign .brand{gap:clamp(10px,1.2vw,18px)}
.services-redesign .header-inner .brand-logo{width:clamp(65px,7vw,108px);height:clamp(65px,7vw,108px);flex-basis:clamp(65px,7vw,108px);background:#000}
.services-redesign .header-inner .brand-title{font-size:clamp(31px,3.4vw,54px);line-height:1;color:#132127}
.services-redesign .header-inner .brand-sub{font-size:clamp(8px,.9vw,14px);letter-spacing:.18em;margin-top:10px;color:#132127}
.services-google-rating{display:flex;align-items:center;gap:clamp(9px,1vw,16px);padding-left:clamp(16px,1.9vw,30px);border-left:1px solid #d4dade;text-decoration:none;flex:none;line-height:1.15;color:#132127}
.services-google-rating .google-g{display:block;width:clamp(34px,3.7vw,58px);height:clamp(34px,3.7vw,58px)}
.services-google-rating>span{display:flex;flex-direction:column}.services-google-rating .rating-top{display:flex;gap:6px;align-items:center}.services-google-rating strong{font-size:clamp(17px,1.9vw,30px);line-height:1}.services-google-rating .stars{color:#ffad00;font-size:clamp(16px,1.65vw,26px);white-space:nowrap}.rating-source,.rating-count{font-size:clamp(12px,1.2vw,19px);margin-top:2px}.rating-count{text-decoration:underline;color:#62717c}
.services-redesign .primary-nav{margin-left:auto;gap:clamp(20px,2.5vw,38px);align-items:center}.services-redesign .primary-nav a{font-size:clamp(12px,1.1vw,18px);font-weight:500;text-decoration:none;white-space:nowrap;padding:9px 0}.services-redesign .primary-nav a[aria-current]{color:#142026;font-weight:700;border-bottom:3px solid #f32b1c;text-decoration:none}
.services-redesign .header-phone{display:flex;align-items:center;justify-content:center;gap:11px;background:var(--action-red);padding:clamp(10px,1.3vw,20px) clamp(13px,1.3vw,20px);color:white;font-size:clamp(12px,1.2vw,19px);font-weight:600;border-radius:3px;white-space:nowrap}.services-redesign .header-phone .ui-icon{width:21px;height:21px}
.services-redesign .button{border:0;border-radius:3px;background:var(--action-red);color:white;font-size:clamp(18px,1.8vw,28px);font-weight:600;min-height:clamp(49px,5.2vw,80px);padding:12px 28px;line-height:1.3;gap:17px}.services-redesign .button:hover{background:var(--action-red-hover);color:#fff}
.services-redesign .services-hero{position:relative;overflow:hidden;background:#071e27;color:white;border:0;padding:0;min-height:clamp(400px,43vw,680px)}
.services-hero-picture,.services-hero-shade{position:absolute;inset:0;pointer-events:none}.services-hero-picture img{display:block;width:100%;height:100%;object-fit:cover;object-position:center bottom}.services-hero-shade{background:linear-gradient(90deg,rgba(3,19,24,.88),rgba(3,19,24,.70) 32%,rgba(3,19,24,.13) 60%,transparent 80%),linear-gradient(0deg,rgba(3,19,24,.3),transparent 40%)}
.services-redesign .services-hero>.container{position:relative;min-height:inherit;padding-top:clamp(70px,8vw,124px);padding-bottom:45px}
.services-redesign .breadcrumb{position:absolute;top:12px;font-size:11px;color:#d3e2e5;line-height:1.2}.services-redesign .breadcrumb+span{left:45px}
.services-redesign .services-hero .eyebrow{display:flex;align-items:center;gap:26px;font-size:clamp(13px,1.35vw,21px);letter-spacing:.12em;color:#fff;margin:0 0 17px}.services-redesign .services-hero .eyebrow:before{content:'';width:55px;height:5px;background:#fa3926;flex:none}
.services-redesign .services-hero h1{font-size:clamp(58px,6.4vw,104px);line-height:.88;letter-spacing:-.01em;max-width:850px;margin:0 0 24px;transform:scaleX(1.045);transform-origin:left}
.services-redesign .services-hero h1 em{color:#f52f20}.services-redesign .services-hero .lead{font-size:clamp(17px,1.65vw,26px);line-height:1.42;color:#f0f5f6;max-width:660px;margin-bottom:32px}
.services-redesign .service-catalog{position:relative;padding:0 0 27px;background:radial-gradient(ellipse at 50% 0,#092c39a6,transparent 60%),#031b24;overflow:hidden}
.service-catalog:before{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='130' height='90' viewBox='0 0 130 90'%3E%3Cg fill='%230f3541' opacity='.35' transform='rotate(-32 65 45)'%3E%3Cpath d='M0 0h18v12H0zM24 0h18v12H24zM48 0h18v12H48zM72 0h18v12H72zM96 0h18v12H96zM12 18h18v12H12zM36 18h18v12H36zM60 18h18v12H60zM84 18h18v12H84zM0 36h18v12H0zM24 36h18v12H24zM48 36h18v12H48zM72 36h18v12H72zM96 36h18v12H96zM12 54h18v12H12zM36 54h18v12H36zM60 54h18v12H60zM84 54h18v12H84z'/%3E%3C/g%3E%3C/svg%3E");mask-image:linear-gradient(#000,transparent 50%);pointer-events:none}
.catalog-inner{position:relative;width:94.4%;max-width:1690px;margin:auto}
.services-redesign .service-index{margin:0;padding:24px 0 44px 9.5%;color:white;display:block}
.services-redesign .service-index h2{position:relative;font-size:clamp(36px,3.6vw,58px);letter-spacing:-.02em;margin:0 0 14px;line-height:1.1}
.services-redesign .service-index h2:before{content:'';position:absolute;left:-8vw;top:46%;width:5.5vw;max-width:88px;height:5px;background:#f33823}
.services-redesign .service-index ul{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(5,auto);grid-auto-flow:column;gap:3px 9%;padding:0 0 0 20px;max-width:1310px;list-style:none}
.services-redesign .service-index li{display:block}.services-redesign .service-index a{display:inline-flex;align-items:center;gap:18px;min-height:35px;padding:0;border:0;background:none;border-radius:0;color:#f2f7f8;font-size:clamp(16px,1.6vw,25px);line-height:1.45;text-decoration:none;width:auto}
.services-redesign .service-index a:after{content:'→';color:#fa3826;font-size:1.45em;line-height:1}.services-redesign .service-index a:hover{color:#ff6250;background:none}
.services-redesign .cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(12px,1.2vw,19px)}
.services-redesign .service-card.illustrated{display:flex;flex-direction:column;min-height:0;border:1px solid #71878d80;border-radius:4px;background:linear-gradient(120deg,#09252e70,#061b2490);padding:0;color:#fff;overflow:hidden}
.services-redesign .service-card:hover{transform:translateY(-3px);background:#0b2d39;border-color:#f33422;color:#fff}
.services-redesign .illustrated .card-photo{aspect-ratio:1.83;width:100%;height:auto;object-fit:cover;max-height:none;display:block}
.services-redesign .illustrated .card-copy{padding:8px clamp(12px,1.2vw,19px) 25px;display:flex;flex-direction:column;height:100%;min-width:0}
.services-redesign .illustrated .card-number{color:#f43223;font-family:'Barlow Condensed',sans-serif;font-size:clamp(25px,2.6vw,40px);font-weight:700;letter-spacing:0;line-height:1.1;margin:0 0 9px}
.services-redesign .illustrated .card-number small{font:500 clamp(9px,.95vw,14px)/1.1 'DM Sans',sans-serif;color:#c6dee9;letter-spacing:.04em}
.services-redesign .illustrated h3{font-size:clamp(20px,2vw,31px);line-height:1.03;letter-spacing:-.015em;margin:0 0 12px;color:#fff}
.services-redesign .illustrated p{font-size:clamp(14px,1.45vw,22px);line-height:1.35;color:#d8e8f0;max-width:none;margin:0}
.services-redesign .illustrated .card-arrow{display:none}
.services-redesign .closing{position:relative;background:linear-gradient(#07233088,#031c26b8),url('/assets/mesa-oct15-1920.webp') center 50%/cover;background-image:linear-gradient(#07233088,#031c26b8),image-set(url('/assets/mesa-oct15-1920.webp') 1x,url('/assets/mesa-oct15-2172.webp') 2x);padding:32px 0;color:#fff;border-bottom:1px solid #a7bbc666}
.services-redesign .closing .container{max-width:1260px;width:68%}.services-redesign .closing-inner{gap:55px}
.services-redesign .closing .eyebrow{position:relative;display:flex;align-items:center;gap:24px;font-size:clamp(12px,1.2vw,18px);letter-spacing:.13em;margin-bottom:12px;color:#fff}
.services-redesign .closing .eyebrow:before{content:'';width:55px;height:4px;background:#f93826}
.services-redesign .closing h2{font-size:clamp(50px,5vw,78px);line-height:.91;margin:0;white-space:nowrap;letter-spacing:-.02em}.services-redesign .closing h2 em{color:#f52d1e}
.services-redesign .closing-inner>div+div{padding:22px 0 22px 55px;border-left:1px solid #b5c8d7b0;min-width:0;flex:none}
.services-redesign .closing .button{background:var(--action-red);color:#fff;min-width:0;white-space:nowrap;font-size:clamp(18px,1.7vw,26px);min-height:clamp(47px,4.7vw,73px);padding:10px 27px}
.services-redesign .closing-address{display:flex;gap:14px;align-items:center;font-size:clamp(14px,1.4vw,21px);margin:18px 0 0;white-space:nowrap}
.services-redesign footer{background:linear-gradient(110deg,#06232e,#031a23);padding:45px 0 30px;color:#eff4f5;font-size:clamp(14px,1.3vw,20px)}
.services-redesign .footer-grid{grid-template-columns:1.3fr 1fr 1.2fr 1.15fr;gap:30px;width:93.4%;max-width:1690px}
.services-redesign .footer-grid>div{padding-left:35px;border-left:1px solid #6b8a963d}.services-redesign .footer-grid>div:first-child{padding:0;border:0}
.services-redesign .footer-grid .brand{gap:12px;margin:0 0 18px}.services-redesign .footer-grid .brand-logo{width:clamp(64px,6.6vw,102px);height:clamp(64px,6.6vw,102px);flex-basis:clamp(64px,6.6vw,102px)}
.services-redesign .footer-grid .brand-title{font-size:clamp(30px,3vw,46px)}.services-redesign .footer-grid .brand-sub{font-size:clamp(8px,.8vw,13px)}
.services-redesign .footer-grid h3{font-size:clamp(16px,1.5vw,23px);font-weight:600;line-height:1.4;margin-bottom:20px}
.services-redesign .footer-grid p{font-size:clamp(14px,1.4vw,21px);line-height:1.4;margin-bottom:16px}.services-redesign .footer-grid a{font-size:clamp(13px,1.3vw,20px);font-weight:400;line-height:1.4}
.services-redesign .footer-grid .footer-phone{display:block;font-size:clamp(14px,1.3vw,21px)}
.services-redesign .footer-grid .email-line a{font-size:clamp(10px,1.05vw,16px)}
.services-redesign .footer-grid .text-link{display:inline-flex;border:1px solid #dcebf2;border-radius:3px;padding:10px 18px;align-items:center;gap:8px}
.services-redesign .footer-grid .ui-icon{width:22px;height:22px;margin-right:10px}
.services-redesign .footer-bottom{width:94.4%;max-width:1690px;border-top:1px solid #57717c88;justify-content:flex-start;gap:26px;margin-top:38px;padding-top:22px;font-size:clamp(12px,1.1vw,17px)}
.services-redesign .footer-bottom span{margin-right:0}.services-redesign .footer-bottom>a{border-left:1px solid #78909a;padding-left:26px;text-decoration:none;white-space:nowrap}
.services-redesign .mobile-call{display:grid;position:relative;grid-template-columns:1.05fr 1fr;gap:20px;background:#031a23;border-top:1px solid #57717c66;padding:24px 4.1% 30px;box-shadow:none}
.services-redesign .mobile-call a{display:flex;align-items:center;justify-content:center;gap:17px;min-height:clamp(48px,4.8vw,75px);padding:11px 10px;color:white;background:var(--action-red);font-size:clamp(18px,1.9vw,29px);text-decoration:none;font-weight:600;border-radius:3px;line-height:1.3}
.services-redesign .mobile-call a:last-child{background:transparent;border:1px solid #e2eef3}.services-redesign .mobile-call .ui-icon{width:27px;height:27px}
@media(min-width:761px) and (max-width:1100px){.services-redesign .header-inner{gap:15px}.services-redesign .primary-nav{gap:25px}.services-redesign .header-inner .brand{gap:10px}.services-redesign .header-inner .brand-logo{width:64px;height:64px;flex-basis:64px}.services-redesign .header-inner .brand-title{font-size:31px}.services-redesign .header-inner .brand-sub{font-size:8px;margin-top:6px}.services-google-rating{padding-left:16px;gap:9px}.services-google-rating .google-g{width:34px;height:34px}.services-redesign .primary-nav a{font-size:12px}.services-redesign .header-phone{padding:12px 12px;font-size:12px;gap:8px}.services-redesign .header-phone .ui-icon{width:17px;height:17px}.services-redesign .closing .container{width:68%}.services-redesign .closing-inner{gap:30px}.services-redesign .closing-inner>div+div{padding-left:30px}.services-redesign .footer-grid{gap:20px}.services-redesign .footer-grid>div{padding-left:20px}}
@media(min-width:761px) and (max-width:920px){.services-redesign .primary-nav{gap:15px}.services-redesign .header-phone{display:none}}

/* Final spacing against the supplied desktop composition. */
@media(min-width:761px){
.services-redesign .services-hero>.container{padding-bottom:32px}
.services-redesign .services-hero .eyebrow{font-weight:500;margin-bottom:6px;gap:17px}
.services-redesign .services-hero h1{margin-bottom:16px}
.services-redesign .services-hero .lead{max-width:41vw;font-size:clamp(15px,1.6vw,25px);margin-bottom:24px}
.services-redesign .services-hero .button{font-size:clamp(16px,1.65vw,26px)}
.services-redesign .service-index{padding-bottom:29px;padding-top:16px}
.services-redesign .service-index a{font-weight:400;min-height:clamp(25px,2.7vw,42px);font-size:clamp(14px,1.5vw,23px)}
.services-redesign .service-index ul{gap:1px 7%;grid-template-columns:1fr 1.15fr}
.services-redesign .illustrated .card-copy{padding-bottom:18px}
.services-redesign .illustrated h3{font-size:clamp(18px,1.9vw,30px);margin-bottom:9px}
.services-redesign .illustrated p{font-size:clamp(13px,1.4vw,22px)}
.services-redesign .closing{padding:16px 0}
.services-redesign .closing-inner>div+div{padding-top:9px;padding-bottom:9px}
.services-redesign .closing h2{font-size:clamp(52px,5.35vw,84px);transform:scaleX(1.1);transform-origin:left}
.services-redesign .closing .eyebrow{font-weight:500;margin-bottom:8px}
.services-redesign footer{padding-top:24px;padding-bottom:20px}
.services-redesign .footer-grid h3{font-size:clamp(14px,1.4vw,22px);margin-bottom:12px}
.services-redesign .footer-grid p{font-size:clamp(12px,1.3vw,20px);margin-bottom:12px}
.services-redesign .footer-grid a{font-size:clamp(12px,1.25vw,19px)}
.services-redesign .footer-grid .brand{margin-bottom:12px}
.services-redesign .footer-grid .ui-icon{width:18px;height:18px;margin-right:7px}
.services-redesign .footer-bottom{padding-top:15px;margin-top:22px}
.services-redesign .mobile-call{padding-top:16px;padding-bottom:20px}
}
.service-catalog:before{opacity:.45}

/* Compact chooser rows have no inherited text-line strut. */
.services-redesign .service-index li{display:flex;line-height:1}
@media(min-width:761px){
.services-redesign .service-index{padding-bottom:21px}
.services-redesign .illustrated .card-copy{padding-bottom:10px}
.services-redesign .service-catalog{padding-bottom:17px}
.services-redesign footer{padding-top:20px;padding-bottom:18px}
.services-redesign .footer-bottom{margin-top:18px;padding-top:14px}
}

@media(min-width:761px){
.services-redesign .services-hero>.container{padding-top:clamp(68px,7.6vw,120px)}
.services-redesign .services-hero .eyebrow{margin-bottom:2px}
.services-redesign .services-hero h1{line-height:.84;transform:scaleX(1.065)}
.services-redesign .services-hero .lead{margin-bottom:20px}
.services-redesign .services-hero .button{padding-left:20px;padding-right:20px;gap:14px}
.services-hero-picture img{transform:scale(1.1);transform-origin:right center}
}
/* Preserve the site's existing persistent navigation on a phone. */
.services-redesign header{position:sticky;top:0}
@media(min-width:761px) and (max-width:920px){
.services-redesign .closing .container{width:90%}
.services-redesign .closing h2{font-size:clamp(40px,5.35vw,52px)}
.services-redesign .footer-grid .brand-logo{width:52px;height:52px;flex-basis:52px}
.services-redesign .footer-grid .brand-title{font-size:26px}
.services-redesign .footer-grid .brand-sub{font-size:7px}
}

/* Mobile Services: readable catalogue, native menu and reachable fixed actions.
   One phone layout replaces the old miniature desktop composition. */
@media(max-width:760px){
  .services-redesign{font-size:16px;line-height:1.55}
  .services-redesign .container,
  .services-redesign .catalog-inner{width:calc(100% - 32px);max-width:680px}

  /* Identity stays visible; the existing menu contains every navigation route. */
  .services-redesign .topline{height:auto;padding:10px 0;font-size:14px;line-height:1.5}
  .services-redesign .topline .container{height:auto;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
  .services-redesign .topline .container>span:last-child{display:block}
  .services-redesign .topline-location{gap:8px}
  .services-redesign .topline .ui-icon{width:18px;height:20px}
  .services-redesign .topline b{margin:0 4px}
  .services-redesign .header-inner{height:auto;min-height:72px;position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 12px;padding:12px 0;margin-bottom:0}
  .services-redesign .header-inner .brand{grid-column:1;grid-row:1;gap:9px;flex-shrink:1;min-width:0}
  .services-redesign .header-inner .brand-logo{width:46px;height:46px;flex-basis:46px}
  .services-redesign .header-inner .brand-title{font-size:clamp(26px,7vw,34px);line-height:1}
  .services-redesign .header-inner .brand-sub{font-size:9px;letter-spacing:.1em;margin-top:6px;line-height:1.3}
  .services-redesign .primary-nav,
  .services-redesign .header-phone{display:none}
  .services-redesign .mobile-menu{grid-column:2;grid-row:1;display:block;margin:0;padding:0;flex-shrink:0}
  .services-redesign .mobile-menu summary{display:flex;min-width:64px;min-height:48px;padding:10px 12px;font-size:14px;font-weight:700;line-height:1.3;border-radius:3px;background:var(--action-red);color:#fff;white-space:normal}
  .services-redesign .mobile-menu summary:hover{background:var(--action-red-hover)}
  .services-redesign .mobile-menu nav{top:100%;left:-16px;right:-16px;padding:12px 16px;z-index:30;max-height:calc(100dvh - 200px);overflow-y:auto;overscroll-behavior:contain}
  .services-redesign .mobile-menu nav a{display:flex;align-items:center;min-height:48px;padding:12px 8px;font-size:16px;line-height:1.4}
  .services-redesign .services-google-rating{grid-column:1/-1;grid-row:2;justify-self:stretch;display:flex;align-items:center;gap:12px;border-left:0;border-top:1px solid #d4dade;padding:12px 0 0;margin-top:12px;min-height:64px}
  .services-redesign .services-google-rating .google-g{width:36px;height:36px}
  .services-redesign .services-google-rating .rating-top{gap:6px;flex-wrap:wrap}
  .services-redesign .services-google-rating strong{font-size:18px}
  .services-redesign .services-google-rating .stars{font-size:18px;line-height:1.2}
  .services-redesign .services-google-rating .rating-source,
  .services-redesign .services-google-rating .rating-count{font-size:14px;margin-top:3px;line-height:1.3}

  /* Let text determine hero height; the photo remains a background illustration. */
  .services-redesign .services-hero{min-height:0}
  .services-redesign .services-hero>.container{width:calc(100% - 32px);padding:12px 0 32px;min-height:0}
  .services-redesign .breadcrumb{position:static;display:inline-flex;align-items:center;min-height:44px;font-size:14px;line-height:1.4}
  .services-redesign .breadcrumb+span{left:auto;margin-left:6px}
  .services-redesign .services-hero .eyebrow{font-size:14px;line-height:1.45;gap:12px;letter-spacing:.08em;margin:12px 0}
  .services-redesign .services-hero .eyebrow:before{width:28px;height:3px}
  .services-redesign .services-hero h1{font-size:clamp(42px,11vw,64px);line-height:.98;max-width:100%;letter-spacing:-.015em;margin:0 0 18px;transform:none;overflow-wrap:break-word}
  .services-redesign .services-hero .lead{font-size:16px;line-height:1.55;max-width:36rem;margin:0 0 22px}
  .services-redesign .services-hero .button{font-size:16px;min-height:48px;max-width:100%;padding:12px 18px;gap:12px;white-space:normal}
  .services-redesign .services-hero .button .ui-icon{width:21px;height:21px}
  .services-redesign .services-hero-shade{background:linear-gradient(90deg,rgba(3,19,24,.94),rgba(3,19,24,.83) 68%,rgba(3,19,24,.65)),linear-gradient(0deg,#031b24,transparent 45%)}

  /* Ordered service names wrap in their existing DOM order and remain large targets. */
  .services-redesign .service-catalog{padding:0 0 32px}
  .services-redesign .service-index{padding:28px 0 24px;margin:0}
  .services-redesign .service-index h2{font-size:36px;line-height:1.1;margin:0 0 18px;padding-top:14px}
  .services-redesign .service-index h2:before{left:0;top:0;width:40px;height:3px}
  .services-redesign .service-index ul{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-flow:row;gap:8px;max-width:none;padding:0}
  .services-redesign .service-index li{display:flex;min-width:0;line-height:1.4}
  .services-redesign .service-index a{display:flex;align-items:center;justify-content:space-between;width:100%;min-width:0;min-height:48px;padding:10px 12px;border:1px solid #5e7a86;border-radius:3px;font-size:16px;font-weight:500;line-height:1.4;white-space:normal;overflow-wrap:break-word;gap:12px;background:#0b2b38}
  .services-redesign .service-index a:after{font-size:24px;line-height:1;flex:none;color:#ff7968}
  .services-redesign .service-index a:hover{background:#123b49;color:#fff;border-color:#b9ced6}

  /* One full-width card per phone row leaves room for every service description. */
  .services-redesign .cards{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
  .services-redesign .service-card.illustrated{display:grid;grid-template-columns:minmax(82px,31%) minmax(0,1fr);min-height:170px;align-items:stretch;border-radius:4px;background:#0a2632;border-color:#68838e}
  .services-redesign .illustrated .card-photo{height:100%;width:100%;aspect-ratio:auto;object-fit:cover;max-height:none}
  .services-redesign .illustrated .card-copy{padding:16px 14px;height:auto;min-width:0;justify-content:flex-start}
  .services-redesign .illustrated .card-number{font-size:24px;line-height:1.1;margin:0 0 8px;white-space:normal;color:#ff7968}
  .services-redesign .illustrated .card-number small{font:500 14px/1.3 'DM Sans',sans-serif;letter-spacing:.02em;color:#d5e5ec}
  .services-redesign .illustrated h3{font-size:26px;line-height:1.08;margin:0 0 10px;letter-spacing:-.01em;overflow-wrap:break-word}
  .services-redesign .illustrated p{font-size:15px;line-height:1.5;margin:0;max-width:none;overflow-wrap:break-word;color:#e3edf2}
  .services-redesign .illustrated .card-arrow{display:none}
  .services-redesign .service-card:hover{transform:none}

  .services-redesign .closing{padding:32px 0;background-position:center;background-image:linear-gradient(#07233088,#031c26b8),url('/assets/mesa-oct15-1280.webp');background-image:linear-gradient(#07233088,#031c26b8),image-set(url('/assets/mesa-oct15-1280.webp') 1x,url('/assets/mesa-oct15-2172.webp') 2x)}
  .services-redesign .closing .container{width:calc(100% - 32px);max-width:680px}
  .services-redesign .closing-inner{display:flex;flex-direction:column;align-items:stretch;gap:24px}
  .services-redesign .closing .eyebrow{font-size:14px;line-height:1.45;gap:12px;letter-spacing:.06em;margin-bottom:12px;white-space:normal}
  .services-redesign .closing .eyebrow:before{width:28px;height:3px;flex:none}
  .services-redesign .closing h2{font-size:44px;line-height:1.02;letter-spacing:-.02em;white-space:normal;transform:none}
  .services-redesign .closing-inner>div+div{padding:0;border:0;flex:auto;width:100%}
  .services-redesign .closing .button{font-size:16px;min-height:48px;width:100%;padding:12px 16px;gap:12px;white-space:normal}
  .services-redesign .closing .button .ui-icon{width:21px;height:21px}
  .services-redesign .closing-address{font-size:16px;line-height:1.5;gap:10px;margin:16px 0 0;white-space:normal;align-items:flex-start}
  .services-redesign .closing-address .ui-icon{width:21px;height:23px}

  .services-redesign footer{padding:32px 0 calc(112px + env(safe-area-inset-bottom));font-size:16px}
  .services-redesign .footer-grid{grid-template-columns:minmax(0,1fr);gap:24px;width:calc(100% - 32px);max-width:680px}
  .services-redesign .footer-grid>div{grid-column:auto;padding:20px 0 0;border-left:0;border-top:1px solid #54727f}
  .services-redesign .footer-grid>div:first-child{padding:0;border:0}
  .services-redesign .footer-grid .brand{display:flex;gap:12px;margin:0 0 16px;max-width:100%}
  .services-redesign .footer-grid .brand-logo{width:64px;height:64px;flex-basis:64px}
  .services-redesign .footer-grid .brand-title{font-size:32px}
  .services-redesign .footer-grid .brand-sub{font-size:10px;line-height:1.3;letter-spacing:.1em;margin-top:6px}
  .services-redesign .footer-grid h3{font-size:18px;line-height:1.4;margin-bottom:10px}
  .services-redesign .footer-grid p{font-size:16px;line-height:1.55;margin-bottom:12px;overflow-wrap:anywhere}
  .services-redesign .footer-grid a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;font-size:16px;line-height:1.5;margin-bottom:0;overflow-wrap:anywhere}
  .services-redesign .footer-grid .footer-phone{font-size:20px;font-weight:700}
  .services-redesign .footer-grid .email-line{margin-top:8px}
  .services-redesign .footer-grid .email-line a{font-size:14px}
  .services-redesign .footer-grid .text-link{padding:10px 14px;gap:8px;font-size:16px;white-space:normal}
  .services-redesign .footer-grid .ui-icon{width:21px;height:21px;margin-right:8px}
  .services-redesign .footer-bottom{width:calc(100% - 32px);max-width:680px;flex-wrap:wrap;gap:8px 20px;margin-top:28px;padding-top:20px;font-size:14px;line-height:1.5}
  .services-redesign .footer-bottom span{flex-basis:100%;margin:0;white-space:normal}
  .services-redesign .footer-bottom>a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;border-left:0;white-space:normal}

  /* Reserve enough footer space for two lines and the device's safe area. */
  .services-redesign .mobile-call{display:grid;position:fixed;bottom:0;left:0;right:0;z-index:50;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:#031a23;box-shadow:0 -3px 16px #0005}
  .services-redesign .mobile-call a{display:flex;align-items:center;justify-content:center;min-width:0;min-height:52px;padding:8px 6px;gap:8px;font-size:14px;font-weight:700;line-height:1.4;text-align:center;white-space:normal;overflow-wrap:anywhere;border-radius:3px}
  .services-redesign .mobile-call a:last-child{background:#0b2b38}
  .services-redesign .mobile-call .ui-icon{width:20px;height:22px}
}

/* Wide phones/small tablets can show two complete cards without shrinking text. */
@media(min-width:600px) and (max-width:760px){
  .services-redesign .service-index ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .services-redesign .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .services-redesign .service-card.illustrated{display:flex;flex-direction:column}
  .services-redesign .illustrated .card-photo{height:auto;aspect-ratio:1.83}
  .services-redesign .illustrated .card-copy{flex:1}
}
