/* Shared typography and card rhythm across every service page. */
body{font-size:16px;line-height:1.6;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.card{padding:28px;gap:0;min-width:0}
.card h3{font-size:22px;line-height:1.3;font-weight:700;letter-spacing:-.4px;margin:20px 0 16px!important;overflow-wrap:normal}
.card .num{font-size:11px;line-height:1.5;margin:0;letter-spacing:2px}
.card .icon{font-size:30px;line-height:1;margin:22px 0 0}
.card p,.card ul{font-size:15px;line-height:1.65}
.card p{margin:0 0 20px}
.card p:last-child{margin-bottom:0}
.card ul{margin:0 0 22px;padding:0}
.card li{padding:11px 0;line-height:1.55}
.card .text-link{font-size:14px;line-height:1.5;gap:16px;padding-top:4px}
.section-head p,.lead,.about p,.step p,.demo p,.contact p,.process-list li{font-size:15px;line-height:1.65}
@media(max-width:560px){
 .card{padding:24px}
 .card h3{font-size:20px;line-height:1.35;margin:18px 0 14px!important;letter-spacing:-.3px}
 .card .icon{font-size:28px;margin:20px 0 0}
 .card p,.card ul{font-size:15px;line-height:1.65}
 .card p{margin-bottom:18px}
 .card ul{margin-bottom:20px}
 .card .text-link{font-size:14px}
 .services{gap:18px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

.principles{margin-top:60px;padding-top:45px;border-top:1px solid var(--line)}
.principles .services{grid-template-columns:repeat(3,minmax(0,1fr))}
.principles .section-head{margin-bottom:28px}
@media(max-width:800px){.principles .services{grid-template-columns:1fr}.principles{margin-top:40px;padding-top:32px}}
