/* All rules are scoped to the EcuProject service grid/articles. */
.ecu-services,.ecu-service-article{box-sizing:border-box;color:#f5f3f4;width:min(100% - 48px,1350px);margin-inline:auto;font-family:inherit}
.ecu-services *,.ecu-service-article *{box-sizing:border-box}
.ecu-services{padding-block:80px}
/* Builder IDs set physical margins: preserve centring and consistent row gaps. */
.ecu-services[id]{margin:0 auto!important;padding:80px 0!important}
.ecu-services[id][data-ecu-group]{padding:0!important}
.ecu-services[id][data-ecu-group="first"]{padding-top:80px!important}
.ecu-services[id][data-ecu-group="middle"],.ecu-services[id][data-ecu-group="last"]{margin-top:30px!important}
.ecu-services[id][data-ecu-group="last"]{padding-bottom:80px!important}
.ecu-services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
.ecu-services .ecu-service-card{position:relative;display:block;isolation:isolate;aspect-ratio:480/572;overflow:hidden;border:1px solid #353035;background:#191719;color:#fff;text-decoration:none;transition:border-color .2s,transform .2s}
.ecu-service-card::after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,rgba(0,0,0,.08) 25%,rgba(0,0,0,.3) 55%,rgba(0,0,0,.91) 100%);z-index:1;pointer-events:none}
.ecu-services .ecu-service-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.ecu-services .ecu-service-card h3{position:absolute;z-index:2;bottom:28px;left:28px;right:24px;margin:0;color:#fff;font-size:19px;font-weight:700;line-height:1.45;text-shadow:0 1px 4px #000}
.ecu-service-card:hover{border-color:#ed1c24}
.ecu-service-card:hover img{transform:scale(1.025)}
.ecu-services a:focus-visible,.ecu-service-article a:focus-visible,.ecu-service-article summary:focus-visible{outline:3px solid #ff454d;outline-offset:5px}
.ecu-service-article{max-width:1160px;padding-block:44px 80px;font-size:16px;line-height:1.85}
.ecu-service-breadcrumb{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:13px;margin-bottom:40px;color:#a9a3a7}
.ecu-service-article a{color:inherit}
.ecu-service-breadcrumb a{text-decoration:none;color:#c6c0c4}
.ecu-service-breadcrumb a:hover,.ecu-service-email:hover,.ecu-service-back a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.ecu-service-article .ecu-service-eyebrow{color:#ff4149;font-size:12px;letter-spacing:.12em;text-transform:uppercase;line-height:1.6;font-weight:700;margin:0 0 14px}
.ecu-service-article h1{font-size:clamp(30px,3.6vw,50px);font-weight:700;line-height:1.14;letter-spacing:-.025em;max-width:900px;margin:0 0 24px;color:#fff}
.ecu-service-article .ecu-service-lead{font-size:19px;line-height:1.7;max-width:850px;color:#cec8cc;margin:0}
.ecu-service-heading{padding-bottom:40px;border-bottom:1px solid #393237;margin-bottom:44px}
.ecu-service-actions{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;margin-top:28px;font-size:14px}
.ecu-service-actions>a{color:#e5dfe3;text-decoration:none}
.ecu-service-actions .ecu-service-button{min-width:195px}
.ecu-service-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:70px;align-items:start}
.ecu-service-article h2{font-size:26px;font-weight:700;line-height:1.35;letter-spacing:-.015em;color:#fff;margin:0 0 18px}
.ecu-service-copy section{margin-bottom:42px}
.ecu-service-article p{margin:0 0 18px}
.ecu-service-copy p,.ecu-service-copy li{color:#d1ccd0}
.ecu-service-copy strong{color:#f5f3f4}
.ecu-service-copy ul,.ecu-service-copy ol{padding-left:24px;margin:0 0 22px}
.ecu-service-copy li{padding-left:5px;margin-bottom:10px}
.ecu-service-copy li::marker{color:#ff4149}
.ecu-service-aside{border:1px solid #393237;background:#191619}
.ecu-service-article .ecu-service-photo{display:block;width:100%;height:auto;aspect-ratio:480/572;object-fit:cover;max-height:368px}
.ecu-service-booking{padding:28px}
.ecu-service-booking h2{font-size:25px}
.ecu-service-booking p:not(.ecu-service-eyebrow){font-size:14px;line-height:1.7;color:#bdb5bb}
.ecu-service-article .ecu-service-call{font-size:23px;font-weight:700;white-space:nowrap;text-decoration:none;display:block;margin:24px 0 18px;color:#fff}
.ecu-service-article .ecu-service-button{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#e6000a;color:#fff;font-weight:700;font-size:14px;line-height:1.5;text-decoration:none;padding:15px 18px}
.ecu-service-button:hover{background:#b90008}
.ecu-service-booking address{font-style:normal;font-size:14px;color:#bdb5bb;line-height:1.85;margin:26px 0 10px}
.ecu-service-email{font-size:14px;text-decoration:none;overflow-wrap:anywhere}
.ecu-service-faq details{border-top:1px solid #393237;padding:17px 0}
.ecu-service-faq details:last-child{border-bottom:1px solid #393237}
.ecu-service-faq summary{cursor:pointer;list-style:none;font-size:17px;font-weight:600;line-height:1.5;padding-right:32px;position:relative;color:#f5f3f4}
.ecu-service-faq summary::-webkit-details-marker{display:none}
.ecu-service-faq summary::after{content:"+";position:absolute;right:2px;top:0;color:#ff4149;font-size:22px}
.ecu-service-faq details[open] summary::after{content:"−"}
.ecu-service-faq details p{margin:14px 0 0;font-size:15px}
.ecu-service-related{border-top:1px solid #393237;padding-top:32px;margin-top:8px}
.ecu-service-related>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.ecu-service-related a{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px;background:#191619;border:1px solid #393237;line-height:1.5;text-decoration:none;font-size:15px;font-weight:600}
.ecu-service-related a:hover{border-color:#e6000a}
.ecu-service-related a span{color:#ff4149;font-size:22px}
.ecu-service-article .ecu-service-back{margin-top:32px;font-size:14px;color:#bdb5bb}
@media(min-width:1100px){.ecu-service-aside{position:sticky;top:110px}}
@media(max-width:1100px){.ecu-services-grid{gap:20px}.ecu-services .ecu-service-card h3{left:18px;right:18px;bottom:22px;font-size:17px}.ecu-service-layout{gap:36px;grid-template-columns:minmax(0,1fr) 280px}.ecu-service-booking{padding:22px}.ecu-service-article .ecu-service-call{font-size:21px}}
@media(max-width:900px){.ecu-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ecu-service-layout{grid-template-columns:1fr}.ecu-service-aside{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ecu-service-article .ecu-service-photo{height:100%;max-height:none}.ecu-service-heading{margin-bottom:32px}.ecu-service-copy section:last-child{margin-bottom:0}.ecu-service-related{margin-top:38px}}
@media(max-width:540px){.ecu-services,.ecu-service-article{width:calc(100% - 36px)}.ecu-services{padding-block:36px}.ecu-services-grid{grid-template-columns:1fr;gap:20px}.ecu-services .ecu-service-card h3{left:24px;right:24px;bottom:26px;font-size:20px}.ecu-service-article{padding-block:28px 44px;font-size:16px;line-height:1.8}.ecu-service-breadcrumb{margin-bottom:28px;font-size:12px}.ecu-service-article .ecu-service-lead{font-size:17px}.ecu-service-heading{padding-bottom:28px}.ecu-service-article h2{font-size:23px}.ecu-service-copy section{margin-bottom:32px}.ecu-service-aside{display:block}.ecu-service-article .ecu-service-photo{height:auto;max-height:none}.ecu-service-booking{padding:26px}.ecu-service-article .ecu-service-call{font-size:25px}.ecu-service-related>div{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.ecu-services .ecu-service-card,.ecu-services .ecu-service-card img{transition:none}.ecu-service-card:hover img{transform:none}}

@media(max-width:1100px){.ecu-services[id][data-ecu-group="middle"],.ecu-services[id][data-ecu-group="last"]{margin-top:20px!important}}
@media(max-width:540px){.ecu-services[id][data-ecu-group="first"]{padding-top:36px!important}.ecu-services[id][data-ecu-group="last"]{padding-bottom:36px!important}}
