/* Pool Services hub and service pages, using the shared Coast Life palette. */
.pool-service-page{background:#fff}
.service-hero{display:grid;grid-template-columns:48% 52%;min-height:600px;background:#082f4b;color:#fff}
.service-hero-copy{display:flex;align-items:center;padding:54px clamp(30px,5vw,95px);min-width:0}
.service-hero-copy>div{width:min(100%,580px);margin-left:auto}
.service-hero .breadcrumbs{color:#c7e5ef;margin:0 0 80px}
.service-hero .breadcrumbs a:hover{color:#6ce0fa}
.service-hero h1{font-size:clamp(3.2rem,5vw,5.7rem);line-height:1.04;max-width:650px;margin:0 0 24px}
.service-hero-copy>div>p:not(.eyebrow){font-size:clamp(1rem,1.3vw,1.2rem);color:#d3e7ee;line-height:1.58;max-width:520px}
.service-hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:30px}
.service-hero-actions .btn{background:#20baef;border-color:#20baef;color:#fff}
.service-hero-actions .btn:hover{background:#069fce;border-color:#069fce;color:#fff}
.service-hero-actions>a:not(.btn){font:800 .72rem/1.3 Manrope,Arial,sans-serif;text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid #a4d7e5;padding:8px 0;color:#fff}
.service-hero-photo{overflow:hidden;min-width:0}
.service-hero-photo img{width:100%;height:100%;min-height:600px;object-fit:cover;object-position:center}
.service-hub-hero{min-height:630px}
.service-hub-hero .service-hero-photo img{min-height:630px}
.service-trust{background:#e9f8fc;border-bottom:1px solid #d0eaf2}
.service-trust .shell{display:flex;justify-content:space-between;gap:20px;padding-block:19px}
.service-trust span{font:700 .78rem/1.4 Manrope,Arial,sans-serif;color:#476a7b}
.service-trust strong{font-size:1.1rem;color:#078fac;margin-right:5px}
.service-overview{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.72fr);gap:clamp(50px,8vw,140px);align-items:center}
.service-overview>div{max-width:780px}
.service-overview h2{max-width:760px}
.service-overview p:not(.eyebrow){color:#526e7d;line-height:1.74;font-size:.99rem}
.service-overview .service-lede{font-size:1.2rem!important;font-weight:600;line-height:1.58!important;color:#193e53!important}
.service-overview .text-link{display:inline-block;margin-top:14px}
.service-overview aside{background:#e8f7fc;padding:34px 38px;border-left:4px solid #20baef}
.service-overview aside h3{font-size:1.6rem;max-width:300px}
.service-overview aside ul{list-style:none;margin:25px 0 0;padding:0}
.service-overview aside li{display:flex;align-items:start;gap:14px;border-top:1px solid #c8e3ec;padding:15px 0;color:#35576a;font-size:.87rem;line-height:1.5}
.service-overview aside li span{color:#009cc4;font-weight:800}
.service-story{display:grid;grid-template-columns:50% 50%;background:#082f4b;color:#fff}
.service-story-image{min-height:510px;overflow:hidden}
.service-story-image img{width:100%;height:100%;object-fit:cover}
.service-story-copy{display:flex;align-items:center;padding:65px clamp(35px,7vw,110px)}
.service-story-copy>div{max-width:620px}
.service-story-copy h2{font-size:clamp(2.5rem,3.8vw,4.2rem)}
.service-story-copy p:not(.eyebrow){color:#d1e6ed;line-height:1.7}
.service-story-copy .btn{margin-top:15px;background:#20baef;border-color:#20baef;color:#fff}
.service-story-copy .btn:hover{background:#069fce;color:#fff}
.service-designs .section-heading-row,.service-more .section-heading-row,.service-hub-list .section-heading-row{margin-bottom:29px}
.service-designs .section-heading-row p:last-child,.service-hub-list .section-heading-row p:last-child{color:#55717e;margin-bottom:0}
.service-design-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:12px}
.service-design-grid a{display:block;background:#eaf7fb;transition:transform .2s,box-shadow .2s}
.service-design-grid a:hover,.service-design-grid a:focus-visible{transform:translateY(-3px);box-shadow:0 14px 22px rgba(5,54,77,.12)}
.service-design-grid img{width:100%;height:215px;object-fit:cover}
.service-design-grid a>span{display:grid;grid-template-columns:1fr auto;gap:3px 10px;align-items:center;padding:18px 19px}
.service-design-grid strong{font:800 1.1rem Manrope,Arial,sans-serif}
.service-design-grid small{color:#55717e;font-size:.75rem}
.service-design-grid b{grid-column:2;grid-row:1/3;color:#008eaf}
.service-more{background:#eaf7fb}
.service-tile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.service-tile{background:#fff;display:block;min-width:0;box-shadow:0 8px 20px rgba(8,60,81,.05);transition:transform .2s,box-shadow .2s}
.service-tile:hover,.service-tile:focus-visible{transform:translateY(-4px);box-shadow:0 18px 32px rgba(8,60,81,.13)}
.service-tile img{width:100%;height:225px;object-fit:cover}
.service-tile-copy{display:flex;flex-direction:column;padding:22px 24px 25px;min-height:205px}
.service-tile-copy small{font:800 .66rem Manrope,Arial,sans-serif;text-transform:uppercase;letter-spacing:.11em;color:#0797b7;margin-bottom:10px}
.service-tile-copy strong{font:800 1.5rem/1.2 Manrope,Arial,sans-serif;margin-bottom:9px}
.service-tile-copy>span{font-size:.86rem;line-height:1.52;color:#526e7d}
.service-tile-copy b{margin-top:auto;padding-top:20px;font:800 .7rem Manrope,Arial,sans-serif;color:#008ead;text-transform:uppercase;letter-spacing:.06em}
.service-hub-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px}
.service-hub-intro>div:last-child{max-width:780px;color:#526e7d;line-height:1.75}
.service-hub-intro .text-link{display:inline-block;margin-top:12px}
.service-hub-list{background:#f4fbfd}
.service-hub-list .service-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-hub-list .service-tile{display:grid;grid-template-columns:45% 55%}
.service-hub-list .service-tile:last-child:nth-child(odd){grid-column:1/-1}
.service-hub-list .service-tile img{height:100%;min-height:270px}
.service-hub-list .service-tile-copy{justify-content:center;min-height:270px}
.service-hub-additions{background:#e8f7fc}
.service-hub-additions .service-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-hub-additions .service-tile{display:block}
.service-hub-additions .service-tile img{height:220px;min-height:0}
.service-hub-additions .service-tile-copy{min-height:190px}
.service-finance{display:grid;grid-template-columns:1fr 330px;gap:45px;align-items:center;padding-block:70px}
.service-finance h2{font-size:clamp(2rem,3vw,3.3rem)}
.service-finance p:not(.eyebrow){color:#526e7d}
.service-finance .btn{background:#20baef;border-color:#20baef;color:#fff}
.service-finance>a{padding:25px;background:#e9f8fc}
.service-finance img{width:100%;height:auto}
.concrete-page .service-hero-photo,.concrete-page .service-story-image{position:relative}
.concrete-page .service-hero{min-height:645px}
.concrete-page .service-hero-copy{padding-top:85px;padding-bottom:40px}
.concrete-page .service-hero .breadcrumbs{margin-bottom:32px}
.concrete-page .service-hero-photo img{min-height:645px;object-position:52% center}
.service-image-note{position:absolute;bottom:16px;right:18px;padding:7px 11px;background:rgba(4,37,55,.74);color:#fff;font:700 .62rem/1.25 Manrope,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.concrete-process{background:#e7f7fb}
.concrete-process .section-heading-row{align-items:end;gap:48px;margin-bottom:35px}
.concrete-process .section-heading-row>p{max-width:390px;color:#476879;line-height:1.6}
.concrete-process-grid{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:0;margin:0}
.concrete-process-grid li{background:#fff;padding:27px 23px 32px;border-top:4px solid #20baef}
.concrete-process-grid span{display:block;color:#0495bb;font:800 .75rem Manrope,Arial,sans-serif;letter-spacing:.08em;margin-bottom:32px}
.concrete-process-grid h3{font-size:1.42rem;line-height:1.2;margin:0 0 11px}
.concrete-process-grid p{color:#526e7d;font-size:.86rem;line-height:1.55;margin:0}
.concrete-process-note{font-size:.78rem;color:#567381;margin:19px 0 0}
.concrete-compare{background:#f8fcfd}
.concrete-compare .section-heading-row{margin-bottom:30px}
.concrete-compare .section-heading-row p:last-child{max-width:650px;color:#526e7d}
.concrete-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.concrete-compare-grid article{padding:clamp(26px,4vw,54px);background:#fff;border:1px solid #d9eaf0;display:flex;flex-direction:column}
.concrete-compare-grid article:first-child{background:#093652;color:#fff;border-color:#093652}
.concrete-compare-grid article>span{font:800 .7rem Manrope,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#0797b7}
.concrete-compare-grid article:first-child>span{color:#70d9f1}
.concrete-compare-grid h3{font-size:clamp(1.65rem,2.3vw,2.4rem);line-height:1.15;margin:17px 0}
.concrete-compare-grid p,.concrete-compare-grid li{color:#526e7d;line-height:1.62;font-size:.9rem}
.concrete-compare-grid article:first-child p,.concrete-compare-grid article:first-child li{color:#d0e6ef}
.concrete-compare-grid ul{padding-left:19px;margin:8px 0 26px}
.concrete-compare-grid li{margin-bottom:8px}
.concrete-compare-grid .text-link{margin-top:auto;align-self:flex-start}
.concrete-compare-grid article:first-child .text-link{color:#7cddf4}
@media(max-width:1100px){
  .service-hero{grid-template-columns:50% 50%}
  .service-hero-copy{padding-inline:35px}
  .service-hero h1{font-size:clamp(3rem,5vw,4.6rem)}
  .service-hub-list .service-tile{display:block}
  .service-hub-list .service-tile img{height:215px;min-height:0}
  .service-hub-list .service-tile-copy{min-height:190px}
  .concrete-process-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .concrete-page .service-hero{min-height:0}
  .concrete-page .service-hero-copy{padding:36px 24px 60px}
  .concrete-page .service-hero-photo img{min-height:0}
  .service-hero{display:flex;flex-direction:column-reverse;min-height:0}
  .service-hero-photo img,.service-hub-hero .service-hero-photo img{min-height:0;height:310px}
  .service-hero-copy{padding:36px 24px 60px}
  .service-hero-copy>div{margin:0}
  .service-hero .breadcrumbs{margin-bottom:38px}
  .service-hero h1{font-size:clamp(2.65rem,8.8vw,4.2rem)}
  .service-trust .shell{flex-wrap:wrap}
  .service-overview,.service-hub-intro{grid-template-columns:1fr;gap:35px}
  .service-story{grid-template-columns:1fr}
  .service-story-image{min-height:0;height:300px}
  .service-story-copy{padding:58px 25px 67px}
  .service-design-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-tile-grid,.service-hub-additions .service-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-hub-list .service-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-finance{grid-template-columns:1fr;gap:25px}
  .service-finance>a{max-width:420px}
  .concrete-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .concrete-compare-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .service-hero-photo img,.service-hub-hero .service-hero-photo img{height:245px}
  .service-hero-actions{align-items:start;flex-direction:column;gap:17px}
  .service-overview aside{padding:25px 21px}
  .service-trust .shell{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .service-design-grid,.service-tile-grid,.service-hub-list .service-tile-grid,.service-hub-additions .service-tile-grid{grid-template-columns:1fr}
  .service-tile img,.service-hub-list .service-tile img,.service-hub-additions .service-tile img{height:215px}
  .service-tile-copy,.service-hub-list .service-tile-copy,.service-hub-additions .service-tile-copy{min-height:0}
  .service-design-grid img{height:230px}
  .concrete-process-grid{grid-template-columns:1fr}
  .concrete-process-grid span{margin-bottom:15px}
  .concrete-process-grid li{padding:23px 25px}
}
