
/* P217 — Concrete Engineering & Services Authority */
.p217-service-authority{padding:clamp(64px,7vw,104px) 0;background:linear-gradient(180deg,rgba(247,250,248,.98),rgba(238,245,241,.96));border-top:1px solid rgba(15,61,46,.1);border-bottom:1px solid rgba(15,61,46,.1)}
.p217-service-authority__head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.7fr);gap:clamp(28px,5vw,72px);align-items:end;margin-bottom:34px}
.p217-service-authority__head h2{margin:.5rem 0 0;color:#103d30;font-size:clamp(2rem,4vw,4.2rem);line-height:1.02;letter-spacing:-.04em;max-width:780px}
.p217-service-authority__head>p{margin:0;color:#415c53;font-size:1.02rem;line-height:1.75;max-width:620px}
.p217-service-authority__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.p217-service-card{position:relative;display:flex;flex-direction:column;min-height:330px;padding:24px;border:1px solid rgba(15,61,46,.14);border-radius:24px;background:rgba(255,255,255,.88);box-shadow:0 14px 34px rgba(11,49,37,.07);overflow:hidden}
.p217-service-card::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(#c7a45a,#1d7256);opacity:.72}
[dir="rtl"] .p217-service-card::before{left:auto;right:0}
.p217-service-card__no{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:13px;background:#123f31;color:#f1d595;font-weight:800;font-size:.82rem;letter-spacing:.08em}
.p217-service-card h3{margin:22px 0 10px;color:#143e32;font-size:1.18rem;line-height:1.25}
.p217-service-card p{margin:0;color:#50665e;line-height:1.68;font-size:.94rem}
.p217-service-card ul{display:grid;gap:9px;margin:20px 0 0;padding:0;list-style:none}
.p217-service-card li{display:flex;gap:9px;color:#284b40;font-size:.87rem;line-height:1.45}
.p217-service-card li::before{content:"";flex:0 0 6px;width:6px;height:6px;margin-top:.48em;border-radius:50%;background:#c7a45a}
.p217-service-card__outcome{margin-top:auto;padding-top:20px;border-top:1px solid rgba(15,61,46,.1)}
.p217-service-card__outcome small{display:block;margin-bottom:5px;color:#7a6842;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.p217-service-card__outcome strong{color:#173f33;font-size:.9rem;line-height:1.45}
.p217-engagement{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:18px;margin-top:18px}
.p217-engagement__route,.p217-engagement__boundary{border-radius:26px;padding:clamp(24px,3vw,36px)}
.p217-engagement__route{background:#103b2e;color:#fff;border:1px solid rgba(223,190,111,.32)}
.p217-engagement__route h3,.p217-engagement__boundary h3{margin:8px 0 12px;font-size:clamp(1.35rem,2vw,2rem)}
.p217-engagement__route p{color:rgba(240,248,244,.76);line-height:1.72}
.p217-engagement__steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}
.p217-engagement__step{padding:15px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.p217-engagement__step span{display:block;color:#e1c47d;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}
.p217-engagement__step strong{font-size:.9rem;line-height:1.4}
.p217-engagement__boundary{background:#d8b96d;color:#173729;border:1px solid rgba(99,75,24,.16)}
.p217-engagement__boundary p{color:#365246;line-height:1.68}
.p217-engagement__boundary ul{display:grid;gap:9px;margin:18px 0 0;padding:0;list-style:none}
.p217-engagement__boundary li{padding-inline-start:18px;position:relative;color:#24483b;font-size:.9rem;line-height:1.48}
.p217-engagement__boundary li::before{content:"";position:absolute;inset-inline-start:0;top:.52em;width:7px;height:7px;border-radius:50%;background:#123f31}
.p217-engagement__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.p217-engagement__actions a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:999px;font-weight:800;font-size:.86rem;text-decoration:none}
.p217-engagement__actions a:first-child{background:#d8b96d;color:#153a2e}
.p217-engagement__actions a:last-child{border:1px solid rgba(255,255,255,.2);color:#fff;background:rgba(255,255,255,.04)}
.dark .p217-service-authority{background:linear-gradient(180deg,#071d17,#0a251d);border-color:rgba(223,190,111,.12)}
.dark .p217-service-authority__head h2{color:#f4f8f6}.dark .p217-service-authority__head>p{color:#abc0b8}
.dark .p217-service-card{background:linear-gradient(180deg,rgba(16,52,41,.95),rgba(10,37,29,.96));border-color:rgba(214,184,111,.18);box-shadow:0 16px 38px rgba(0,0,0,.18)}
.dark .p217-service-card h3,.dark .p217-service-card__outcome strong{color:#f1f6f3}.dark .p217-service-card p{color:#adc1b9}.dark .p217-service-card li{color:#d2dfda}.dark .p217-service-card__outcome{border-color:rgba(255,255,255,.09)}
@media(max-width:1100px){.p217-service-authority__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p217-service-authority__head,.p217-engagement{grid-template-columns:1fr}}
@media(max-width:680px){.p217-service-authority{padding:54px 0}.p217-service-authority__grid{grid-template-columns:1fr}.p217-service-card{min-height:0}.p217-engagement__steps{grid-template-columns:1fr}.p217-engagement__actions{display:grid}.p217-engagement__actions a{width:100%}}
