﻿.section-page-hero { position: relative; min-height: 470px; display: flex; align-items: flex-end; overflow: hidden; color: #fff; background: var(--navy-950); }
.section-page-hero::before { content: ""; position: absolute; inset: 0; background: var(--section-cover) center / cover no-repeat; }
.section-page-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3, 20, 47, .97) 0%, rgba(5, 39, 86, .87) 48%, rgba(5, 48, 101, .42) 100%), linear-gradient(0deg, rgba(2, 17, 40, .68), transparent 58%); }
.section-page-hero .container { position: relative; z-index: 1; padding-top: 82px; padding-bottom: 70px; }
.section-page-number { display: inline-flex; align-items: center; gap: 12px; color: #8fe4f4; font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.section-page-number::before { content: ""; width: 42px; height: 1px; background: #8fe4f4; }
.section-page-hero h1 { max-width: 900px; margin: 18px 0 17px; font-size: clamp(42px, 5vw, 66px); line-height: 1.15; }
.section-page-hero p { max-width: 800px; margin: 0; color: #cadbea; font-size: 16px; line-height: 1.9; }
.section-page-actions { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 10px; }
.section-page-index { color: #fff; background: var(--navy-900); border-top: 1px solid rgba(255,255,255,.12); }
.section-page-index .container { display: grid; grid-template-columns: auto repeat(4, 1fr); align-items: stretch; }
.section-page-index strong { padding: 19px 28px 19px 0; display: flex; align-items: center; color: #84dcef; font-size: 12px; }
.section-page-index a { padding: 19px 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-left: 1px solid rgba(255,255,255,.13); font-size: 13px; font-weight: 700; transition: .18s; }
.section-page-index a:hover { color: #8fe4f4; background: rgba(255,255,255,.06); }
.section-page-index svg { width: 15px; }
.section-intro-grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 64px; align-items: start; }
.section-intro-copy h2 { margin: 14px 0 18px; color: var(--navy-900); font-size: 38px; line-height: 1.3; }
.section-intro-copy p { margin: 0; color: var(--muted); font-size: 15px; line-height: 2; }
.section-intro-copy p + p { margin-top: 14px; }
.section-keypoints { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.section-keypoint { min-height: 150px; padding: 22px; background: var(--paper); border: 1px solid var(--line); border-top: 3px solid #8ab8df; border-radius: 5px; }
.section-keypoint svg { width: 24px; color: var(--blue-700); }
.section-keypoint b { display: block; margin-top: 18px; color: var(--navy-900); font-size: 16px; }
.section-keypoint span { display: block; margin-top: 7px; color: var(--muted); font-size: 12px; line-height: 1.7; }
.section-band { padding: 86px 0; background: var(--paper); }
.section-band.dark { color: #fff; background: var(--navy-950); }
.section-band.dark .section-head h2 { color: #fff; }
.section-band.dark .section-head > p { color: #b9cbe0; }
.scope-grid, .service-directory, .case-showcase, .deliverable-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.scope-card, .directory-card, .case-showcase article, .deliverable-card { min-height: 230px; padding: 25px; background: #fff; border: 1px solid var(--line); border-radius: 5px; box-shadow: 0 9px 25px rgba(5, 34, 78, .07); transition: .22s; }
.scope-card:hover, .directory-card:hover, .case-showcase article:hover, .deliverable-card:hover { transform: translateY(-4px); box-shadow: 0 18px 38px rgba(5, 34, 78, .13); }
.scope-card small, .directory-card small, .case-showcase small, .deliverable-card small { color: var(--blue-700); font-size: 10px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.scope-card h3, .directory-card h3, .case-showcase h3, .deliverable-card h3 { margin: 13px 0 10px; color: var(--navy-900); font-size: 20px; line-height: 1.45; }
.scope-card p, .directory-card p, .case-showcase p, .deliverable-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.85; }
.card-link { margin-top: 20px; display: inline-flex; align-items: center; gap: 7px; color: var(--blue-700); font-size: 12px; font-weight: 800; }
.card-link svg { width: 15px; }
.process-timeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; counter-reset: process; }
.process-timeline article { position: relative; min-height: 235px; padding: 28px 24px; background: #fff; border: 1px solid var(--line); border-right: 0; counter-increment: process; }
.process-timeline article:last-child { border-right: 1px solid var(--line); }
.process-timeline article::before { content: "0" counter(process); display: block; color: #9cc5e7; font-size: 28px; font-weight: 800; }
.process-timeline h3 { margin: 28px 0 11px; color: var(--navy-900); font-size: 18px; }
.process-timeline p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.8; }
.section-facts { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid rgba(255,255,255,.18); }
.section-facts div { min-height: 155px; padding: 26px; border-right: 1px solid rgba(255,255,255,.18); }
.section-facts div:last-child { border-right: 0; }
.section-facts b { display: block; color: #fff; font-size: 25px; }
.section-facts span { display: block; margin-top: 10px; color: #b9cbe0; font-size: 12px; line-height: 1.7; }
.faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.faq-grid article { padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: 5px; }
.faq-grid h3 { margin: 0 0 10px; color: var(--navy-900); font-size: 16px; }
.faq-grid p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.85; }
.section-page-cta { padding: 58px 0; color: #fff; background: linear-gradient(110deg, #073a7d, #0875df); }
.section-page-cta .container { display: flex; align-items: center; justify-content: space-between; gap: 44px; }
.section-page-cta h2 { margin: 0; font-size: 30px; }
.section-page-cta p { margin: 10px 0 0; color: #d7e8f8; font-size: 13px; }
.section-page-cta .btn { flex: 0 0 auto; }
.case-meta { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 7px; }
.case-meta span { padding: 5px 8px; color: #4b6582; background: var(--paper-blue); border-radius: 3px; font-size: 10px; font-weight: 700; }
@media (max-width: 900px) {
  .section-page-hero { min-height: 420px; }
  .section-page-hero .container { padding-top: 72px; padding-bottom: 54px; }
  .section-page-index .container { grid-template-columns: 1fr 1fr; }
  .section-page-index strong { grid-column: 1 / -1; padding: 15px 0 8px; }
  .section-page-index a { padding: 15px 12px; border-top: 1px solid rgba(255,255,255,.13); }
  .section-intro-grid { grid-template-columns: 1fr; gap: 36px; }
  .scope-grid, .service-directory, .case-showcase, .deliverable-grid { grid-template-columns: 1fr 1fr; }
  .process-timeline { grid-template-columns: 1fr 1fr; gap: 12px; }
  .process-timeline article, .process-timeline article:last-child { border: 1px solid var(--line); }
  .section-facts { grid-template-columns: 1fr 1fr; }
  .section-facts div:nth-child(2) { border-right: 0; }
  .section-facts div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.18); }
  .section-page-cta .container { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 600px) {
  .section-page-hero h1 { font-size: 38px; }
  .section-page-hero p { font-size: 14px; }
  .section-intro-copy h2 { font-size: 30px; }
  .section-keypoints, .scope-grid, .service-directory, .case-showcase, .deliverable-grid, .process-timeline, .faq-grid, .section-facts { grid-template-columns: 1fr; }
  .section-facts div, .section-facts div:nth-child(2) { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .section-facts div:last-child { border-bottom: 0; }
}

/* CRA standards and reporting */
.standards-architecture { display: grid; gap: 12px; }
.standards-architecture article { display: grid; grid-template-columns: 48px 1fr; gap: 18px; align-items: start; padding: 22px; background: var(--paper-blue); border-left: 3px solid var(--blue-600); }
.standards-architecture article > span { color: #93bfe2; font-size: 24px; font-weight: 800; line-height: 1; }
.standards-architecture b { color: var(--navy-900); font-size: 17px; }
.standards-architecture p { margin: 7px 0 0; color: var(--muted); font-size: 13px; line-height: 1.75; }
.horizontal-standard-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.horizontal-standard-card { padding: 28px; background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--blue-600); box-shadow: 0 12px 30px rgba(5,34,78,.05); }
.standard-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.standard-code { color: var(--blue-700); font-size: 13px; font-weight: 900; letter-spacing: .02em; }
.draft-badge { padding: 5px 8px; color: #46627e; background: var(--paper-blue); border-radius: 3px; font-size: 10px; font-weight: 700; }
.horizontal-standard-card h3 { margin: 16px 0 10px; color: var(--navy-900); font-size: 21px; }
.horizontal-standard-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.85; }
.horizontal-standard-card ul { margin: 18px 0 0; padding: 0; list-style: none; }
.horizontal-standard-card li { position: relative; padding: 8px 0 8px 18px; color: #455c76; border-top: 1px solid #e9eff6; font-size: 12px; line-height: 1.65; }
.horizontal-standard-card li::before { content: ""; position: absolute; top: 16px; left: 1px; width: 6px; height: 6px; background: var(--cyan-400); border-radius: 50%; }
.official-source-note { margin-top: 18px; display: flex; align-items: flex-start; gap: 12px; padding: 17px 20px; color: #49627d; background: #eaf4fb; border: 1px solid #cee3f3; }
.official-source-note svg { width: 19px; flex: 0 0 auto; color: var(--blue-600); }
.official-source-note p { margin: 0; font-size: 12px; line-height: 1.75; }
.vertical-standard-groups { display: grid; gap: 22px; }
.vertical-standard-group { overflow: hidden; background: #fff; border: 1px solid var(--line); box-shadow: 0 12px 34px rgba(5,34,78,.05); }
.vertical-standard-group > header { display: flex; align-items: center; justify-content: space-between; padding: 16px 22px; color: #fff; background: var(--navy-900); }
.vertical-standard-group > header span { font-size: 17px; font-weight: 800; }
.vertical-standard-group > header b { color: #8fe4f4; font-size: 12px; }
.vertical-standard-list { display: grid; grid-template-columns: repeat(2, 1fr); }
.vertical-standard-list article { min-height: 155px; padding: 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.vertical-standard-list article:nth-child(even) { border-right: 0; }
.vertical-standard-list article:nth-last-child(-n+2) { border-bottom: 0; }
.vertical-standard-list article:last-child:nth-child(odd) { border-bottom: 0; }
.vertical-standard-list small { color: var(--blue-700); font-size: 11px; font-weight: 900; letter-spacing: .04em; }
.vertical-standard-list h3 { margin: 8px 0 7px; color: var(--navy-900); font-size: 17px; }
.vertical-standard-list p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.75; }
.solution-actions { margin-top: 26px; display: flex; align-items: center; gap: 24px; }
.solution-actions-center { justify-content: center; }
.solution-actions .text-link { display: inline-flex; }
.btn.outline { color: var(--blue-700); background: #fff; border: 1px solid #9cc9ec; }
.btn.outline:hover { color: #fff; background: var(--blue-700); border-color: var(--blue-700); }
.reporting-banner { margin-bottom: 46px; display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 30px 34px; color: #fff; background: linear-gradient(120deg, #052758, #0875df); box-shadow: 0 18px 42px rgba(5,52,112,.18); }
.reporting-banner small { display: block; color: #8fe4f4; font-size: 11px; font-weight: 800; letter-spacing: .1em; }
.reporting-banner strong { display: block; margin-top: 7px; font-size: 34px; line-height: 1.2; }
.reporting-banner p { max-width: 760px; margin: 10px 0 0; color: #d5e8f8; font-size: 13px; line-height: 1.75; }
.reporting-banner > svg { width: 58px; height: 58px; flex: 0 0 auto; color: #7de1ef; }
.reporting-timeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.reporting-timeline article { position: relative; min-height: 260px; padding: 24px 21px; background: #fff; border: 1px solid var(--line); }
.reporting-timeline article > span { display: grid; place-items: center; width: 38px; height: 38px; color: #fff; background: var(--blue-700); border-radius: 50%; font-size: 12px; font-weight: 800; }
.reporting-timeline small { display: block; margin-top: 18px; color: var(--blue-700); font-size: 11px; font-weight: 800; }
.reporting-timeline h3 { margin: 8px 0 10px; color: var(--navy-900); font-size: 18px; }
.reporting-timeline p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.8; }
.reporting-detail-grid { margin-top: 18px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.reporting-detail-grid article { padding: 22px; background: #fff; border: 1px solid var(--line); }
.reporting-detail-grid h3 { margin: 0 0 10px; display: flex; align-items: center; gap: 9px; color: var(--navy-900); font-size: 16px; }
.reporting-detail-grid h3 svg { width: 18px; color: var(--blue-600); }
.reporting-detail-grid p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.8; }
.reporting-checklist { margin-top: 18px; display: grid; grid-template-columns: 1fr 1.35fr auto; gap: 28px; align-items: center; padding: 26px 28px; color: #fff; background: var(--navy-900); }
.reporting-checklist > div span { color: #70d7ea; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.reporting-checklist h3 { margin: 7px 0 0; font-size: 20px; line-height: 1.45; }
.reporting-checklist ul { margin: 0; padding: 0; list-style: none; columns: 2; column-gap: 24px; }
.reporting-checklist li { position: relative; break-inside: avoid; padding: 5px 0 5px 14px; color: #c3d3e4; font-size: 11px; line-height: 1.55; }
.reporting-checklist li::before { content: ""; position: absolute; top: 12px; left: 0; width: 5px; height: 5px; background: var(--cyan-400); border-radius: 50%; }
.sdlc-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.sdlc-grid article { min-height: 250px; padding: 24px 21px; background: #fff; border: 1px solid var(--line); border-top: 3px solid #b8d8ee; transition: transform .2s, border-color .2s, box-shadow .2s; }
.sdlc-grid article:hover { transform: translateY(-4px); border-top-color: var(--blue-600); box-shadow: 0 16px 34px rgba(5,34,78,.09); }
.sdlc-grid article > span { color: #9ac4e3; font-size: 25px; font-weight: 900; }
.sdlc-grid h3 { margin: 18px 0 10px; color: var(--navy-900); font-size: 17px; }
.sdlc-grid p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.8; }
.sdlc-grid small { display: block; margin-top: 16px; padding-top: 12px; color: var(--blue-700); border-top: 1px solid var(--line); font-size: 10px; font-weight: 700; line-height: 1.6; }
@media (max-width: 1000px) {
  .reporting-timeline, .sdlc-grid { grid-template-columns: repeat(2, 1fr); }
  .reporting-checklist { grid-template-columns: 1fr; }
  .reporting-checklist ul { columns: 2; }
  .reporting-checklist .btn { justify-self: start; }
}
@media (max-width: 700px) {
  .horizontal-standard-grid, .vertical-standard-list, .reporting-detail-grid, .reporting-timeline, .sdlc-grid { grid-template-columns: 1fr; }
  .vertical-standard-list article, .vertical-standard-list article:nth-child(even), .vertical-standard-list article:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--line); }
  .vertical-standard-list article:last-child { border-bottom: 0; }
  .reporting-banner { align-items: flex-start; padding: 26px 22px; }
  .reporting-banner strong { font-size: 28px; }
  .reporting-banner > svg { width: 38px; height: 38px; }
  .reporting-checklist ul { columns: 1; }
  .solution-actions, .solution-actions-center { align-items: stretch; flex-direction: column; }
  .solution-actions .btn { justify-content: center; }
}
/* Expanded service catalog */
.standards-catalog { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.service-standard-card { min-height: 390px; display: flex; flex-direction: column; padding: 25px; background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--blue-600); box-shadow: 0 12px 30px rgba(5,34,78,.05); transition: transform .2s, box-shadow .2s; }
.service-standard-card:hover { transform: translateY(-4px); box-shadow: 0 18px 38px rgba(5,34,78,.11); }
.service-standard-card small { color: var(--blue-700); font-size: 10px; font-weight: 900; letter-spacing: .07em; }
.service-standard-card h3 { margin: 13px 0 10px; color: var(--navy-900); font-size: 20px; line-height: 1.45; }
.service-standard-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.8; }
.service-standard-card ul { margin: 20px 0; padding: 0; list-style: none; }
.service-standard-card li { position: relative; padding: 7px 0 7px 16px; color: #4e647c; border-top: 1px solid #ebf0f5; font-size: 11px; line-height: 1.55; }
.service-standard-card li::before { content: ""; position: absolute; top: 14px; left: 1px; width: 5px; height: 5px; background: var(--cyan-400); border-radius: 50%; }
.service-standard-card > span, .service-standard-card > a { margin-top: auto; display: inline-flex; align-items: center; gap: 7px; color: var(--blue-700); font-size: 12px; font-weight: 800; }
.service-standard-card > span svg, .service-standard-card > a svg { width: 15px; }
.service-standard-card-consult { color: #fff; background: linear-gradient(145deg, #062657, #0875df); border: 0; }
.service-standard-card-consult small, .service-standard-card-consult > a { color: #8fe4f4; }
.service-standard-card-consult h3 { color: #fff; }
.service-standard-card-consult p, .service-standard-card-consult li { color: #d1e1f1; }
.service-standard-card-consult li { border-top-color: rgba(255,255,255,.14); }
.security-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.security-service-grid article { min-height: 285px; padding: 25px; background: #fff; border: 1px solid var(--line); }
.security-service-grid article > svg { width: 30px; height: 30px; color: var(--blue-600); }
.security-service-grid h3 { margin: 18px 0 9px; color: var(--navy-900); font-size: 19px; }
.security-service-grid p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.8; }
.security-service-grid article > div { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 6px; }
.security-service-grid span { padding: 5px 7px; color: #47627d; background: var(--paper-blue); border-radius: 3px; font-size: 10px; font-weight: 700; }
@media (max-width: 1000px) { .standards-catalog, .security-service-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 650px) { .standards-catalog, .security-service-grid { grid-template-columns: 1fr; } .service-standard-card { min-height: 0; } }