/* Service pages: company-led, readable diagrams and practical service choices. */
.service-map { margin:0; min-width:0; padding:32px; background:#eaf2ed; border:1px solid #d4e1d9; border-radius:18px; color:#142c3c; }
.service-map figcaption { font-size:22px; font-weight:700; line-height:1.65; margin-bottom:26px; }
.service-map figcaption small { display:block; margin-top:8px; font-size:12px; font-weight:500; color:#526a62; }
.service-map ol { list-style:none; padding:0; margin:0; }
.service-map li { display:grid; grid-template-columns:38px minmax(0,1fr); gap:16px; padding:20px 0; border-top:1px solid #cbdcd1; }
.service-map li>span { display:flex; align-items:center; justify-content:center; width:36px; height:36px; background:#146b61; color:#fff; font-size:12px; font-weight:700; border-radius:50%; }
.service-map strong { display:block; font-size:17px; line-height:1.6; margin-bottom:5px; }
.service-map li p,.service-map__note { font-size:14px; line-height:1.85; color:#455b55; margin:0; }
.service-map__note { padding-top:18px; border-top:1px solid #cbdcd1; }
.service-intro__grid>div,.service-intro__grid>figure { min-width:0; }
.service-choice { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; }
.service-choice__item { min-width:0; display:flex; flex-direction:column; padding:clamp(24px,3.5vw,42px); background:#f1f5ef; border:1px solid #d8e3d8; border-radius:16px; }
.service-choice__item--development { background:#f5f4ef; border-color:#e1ded3; }
.service-choice__index { font-size:13px; color:#146b61; font-weight:700; margin-bottom:22px; }
.service-choice__item h3 { font-size:clamp(25px,3vw,34px); color:#142c3c; line-height:1.4; margin:0 0 22px; }
.service-choice__for { font-size:20px; color:#142c3c; font-weight:600; line-height:1.7; margin:0 0 20px; }
.service-choice__item>p:not(.service-choice__for):not(.service-choice__price) { font-size:15px; line-height:1.95; color:#4c605b; }
.service-choice__item ul { padding:20px 0 20px 1.2em; margin:0; color:#344f46; font-size:14px; line-height:2; }
.service-choice__price { margin:auto 0 24px; border-top:1px solid #ccd8cc; padding-top:22px; font-size:14px; line-height:1.8; color:#142c3c; }
.service-choice__price strong { font-size:23px; font-weight:700; white-space:nowrap; }
.service-choice__price small { display:block; margin-top:9px; font-size:12px; line-height:1.8; color:#52665d; }
.service-choice__item .btn { align-self:flex-start; }
.service-choice__note { margin-top:24px; color:#52665d; font-size:14px; line-height:1.85; text-align:center; }
.service-support-links { border-top:1px solid #d8e1d9; }
.service-support-links a { display:grid; grid-template-columns:minmax(180px,1fr) 1.5fr 32px; gap:24px; align-items:center; padding:30px 4px; border-bottom:1px solid #d8e1d9; color:#142c3c; text-decoration:none; }
.service-support-links a>span { font-weight:700; font-size:20px; }
.service-support-links p { font-size:15px; line-height:1.8; margin:0; color:#51635b; }
.service-support-links b { font-size:25px; color:#146b61; }
.service-support-links a:hover { background:#edf3ed; }
.service-related-strip { border-top:1px solid #d8e1d9; border-bottom:1px solid #d8e1d9; padding:25px 0; color:#142c3c; }
.service-related-strip .container,.service-related-strip:not(section) { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px 24px; }
.service-related-strip p { margin:0; font-size:15px; line-height:1.8; }
.service-related-strip a { color:#146b61; font-size:15px; font-weight:700; line-height:1.8; text-decoration:underline; text-underline-offset:5px; }
.service-related-strip a span { margin-left:12px; }
.company-method__grid { display:grid; grid-template-columns:1fr 1.3fr; gap:clamp(30px,6vw,88px); }
.company-method h2 { margin:20px 0 0; font-size:clamp(30px,3.8vw,45px); line-height:1.6; color:#142c3c; letter-spacing:.02em; }
.company-method__body { padding-top:6px; }
.company-method__body p { font-size:16px; line-height:2; color:#425951; margin:0 0 22px; }
.service-principles { margin:0 auto 40px; padding:0; list-style:none; max-width:900px; }
.service-principles li { display:grid; grid-template-columns:64px minmax(0,1fr); gap:24px; padding:28px 0; border-top:1px solid #d8e1d9; }
.service-principles li:last-child { border-bottom:1px solid #d8e1d9; }
.service-principles li>span { font-size:26px; font-weight:700; color:#146b61; padding-top:4px; }
.service-principles h3 { font-size:22px; line-height:1.6; margin:0 0 10px; color:#142c3c; }
.service-principles p { font-size:16px; line-height:1.9; margin:0; color:#50625a; }
@media(max-width:760px) {
 .service-choice,.company-method__grid { grid-template-columns:minmax(0,1fr); gap:24px; }
 .service-choice__item .btn { align-self:stretch; font-size:14px; }
 .service-choice__for { font-size:18px; }
 .service-map { padding:25px; }
 .service-support-links a { grid-template-columns:minmax(0,1fr) 25px; gap:10px 16px; padding:24px 0; }
 .service-support-links a>span { font-size:18px; }
 .service-support-links p { grid-column:1; grid-row:2; }
 .service-support-links b { grid-column:2; grid-row:1 / 3; }
 .service-principles li { grid-template-columns:38px minmax(0,1fr); gap:16px; padding:24px 0; }
 .service-principles h3 { font-size:20px; }
 .service-principles p,.company-method__body p { font-size:15px; }
}
