.nsm-service { --nsm-ink:#123d49; --nsm-accent:#087e83; display:grid; gap:44px; color:#244550; }
body[data-nucleic-service-locale] #svcTitle { text-wrap:balance; }
.nsm-service * { box-sizing:border-box; }
.nsm-service .nsm-intro { padding:28px 30px; border-left:4px solid var(--nsm-accent); border-radius:0 20px 20px 0; background:#edf8f8; }
.nsm-service .nsm-intro > span,.nsm-service header > small { font-size:10px; font-weight:800; letter-spacing:.14em; color:#087278; }
.nsm-service .nsm-intro p { font-size:18px; line-height:1.8; margin:12px 0 0; }
.nsm-service .nsm-section { margin:0; padding:0; }
.nsm-service h2 { color:var(--nsm-ink); font-size:clamp(25px,3.2vw,36px); line-height:1.3; margin:9px 0 22px; scroll-margin-top:100px; }
.nsm-service p { line-height:1.85; font-size:15px; color:#36525c; margin:0 0 18px; }
.nsm-service .nsm-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:24px 0; }
.nsm-service .nsm-cards article { padding:22px; border:1px solid #d8e7e8; border-radius:18px; background:#fff; }
.nsm-service .nsm-cards article > small { color:#11858a; font-size:12px; font-weight:800; }
.nsm-service .nsm-cards h3 { font-size:20px; line-height:1.4; color:var(--nsm-ink); margin:12px 0; }
.nsm-service .nsm-cards p { margin:0; font-size:14px; }
.nsm-service .nsm-figure { display:block; margin:28px 0; border:1px solid #dbe7ec; border-radius:18px; overflow:hidden; background:#fff; }
.nsm-service .nsm-image-link { display:block; position:relative; background:#fff; }
.nsm-service .nsm-image-link img { display:block; width:100%; height:auto; max-width:100%; object-fit:contain; margin:0; }
.nsm-service .nsm-image-link > span { position:absolute; bottom:12px; right:12px; padding:7px 11px; border-radius:30px; color:#fff; background:#123d49; font-size:11px; }
.nsm-service .nsm-image-link:focus-visible { outline:3px solid #087e83; outline-offset:-4px; }
.nsm-service figcaption { font-size:12px; color:#42606a; line-height:1.6; padding:12px 18px; border-top:1px solid #e1ecee; }
.nsm-service .nsm-scope { padding:20px 24px; font-size:14px; line-height:1.8; color:#5f4923; background:#fff8e9; border-left:4px solid #c8923c; border-radius:0 16px 16px 0; }
.nsm-service .nsm-contact { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:28px; border-radius:20px; background:#edf8f8; }
.nsm-service .nsm-contact h2 { font-size:24px; margin:0 0 10px; }
.nsm-service .nsm-contact p { margin:0; }
.nsm-service a.nsm-contact-button,.nsm-service a.nsm-contact-button:visited,.nsm-service a.nsm-contact-button:hover { display:inline-flex; padding:13px 18px; border-radius:30px; background:#123d49; color:#fff; white-space:nowrap; text-decoration:none; font-weight:700; }
.nsm-service a.nsm-contact-button:focus-visible { outline:3px solid #087e83; outline-offset:3px; }
@media(max-width:1000px) { .nsm-service .nsm-cards { grid-template-columns:1fr; } }
@media(max-width:600px) { .nsm-service { gap:30px; } .nsm-service .nsm-intro { padding:20px; } .nsm-service .nsm-intro p { font-size:16px; } .nsm-service .nsm-contact { display:block; padding:20px; } .nsm-service .nsm-contact-button { margin-top:20px; } .nsm-service .nsm-image-link > span { position:static; display:block; border-radius:0; text-align:center; } }
@media(max-width:600px) { body[data-nucleic-service-locale] #svcTitle { font-size:32px; line-height:1.24; } }
