.editorial-photo{margin:0;overflow:hidden;border-radius:18px;background:#f1f3f9;border:1px solid #dce1eb;color:#152445}.editorial-photo img{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:cover}.editorial-photo figcaption{padding:16px 20px}.editorial-photo figcaption strong{display:block;font-size:1rem}.editorial-photo figcaption span{display:block;font-size:.75rem;color:#58647c;margin-top:6px}.lcpd-visual .editorial-photo{margin:18px 0;border-radius:12px}.lcpd-visual .editorial-photo figcaption{padding:12px}.editorial-triptych{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:38px}.editorial-lead{margin-top:12px;margin-bottom:36px;max-width:1040px}.editorial-lead .editorial-photo img{max-height:440px}.radar-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:24px;margin:24px 0}.audit-radar{width:100%;max-width:440px;height:auto}.radar-legend{font-size:.9rem}.recommendation-card{padding:20px;border:1px solid #dce1eb;border-left:4px solid #5862ba;border-radius:10px;margin:15px 0}.recommendation-card a{display:inline-block;margin:8px 18px 0 0}.case-comparison{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.case-comparison>section{padding:22px;border:1px solid #dce1eb;border-radius:14px}.case-comparison>section:last-child{background:#eef7f3}.case-comparison .arch-row{flex-wrap:wrap}@media(max-width:700px){.editorial-triptych,.radar-layout,.case-comparison{grid-template-columns:1fr}.editorial-triptych{gap:20px}.editorial-photo figcaption{padding:14px}.radar-layout{gap:6px}.audit-radar{margin:auto}.editorial-lead{margin-top:0}}@media print{.editorial-photo{break-inside:avoid}.editorial-triptych{display:none}.radar-layout{display:block}.audit-radar{max-width:280px}.case-comparison{display:block}}

.sector-photo-card{overflow:hidden}.sector-photo-card .sector-photo{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:12px;margin:0 0 22px}.sector-photo-card h3{margin-top:8px}

/* Consistent public-sector row, independent of generic service cards. */
.lcpd-grid:has(>.sector-photo-card){grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;align-items:stretch}
.lcpd-grid>.sector-photo-card{min-width:0;padding:16px;display:flex;flex-direction:column;gap:0}
.sector-photo-card .sector-photo{flex:none;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;margin:0 0 18px;border-radius:9px}
.sector-photo-card>.eyebrow{font-size:9px;letter-spacing:1px;margin:0 0 10px}
.sector-photo-card h3{font-size:18px;line-height:1.3;margin:0 0 12px;min-height:2.6em}
.sector-photo-card h3 a{font-size:inherit;line-height:inherit;margin:0;text-decoration:none}
.sector-photo-card p{font-size:14px;line-height:1.6;margin:0;overflow-wrap:break-word}
@media(max-width:1179px){.lcpd-grid:has(>.sector-photo-card){grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.lcpd-grid>.sector-photo-card{padding:20px}.sector-photo-card h3{min-height:0}}
@media(max-width:600px){.lcpd-grid:has(>.sector-photo-card){grid-template-columns:minmax(0,1fr)}.sector-photo-card h3{font-size:21px}}

/* Area cards: heading links inherit heading typography, not small CTA styles. */
.area-grid .area-card{font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
.area-grid .area-card h3{font-size:22px;font-weight:700;line-height:1.3;letter-spacing:-.025em;margin:18px 0 14px}
.area-grid .area-card h3 a{display:inline;font:inherit;color:#182847;margin:0;text-decoration:none}
.area-grid .area-card h3 a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;color:#35429e}
.area-grid .area-card p{font-size:16px;font-weight:500;line-height:1.7;color:#35445c;margin:0}
.area-grid .area-card>.eyebrow{font-size:11px;font-weight:700;color:#454e9f}
@media(max-width:600px){.area-grid .area-card h3{font-size:21px}}

/* Compact section rhythm and disclosure cards; retain readable text and targets. */
.section{padding-top:48px;padding-bottom:48px}
.section-heading{margin-bottom:26px}
.section:has(>.scenario-grid)>h2,.section:has(>.journey-steps)>h2{font-size:clamp(28px,3vw,38px);line-height:1.18;margin-top:12px;margin-bottom:16px}
.section:has(>.scenario-grid)>p,.section:has(>.journey-steps)>p{margin-top:0;margin-bottom:18px}
.scenario-grid,.journey-steps{gap:10px;margin-top:18px}
.scenario-grid details,.journey-steps details{padding:12px 16px;border-radius:9px;min-width:0}
.scenario-grid summary,.journey-steps summary{font-size:16px;line-height:1.5;min-height:24px;font-weight:650}
.journey-steps summary span{display:inline-block;margin:0 10px 0 0;font-size:13px;line-height:inherit;font-weight:650;vertical-align:baseline}
.scenario-grid details[open],.journey-steps details[open]{padding-bottom:16px}
.scenario-grid details p,.journey-steps details p{margin:12px 0;line-height:1.65}
@media(max-width:700px){.section{padding-top:32px;padding-bottom:32px}.section-heading{margin-bottom:22px}.scenario-grid,.journey-steps{gap:10px}.scenario-grid details,.journey-steps details{padding:12px 14px}}

/* Sector cards: consistent neutral typography for unvisited and visited links. */
.lcpd-grid .sector-photo-card{font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
.lcpd-grid .sector-photo-card h3{font-size:18px;font-weight:700;line-height:1.35;color:#182847}
.lcpd-grid .sector-photo-card h3 a,.lcpd-grid .sector-photo-card h3 a:visited{font:inherit;color:#182847;text-decoration:none;margin:0}
.lcpd-grid .sector-photo-card h3 a:hover{color:#35429e;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.lcpd-grid .sector-photo-card p{font-size:15px;font-weight:500;line-height:1.65;color:#35445c}
.lcpd-grid .sector-photo-card>.eyebrow{color:#526176;font-weight:650;letter-spacing:.08em}

/* Compact subpage introductions and accessible audit choices, 20260928. */
@media screen {
main>.subhero{padding-top:32px;padding-bottom:30px}
main>.subhero h1{font-size:clamp(30px,3.4vw,46px);line-height:1.15;letter-spacing:-.035em;margin-bottom:16px}
main>.subhero .lead{font-size:18px;line-height:1.6;margin-top:0;margin-bottom:0}
main>.subhero>a{margin-bottom:16px}
main>.subhero+.section,main>.subhero+.prose{padding-top:28px}
main>.prose{padding-bottom:40px}
.section:has(>#audit-form)>p{margin-top:0;margin-bottom:14px;font-size:16px;line-height:1.6}
#audit-form{margin-top:20px}
#audit-form .audit-question{padding:12px 18px 14px;margin:0 0 18px}
#audit-form .audit-question legend{font-size:17px;line-height:1.45;font-weight:700;padding:0 6px}
#audit-form .audit-question>p{font-size:15px;line-height:1.5;margin:4px 0 8px;color:#46556a}
#audit-form .audit-question label{display:flex;align-items:center;gap:10px;box-sizing:border-box;min-height:40px;padding:8px 4px;margin:0;font-size:16px;line-height:1.5;font-weight:500;cursor:pointer}
#audit-form .audit-question input[type=radio]{flex:0 0 auto;width:17px;height:17px;margin:0;accent-color:#254c70}
#audit-form .audit-question label:has(input:checked){background:#edf3f7;border-radius:5px;color:#142c47}
#audit-form .audit-question label:focus-within{outline:2px solid #254c70;outline-offset:1px;border-radius:5px}
@media(max-width:700px){
main>.subhero{padding-top:24px;padding-bottom:24px}
main>.subhero+.section,main>.subhero+.prose{padding-top:22px}
#audit-form .audit-question{padding:10px 12px 12px;margin-bottom:16px}
#audit-form .audit-question label{min-height:44px}
}
}

/* Sitewide reading rhythm: every LCPD template, 20260928. */
@media screen {
body{font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:17px;line-height:1.65}
main h1,main .seo-article h1,main .investment-article h1,main .maturity-page h1{font-size:clamp(30px,3.4vw,46px);line-height:1.17;letter-spacing:-.035em;margin-top:0;margin-bottom:18px}
main h2,main .prose h2,main .seo-article h2,main .investment-article h2,main .maturity-page h2{font-size:clamp(25px,2.5vw,34px);line-height:1.25;letter-spacing:-.025em;margin-bottom:16px}
main h3{font-size:21px;line-height:1.35;font-weight:700;margin-top:18px;margin-bottom:12px}
main :is(h1,h2,h3) a,main :is(h1,h2,h3) a:visited,main .lcpd-card h3 a{font:inherit;color:inherit;margin:0;text-decoration:none}
main :is(h1,h2,h3) a:hover{text-decoration:underline;text-underline-offset:4px}
main p{margin-top:0;margin-bottom:16px}
main li{padding-top:4px;padding-bottom:4px}
main .lead{font-size:18px;line-height:1.6;margin-bottom:18px}
main .eyebrow{font-size:12px;line-height:1.5;letter-spacing:.09em;margin-bottom:12px}
main .section{padding-top:36px;padding-bottom:36px}
main :is(.seo-article,.investment-article,.maturity-page,.prose){padding-top:30px;padding-bottom:36px}
main :is(.seo-article,.investment-article,.maturity-page)>section{padding-top:18px;padding-bottom:18px}
main :is(.seo-article,.investment-article,.maturity-page,.prose) :is(p,li,dd){font-size:17px;line-height:1.65}
main :is(.seo-article,.investment-article,.maturity-page,.prose) h2{margin-top:26px}
main .section-heading{margin-bottom:22px}
main .section-heading p{margin-bottom:0}
main .subhero{padding-top:28px;padding-bottom:28px}
main .subhero+.section,main .subhero+.prose{padding-top:26px}
main .lcpd-hero{padding-top:44px;padding-bottom:44px}
main .lcpd-hero h1{font-size:clamp(34px,3.8vw,54px);margin:16px 0}
main .lcpd-hero-grid{gap:36px}
main .hero-lead{font-size:17px;line-height:1.65}
main :is(.detail-grid,.contact-grid,.systems,.partner-grid){gap:36px}
main :is(.lcpd-grid,.editorial-triptych){gap:20px;margin-top:22px}
main :is(.lcpd-card,.info-card,.card){padding:22px;min-height:0}
main .lcpd-card h3{font-size:22px;margin-top:10px;margin-bottom:12px}
main :is(.card,.info-card,.lcpd-card) p{font-size:16px;line-height:1.65;font-weight:400;margin-bottom:14px}
main .card p{max-width:none}
main .lcpd-card>a{font-size:16px;margin-top:8px}
main .card .arrow{top:20px;right:18px}
main .card h3{padding-right:20px}
main .lcpd-grid .sector-photo-card{padding:16px}
main .lcpd-grid .sector-photo-card h3{font-size:19px;margin-top:0}
main .lcpd-grid .sector-photo-card p{font-size:16px}
main .lcpd-grid .sector-photo-card>.eyebrow{font-size:11px}
main .sector-photo{margin-bottom:14px}
main .area-illustration{margin-bottom:16px}
main :is(.before-after article,.detail-grid aside,.competence-map article,.arch-node){padding:22px}
main .before-after{gap:20px}
main :is(.steps,.principles,.lcpd-process){gap:24px;margin-top:24px}
main :is(.steps,.principles,.lcpd-process) p{font-size:16px;line-height:1.65}
main :is(.toc,.technical-flow){margin:20px 0;padding:20px}
main .toc a{font-size:16px}
main .technical-flow li{padding:12px;font-size:16px}
main .checklist>li{margin:16px 0}
main .checklist h2{font-size:22px;margin-top:16px}
main :is(.diagram-node,.arch-foundation .diagram-node,.standard-branches .diagram-node,.diagram-zone details){font-size:16px;line-height:1.55;padding:14px}
main :is(.diagram-node small,.standard-grid small,.map-centre small){font-size:14px;line-height:1.55}
main :is(.standard-grid a,.standard-details>section,.standard-mobile article,.room-key details){padding:18px}
main .standard-grid span{font-size:14px;margin-bottom:8px}
main .standard-grid strong{font-size:17px;line-height:1.45;margin-bottom:8px}
main :is(.architecture-model,.architecture){padding:24px;margin-top:20px;margin-bottom:20px}
main .architecture p{font-size:16px;margin-top:18px;padding-top:18px}
main .standard-table table,main .matrix{font-size:16px;line-height:1.6}
main :is(.standard-table th,.standard-table td,.matrix th,.matrix td){padding:12px}
main .matrix caption{font-size:15px;padding-bottom:12px}
main .matrix td:before{font-size:13px}
main .flow{margin:20px 0}
main .flow li{font-size:16px;padding:12px 20px 12px 14px}
main .timeline a{font-size:15px;line-height:1.5}
main :is(.system-buttons button,.system-detail p){font-size:16px;line-height:1.6}
main .system-detail{min-height:0;padding:24px}
main .faq details{padding:14px 0}
main .faq summary{font-size:18px;line-height:1.5}
main details p{font-size:16px;line-height:1.65}
main :is(label,.check,.planning-fields label){font-size:16px;line-height:1.5;margin-bottom:12px}
main :is(input,textarea,select,button){font-family:inherit;font-size:16px}
main :is(.button,button){min-height:44px}
main .button{font-size:16px;padding:12px 20px}
main :is(#config-form,#intake-form){margin:22px 0}
main .planning-fields{gap:16px}
main :is(.source,.article-meta,.room-figure figcaption,.technical-flow figcaption,.editorial-photo figcaption span){font-size:14px!important;line-height:1.6}
main .editorial-lead{margin-top:12px;margin-bottom:24px}
main .editorial-photo figcaption{padding:12px 16px}
main .cta{padding-top:32px;padding-bottom:32px;margin-top:24px;margin-bottom:40px;gap:24px}
main .cta h2{font-size:clamp(25px,2.5vw,34px);margin-bottom:14px}
main .cta p{font-size:17px;line-height:1.6;margin-bottom:0}
main :is(.lcpd-grid,.info-grid,.detail-grid,.contact-grid,.cards,.standard-grid,.planning-fields)>*{min-width:0;overflow-wrap:break-word}
main :is(.seo-breadcrumb,.service-breadcrumb){font-size:14px;line-height:1.5;padding-top:14px;padding-bottom:14px}
footer{padding-top:40px;font-size:15px;line-height:1.65}
.footer-grid{gap:32px}
.footer-grid h3{font-size:17px}
.footer-bottom{margin-top:28px;font-size:14px;line-height:1.6}
@media(max-width:1000px){main .infrastructure-diagram,main .standard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
main .section{padding-top:26px;padding-bottom:26px}
main :is(.seo-article,.investment-article,.maturity-page,.prose){padding-top:24px;padding-bottom:28px}
main :is(.detail-grid,.contact-grid,.systems,.partner-grid){gap:24px}
main .lcpd-hero{padding-top:30px;padding-bottom:30px}
main .subhero{padding-top:22px;padding-bottom:22px}
main .cta{padding:24px;margin-bottom:28px}
main :is(.lcpd-card,.info-card,.card){padding:20px}
main .matrix td{font-size:16px}
main .technical-flow li{margin-bottom:8px}
main .infrastructure-diagram,main .standard-grid{grid-template-columns:minmax(0,1fr)}
}
}

/* Quiet category labels across LCPD, 20260928. */
@media screen {
main .eyebrow,main .lcpd-card>.eyebrow,main .lcpd-grid .sector-photo-card>.eyebrow,main .area-grid .area-card>.eyebrow{
font-family:inherit;font-size:14px;font-weight:600;line-height:1.5;letter-spacing:normal;text-transform:none;color:#586579;margin-bottom:8px}
main .lcpd-hero .eyebrow,main .lcpd-dark .eyebrow,main .cta .eyebrow{color:#c5cedf}
}

/* Independent SOC / NOC service entry */
.soc-service-entry{display:flex;gap:30px;align-items:center;justify-content:space-between;padding:26px 30px;margin-top:28px;margin-bottom:28px;background:#f0f2fb;border:1px solid #dce1ee;border-radius:12px}.soc-service-entry>div{max-width:800px}.soc-service-entry h2{font-size:30px;margin:0 0 10px}.soc-service-entry p{margin-bottom:0}.soc-service-entry .eyebrow{margin-bottom:8px}.soc-service-entry .button{flex-shrink:0}@media(max-width:760px){.soc-service-entry{display:block;padding:22px}.soc-service-entry .button{margin-top:18px}.soc-service-entry h2{font-size:27px}}
