/* =========================================================================
 * CCW Service Description — box-free luxury service grid.
 * ===================================================================== */

.ccw-svc { position: relative; width: 100%; overflow: hidden; }
.ccw-svc::before {
	content: "";
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 1;
	pointer-events: none;
	z-index: 0;
}

.ccw-svc__inner { position: relative; z-index: 1; margin: 0 auto; padding-block: var(--ccw-space-8); }

/* ---- Header ---- */
.ccw-svc__head { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; }
.ccw-svc__eyebrow { font-family: var(--ccw-font-body); font-size: 0.8rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--ccw-rose-deep); }
.ccw-svc__title { font-family: var(--ccw-font-display); font-size: var(--ccw-fs-h2); line-height: 1.15; color: var(--ccw-heading); margin: 0; }
.ccw-svc__script { font-family: var(--ccw-font-script); font-size: clamp(1.3rem, 2.2vw, 1.7rem); color: #B8862E; line-height: 1; }
.ccw-svc__intro { max-width: 680px; font-size: var(--ccw-fs-body); line-height: var(--ccw-lh-body); color: var(--ccw-text); }
.ccw-svc__intro p { margin: 0 0 0.8em; }
.ccw-svc__intro p:last-child { margin-bottom: 0; }

/* ---- Grid ---- */
.ccw-svc__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; margin-top: 48px; }

.ccw-svc__item { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; }

.ccw-svc__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4em;
	height: 4em;
	border: 2px solid var(--ccw-gold);
	border-radius: 50%;
	color: var(--ccw-rose-deep);
	font-size: 26px;
	line-height: 1;
}
.ccw-svc__icon svg { width: 1em; height: 1em; fill: currentColor; }

.ccw-svc__it-title { position: relative; font-family: var(--ccw-font-display); font-size: 1.3rem; line-height: 1.25; color: var(--ccw-heading); margin: 0; padding-bottom: 0; }
.ccw-svc--divider .ccw-svc__it-title { padding-bottom: 14px; }
.ccw-svc--divider .ccw-svc__it-title::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 38px;
	height: 2px;
	background: var(--ccw-gold);
	border-radius: 2px;
}
/* Left-aligned items: divider hugs the left edge. */
.ccw-svc__item[style*="left"] .ccw-svc__it-title::after,
.ccw-svc__item[style*="flex-start"] .ccw-svc__it-title::after { left: 0; transform: none; }

.ccw-svc__it-text { font-size: var(--ccw-fs-body); line-height: var(--ccw-lh-body); color: #5A4F58; margin: 0; }

@media (max-width: 1024px) { .ccw-svc__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .ccw-svc__grid { grid-template-columns: 1fr; } }
