.cd-service-page { --service-ink:#123a31; --service-accent:#dc6e22; color:var(--service-ink); background:#fff; }
.cd-service-page .l-wrap { max-width:1220px; }
.cd-service-eyebrow { margin:0 0 14px; color:var(--service-accent); font-size:12px; font-weight:800; letter-spacing:.2em; }
.cd-service-hero { padding:clamp(72px,9vw,132px) 0; background:linear-gradient(135deg,#f8faf9 0%,#f1f5f3 60%,#f8f2eb 100%); }
.cd-service-hero .l-wrap { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:clamp(42px,7vw,96px); align-items:center; }
.cd-service-hero h1 { margin:0 0 24px; font-size:clamp(42px,5.7vw,78px); line-height:1.05; letter-spacing:-.055em; }
.cd-service-hero__copy > p:not(.cd-service-eyebrow) { max-width:610px; margin:0 0 34px; color:#5e6f69; font-size:clamp(17px,1.5vw,21px); line-height:1.85; }
.cd-service-hero__media { margin:0; overflow:hidden; border-radius:28px; box-shadow:0 28px 70px rgba(20,56,47,.16); }
.cd-service-hero__media img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .7s cubic-bezier(.2,.8,.2,1); }
.cd-service-hero__media:hover img { transform:scale(1.04); }
.cd-service-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 26px; border:1px solid var(--service-ink); background:var(--service-ink); color:#fff; font-weight:700; transition:transform .25s ease,background .25s ease,color .25s ease; }
.cd-service-button:hover { transform:translateY(-2px); background:transparent; color:var(--service-ink); }
.cd-service-capabilities { padding:0 0 clamp(76px,9vw,128px); background:#f7f9f8; }
.cd-service-capabilities .l-wrap { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.cd-service-capabilities article { margin-top:-34px; padding:34px; border:1px solid rgba(18,58,49,.1); border-radius:20px; background:#fff; box-shadow:0 18px 44px rgba(18,58,49,.07); transition:transform .3s ease,box-shadow .3s ease; }
.cd-service-capabilities article:hover { transform:translateY(-7px); box-shadow:0 25px 54px rgba(18,58,49,.13); }
.cd-service-capabilities span { color:var(--service-accent); font-size:12px; font-weight:800; }
.cd-service-capabilities h2 { margin:26px 0 14px; font-size:24px; }
.cd-service-capabilities p { margin:0; color:#66756f; line-height:1.75; }
.cd-service-details { padding:clamp(78px,10vw,142px) 0; }
.cd-service-details > .l-wrap > header { max-width:760px; margin-bottom:48px; }
.cd-service-details header h2,.cd-service-process header h2 { margin:0; font-size:clamp(36px,4.5vw,58px); line-height:1.12; letter-spacing:-.045em; }
.cd-service-details__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid rgba(18,58,49,.16); }
.cd-service-details__grid article { padding:36px clamp(20px,3vw,42px) 12px 0; }
.cd-service-details__grid article + article { padding-left:clamp(20px,3vw,42px); border-left:1px solid rgba(18,58,49,.16); }
.cd-service-details__grid article > p { color:var(--service-accent); font-size:12px; font-weight:800; letter-spacing:.1em; }
.cd-service-details__grid h3 { min-height:64px; margin:24px 0 18px; font-size:24px; line-height:1.35; }
.cd-service-details__grid article > div { color:#65746f; line-height:1.85; }
.cd-service-process { padding:clamp(78px,10vw,136px) 0; background:#f3f6f8; }
.cd-service-process header { max-width:760px; margin:0 auto 48px; text-align:center; }
.cd-service-process header > p:last-child { color:#66756f; }
.cd-service-process ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:0; padding:0; list-style:none; }
.cd-service-process-card {
	position:relative;
	min-width:0;
	min-height:286px;
	padding:28px;
	overflow:visible;
	border:1px solid rgba(18,58,49,.12);
	border-radius:18px;
	color:var(--service-ink);
	background:#fff;
	box-shadow:0 14px 34px rgba(18,58,49,.06);
	transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,opacity .36s ease;
}
.cd-service-process-card:not(:nth-child(4n))::before {
	content:"";
	position:absolute;
	z-index:2;
	top:91px;
	right:-17px;
	width:16px;
	border-top:2px dashed rgba(220,110,34,.34);
	pointer-events:none;
}
.cd-service-process-card:hover,.cd-service-process-card:focus-visible {
	z-index:3;
	transform:translateY(-6px);
	border-color:rgba(220,110,34,.38);
	outline:3px solid transparent;
	box-shadow:0 24px 50px rgba(18,58,49,.12);
}
.cd-service-process-card:focus-visible { outline-color:rgba(220,110,34,.32); outline-offset:4px; }
.cd-service-process-card__icon {
	display:grid;
	width:128px;
	height:128px;
	margin-bottom:28px;
	place-items:center;
	border:1px solid rgba(18,58,49,.06);
	border-radius:32px;
	color:var(--service-ink);
	background:linear-gradient(145deg,#f9fcfb,#edf4f1);
	transition:transform .28s ease,background .28s ease;
}
.cd-service-process-card:hover .cd-service-process-card__icon,.cd-service-process-card:focus-visible .cd-service-process-card__icon { transform:scale(1.04); background:linear-gradient(145deg,#fff8f2,#f2f7f5); }
.cd-process-icon { width:92px; height:92px; fill:none; stroke:currentColor; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.cd-process-icon__accent { color:var(--service-accent); stroke:currentColor; }
.cd-process-icon__motion { transform-box:fill-box; transform-origin:center; transition:transform .28s ease,opacity .28s ease; }
.cd-service-process-card__meta span { display:block; margin-bottom:10px; color:var(--service-accent); font-size:13px; font-weight:800; letter-spacing:.08em; }
.cd-service-process-card__meta strong { display:block; color:var(--service-ink); font-size:21px; line-height:1.35; }
.cd-service-process-card:hover .cd-process-icon--handshake .cd-process-icon__motion,.cd-service-process-card:focus-visible .cd-process-icon--handshake .cd-process-icon__motion { transform:translateX(3px); }
.cd-service-process-card:hover .cd-process-icon--research .cd-process-icon__motion,.cd-service-process-card:focus-visible .cd-process-icon--research .cd-process-icon__motion { transform:translate(5px,-2px); }
.cd-service-process-card:hover .cd-process-icon--design .cd-process-icon__motion,.cd-service-process-card:focus-visible .cd-process-icon--design .cd-process-icon__motion { transform:rotate(-6deg); }
.cd-service-process-card:hover .cd-process-icon--frontend .cd-process-icon__motion,.cd-service-process-card:focus-visible .cd-process-icon--frontend .cd-process-icon__motion { transform:translateX(3px); }
.cd-service-process-card:hover .cd-process-icon--backend .cd-process-icon__motion,.cd-service-process-card:focus-visible .cd-process-icon--backend .cd-process-icon__motion { animation:cd-process-pulse .32s ease both; }
.cd-process-icon--testing .cd-process-icon__motion { stroke-dasharray:38; }
.cd-service-process-card:hover .cd-process-icon--testing .cd-process-icon__motion,.cd-service-process-card:focus-visible .cd-process-icon--testing .cd-process-icon__motion { animation:cd-process-draw .32s ease both; }
.cd-service-process-card:hover .cd-process-icon--approval .cd-process-icon__motion,.cd-service-process-card:focus-visible .cd-process-icon--approval .cd-process-icon__motion { transform:rotate(-5deg) translateY(-2px); }
.cd-service-process-card:hover .cd-process-icon--launch .cd-process-icon__motion,.cd-service-process-card:focus-visible .cd-process-icon--launch .cd-process-icon__motion { transform:translateY(-6px); }
.cd-service-process.is-motion-ready .cd-service-process-card { opacity:0; transform:translateY(20px); transition-delay:calc(var(--cd-process-order) * 45ms); }
.cd-service-process.is-motion-ready .cd-service-process-card.is-visible { opacity:1; transform:translateY(0); }
.cd-service-process.is-motion-ready .cd-service-process-card.is-visible:hover,.cd-service-process.is-motion-ready .cd-service-process-card.is-visible:focus-visible { transform:translateY(-6px); }
@keyframes cd-process-pulse { 0%{opacity:.45;transform:scale(.97)} 60%{opacity:1;transform:scale(1.02)} 100%{opacity:1;transform:scale(1)} }
@keyframes cd-process-draw { from{stroke-dashoffset:38} to{stroke-dashoffset:0} }
.cd-service-outcome { padding:clamp(76px,9vw,124px) 0; background:linear-gradient(135deg,#09261f,#12473a); color:#fff; text-align:center; }
.cd-service-outcome p { color:#f5a568; font-size:12px; font-weight:800; letter-spacing:.2em; }
.cd-service-outcome h2 { max-width:950px; margin:20px auto 34px; color:#fff; font-size:clamp(30px,4vw,52px); line-height:1.35; }
.cd-service-button--light { border-color:#fff; background:#fff; color:var(--service-ink); }
.cd-service-button--light:hover { background:transparent; color:#fff; }
@media(max-width:900px){.cd-service-hero .l-wrap{grid-template-columns:1fr}.cd-service-capabilities .l-wrap,.cd-service-details__grid{grid-template-columns:1fr}.cd-service-capabilities article{margin-top:0}.cd-service-capabilities article:first-child{margin-top:-28px}.cd-service-details__grid article + article{padding-left:0;border-left:0;border-top:1px solid rgba(18,58,49,.16)}.cd-service-details__grid h3{min-height:0}.cd-service-process ol{grid-template-columns:repeat(2,minmax(0,1fr))}.cd-service-process-card:not(:nth-child(4n))::before{display:none}.cd-service-process-card:nth-child(odd)::before{display:block;content:"";position:absolute;z-index:2;top:91px;right:-17px;width:16px;border-top:2px dashed rgba(220,110,34,.34)}}
@media(max-width:560px){.cd-service-hero{padding:58px 0 84px}.cd-service-hero h1{font-size:42px}.cd-service-capabilities .l-wrap{gap:12px}.cd-service-capabilities article{padding:26px}.cd-service-process ol{gap:10px}.cd-service-process-card{min-height:228px;padding:18px;border-radius:14px}.cd-service-process-card__icon{width:92px;height:92px;margin-bottom:20px;border-radius:24px}.cd-process-icon{width:68px;height:68px}.cd-service-process-card__meta strong{font-size:17px}.cd-service-process-card:nth-child(odd)::before{right:-11px;width:10px;top:67px}}
@media(prefers-reduced-motion:reduce){.cd-service-page *{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important;transition-delay:0ms!important}.cd-service-process.is-motion-ready .cd-service-process-card{opacity:1!important;transform:none!important}.cd-service-process-card:hover,.cd-service-process-card:focus-visible,.cd-service-process-card:hover .cd-service-process-card__icon,.cd-service-process-card:focus-visible .cd-service-process-card__icon{transform:none!important}}
