.software-page { color:#233b32; font-family:system-ui,-apple-system,"Segoe UI",sans-serif; }
.software-page main { max-width:1116px; margin:auto; padding:0 12px; }
.software-page main a { color:#12633f; text-underline-offset:4px; }
.software-page main a:focus-visible { outline:3px solid #27996a; outline-offset:5px; }
.software-page .eyebrow { color:#166743; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin:0 0 18px; }
.software-page .software-hero { display:grid; grid-template-columns:1.35fr 1fr; gap:60px; align-items:center; padding:68px 0 54px; }
.software-page h1 { color:#153e30; font-size:clamp(36px,4.7vw,57px); line-height:1.1; letter-spacing:-.045em; font-weight:650; margin:0 0 24px; }
.software-page .hero-intro { font-size:18px; line-height:1.75; color:#52645b; max-width:610px; }
.software-page .hero-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:28px; }
.software-page .primary-link { display:inline-block; background:#12633f; color:#fff; padding:13px 21px; border-radius:5px; text-decoration:none; font-size:14px; font-weight:650; }
.software-page .primary-link:hover { background:#0b4b2e; color:#fff; }
.software-page .secondary-link { display:inline-block; padding:12px; font-weight:600; font-size:14px; }
.software-page .hero-note { background:#f1f6f2; border:1px solid #d9e5dd; border-radius:10px; padding:30px; }
.software-page .note-heading { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#52705f; padding-bottom:18px; border-bottom:1px solid #d4e2d8; }
.software-page .process-step { display:flex; gap:16px; margin-top:22px; }
.software-page .step-number { color:#32865e; font-size:13px; font-weight:700; line-height:27px; }
.software-page .process-step strong { color:#214d37; display:block; margin-bottom:5px; font-size:17px; }
.software-page .process-step p { font-size:14px; color:#5a6e62; line-height:1.6; margin:0; }
.software-page .section-nav { display:flex; flex-wrap:wrap; gap:12px 30px; padding:18px 0; border-top:1px solid #dce5e0; border-bottom:1px solid #dce5e0; }
.software-page .section-nav a { color:#385344; font-size:13px; font-weight:650; text-decoration:none; }
.software-page .content-section { padding:64px 0; scroll-margin-top:24px; }
.software-page .section-heading { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; margin-bottom:30px; }
.software-page h2 { font-size:clamp(26px,3vw,35px); line-height:1.2; letter-spacing:-.025em; color:#153e30; margin:0; font-weight:650; }
.software-page .section-heading > p { margin:0; line-height:1.8; color:#5b6e62; }
.software-page .services-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 36px; }
.software-page .service-item { padding:25px 0; border-top:1px solid #dce5e0; }
.software-page h3 { color:#244d38; font-size:19px; line-height:1.4; margin:0 0 10px; font-weight:650; }
.software-page .service-item p { margin:0; color:#5b6e62; font-size:15px; line-height:1.8; }
.software-page .history-section { border-top:1px solid #dce5e0; border-bottom:1px solid #dce5e0; }
.software-page .history-intro { max-width:800px; font-size:17px; line-height:1.8; color:#52645b; margin:24px 0 36px; }
.software-page .history-list { border-left:2px solid #cadacf; margin-left:5px; padding-left:30px; }
.software-page .history-item { position:relative; padding:0 0 30px; }
.software-page .history-item:last-child { padding-bottom:0; }
.software-page .history-item::before { content:""; position:absolute; width:10px; height:10px; border-radius:50%; background:#267b50; top:8px; left:-36px; }
.software-page .history-item p { max-width:830px; color:#5b6e62; font-size:15px; line-height:1.8; margin:0; }
.software-page .project-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.software-page .project-card { border:1px solid #dce5e0; border-radius:8px; padding:25px; display:flex; flex-direction:column; align-items:flex-start; }
.software-page .project-type { color:#54705f; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; margin-bottom:22px; }
.software-page .project-card p { color:#5b6e62; font-size:14px; line-height:1.8; }
.software-page .project-card a { font-size:14px; font-weight:650; margin-top:auto; padding-top:12px; }
.software-page .project-note { color:#65756b; font-size:13px; margin:20px 0 0; }
.software-page .working-method { background:#f5f7f5; padding:30px; border-radius:8px; margin-top:40px; }
.software-page .working-method p { margin:10px 0 0; color:#52645b; line-height:1.8; }
.software-page .contact-section { background:#153e30; border-radius:10px; color:#fff; padding:42px; margin-bottom:55px; display:grid; grid-template-columns:1.4fr 1fr; gap:35px; }
.software-page .contact-section .eyebrow { color:#a7d9ba; }
.software-page .contact-section h2 { color:#fff; font-size:30px; }
.software-page .contact-section p { margin:18px 0 0; color:#d4e3d9; line-height:1.8; }
.software-page .contact-details { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:10px; }
.software-page .contact-details a { color:#fff; overflow-wrap:anywhere; }
.software-page .contact-details .contact-name { color:#fff; font-size:20px; margin-bottom:4px; }
.software-page .contact-details .contact-form-link { color:#b9e5c9; font-size:14px; margin-top:10px; }
@media (max-width:800px) {
  .software-page .software-hero { grid-template-columns:1fr; gap:28px; padding:38px 0; }
  .software-page .hero-note { padding:24px; }
  .software-page .section-heading { grid-template-columns:1fr; gap:18px; }
  .software-page .project-grid { grid-template-columns:1fr; }
  .software-page .content-section { padding:40px 0; }
  .software-page .contact-section { grid-template-columns:1fr; padding:28px; }
}
@media (max-width:520px) {
  .software-page .services-grid { grid-template-columns:1fr; }
  .software-page h1 { font-size:37px; }
  .software-page .hero-intro { font-size:16px; }
  .software-page .section-nav { gap:14px 20px; }
}
