/* =============================================================
   Stay With GK — Services (single page, editorial ribbon layout)
   Banner uses global .site-banner.
   ============================================================= */
:root{ --clay:#C0714E; --clay-deep:#9c5638; }

.svc-intro{padding:clamp(3rem,6vw,4.5rem) 0 clamp(1rem,2vw,2rem);text-align:center}
.svc-intro h2{font-family:var(--display);font-weight:400;color:var(--ink);font-size:clamp(1.8rem,1.3rem+1.8vw,2.6rem);margin:.6rem 0 .6rem}
.svc-intro p{max-width:60ch;margin:0 auto;color:var(--slate);font-size:1.05rem}
.svc-intro .svc-pay-note{margin:1.2rem auto 1.6rem;font-size:.98rem}
.svc-intro .svc-btn{margin-top:0}

/* cluster heading */
.svc-cluster{padding:clamp(1.5rem,3vw,2.4rem) 0 .4rem}
.svc-cluster__head{display:flex;align-items:baseline;gap:1rem;margin-bottom:.4rem}
.svc-cluster__head h3{font-family:var(--display);font-weight:400;color:var(--ink);font-size:clamp(1.5rem,1.2rem+1.2vw,2.1rem);white-space:nowrap}
.svc-cluster__head .rule{flex:1;height:1px;background:var(--line)}
.svc-cluster__head .n{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-deep);font-weight:600}

/* ribbon rows -> 2-column grid of compact cards */
.svc-ribbons{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;padding-bottom:1.5rem}
.svc-ribbon{display:flex;flex-direction:column;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--white,#fff);box-shadow:0 18px 44px -34px rgba(35,32,26,.4)}
.svc-ribbon__media{position:relative;overflow:hidden;aspect-ratio:16/10}
.svc-ribbon__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.svc-ribbon:hover .svc-ribbon__media img{transform:scale(1.05)}
.svc-ribbon__body{padding:clamp(1.2rem,2vw,1.6rem);display:flex;flex-direction:column;align-items:center;text-align:center}
.svc-ribbon__head{display:flex;align-items:center;justify-content:center;gap:.7rem;margin-bottom:.6rem}
.svc-ribbon__ic{width:44px;height:44px;border-radius:11px;overflow:hidden;background:var(--bone-deep);margin:0;flex:0 0 auto}
.svc-ribbon__ic img{width:100%;height:100%;object-fit:cover;display:block}
.svc-ribbon h4{font-family:var(--display);font-weight:400;color:var(--ink);font-size:clamp(1.3rem,1.1rem+.7vw,1.6rem);margin:0}
.svc-ribbon p{color:var(--slate);margin:0;font-size:.94rem;max-width:52ch}
/* feature chips (e.g. housekeeping: 24/7, insured…) */
.svc-feats{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:0 0 .9rem;padding:0}
.svc-feats li{list-style:none;display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:600;letter-spacing:.02em;color:var(--clay-deep);background:rgba(192,113,78,.10);border:1px solid rgba(192,113,78,.22);padding:.28rem .6rem;border-radius:999px}
@media(min-width:641px){
  /* lone last card (odd count) -> span both columns and center, half width */
  .svc-ribbon:last-child:nth-child(odd){grid-column:1 / -1;max-width:calc(50% - .6rem);margin-inline:auto}
}
@media(max-width:640px){
  .svc-ribbons{grid-template-columns:1fr}
}
@media(max-width:760px){
  .svc-ribbon__media{aspect-ratio:16/9}
}

/* closing CTA reuse */
.svc-cta{padding:clamp(3.5rem,7vw,6rem) 0;text-align:center}
.svc-cta h2{font-family:var(--display);font-weight:400;font-size:clamp(1.9rem,1.4rem+2vw,2.8rem);color:var(--ink);max-width:24ch;margin:0 auto .8rem}
.svc-cta p{max-width:48ch;margin:0 auto 2rem;color:var(--slate)}
.svc-btn{display:inline-flex;align-items:center;gap:.7rem;font-weight:600;font-size:1.05rem;padding:1.1rem 2.1rem;border-radius:999px;text-decoration:none;background:linear-gradient(120deg,var(--clay),var(--clay-deep));color:#fff;box-shadow:0 14px 30px -12px rgba(192,113,78,.7);transition:transform .25s}
.svc-btn:hover{transform:translateY(-2px)}
