/* Shared typography and density review, local only. */
html body.ui-density-compact{--cs-density-section-y:clamp(28px,3vw,40px);--cs-density-section-y-soft:clamp(28px,3vw,40px);--cs-density-panel:20px;--cs-density-gap:16px;font-size:1rem;line-height:1.6}
html body.ui-density-compact main h1,html body.home-compact .hero h1,html body .service-catalog-hero h1,html body .seo-hero h1{font-size:clamp(1.8rem,3.1vw,2.65rem)!important;line-height:1.15!important;letter-spacing:-.025em!important}
html body.ui-density-compact main h2:not(.solution-name){font-size:clamp(1.35rem,2.2vw,1.85rem)!important;line-height:1.25!important;letter-spacing:-.018em!important}
html body.ui-density-compact main h3{font-size:clamp(1.05rem,1.35vw,1.2rem)!important;line-height:1.4!important}
html body.ui-density-compact :is(.hero-note,.portal-public-lead-v1189,.about-page-lead,.service-catalog-hero>div>div>p){font-size:clamp(1rem,1.3vw,1.125rem)!important;line-height:1.65!important}
html body.ui-density-compact :is(.eyebrow,.card-kicker,.experience-type){font-size:.72rem!important;line-height:1.5!important;letter-spacing:.09em!important}
html body.ui-density-compact :is(.button,button,input,select,textarea){font-size:.9rem}
html body.ui-density-compact .button{min-height:42px;padding:10px 16px!important;line-height:1.35!important}
html body.home-compact .case-front-copy{padding:20px!important}.case-front-copy h3{margin:10px 0 16px!important}.case-front img{height:185px}.case-back{padding:20px}.case-back dd{font-size:.9rem;line-height:1.6}.case-face button{min-height:42px}
html body.home-compact .journey-flow-local .fix49-journey-card{padding:20px 28px 20px 32px!important}html body.home-compact .journey-flow-local h3{font-size:1.05rem!important}.journey-flow-local p{font-size:.9rem!important}.journey-flow-local .text-link{font-size:.85rem}
html body.ui-density-compact .fix49-need-card{padding:22px!important}html body.ui-density-compact .fix49-need-card p{font-size:.95rem!important;line-height:1.65!important}
html body.ui-density-compact :is(.service-catalog-hero,.portal-public-hero-v1189){padding-top:28px!important;padding-bottom:32px!important}
@media(max-width:600px){html body.ui-density-compact main h1,html body.home-compact .hero h1,html body .service-catalog-hero h1{font-size:1.85rem!important}html body.ui-density-compact main h2:not(.solution-name){font-size:1.4rem!important}html body.ui-density-compact .button{min-height:44px}html body.home-compact .journey-flow-local .fix49-journey-card{padding:28px 22px 32px!important}.case-front img{height:190px}html body.ui-density-compact :is(input,select,textarea){font-size:1rem}}

.business-front-mark{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.business-front-mark .fix49-card-number{margin:0!important}.business-front-icon{width:30px;height:30px;flex:none;color:#608894;opacity:.85}html body.ui-density-compact .fix49-need-card .business-front-mark+h3{margin-top:0!important}@media(max-width:600px){.business-front-icon{width:27px;height:27px}.business-front-mark{margin-bottom:16px}}

/* Align experience fronts independently of hidden back content. */
html body.home-compact .experience-grid{align-items:stretch!important}
.case-flip{height:100%}.case-flip-inner{height:100%}
html body.home-compact .case-front{height:100%;min-height:0}
html body.home-compact .case-front-copy{display:flex;flex-direction:column;flex:1;gap:0;padding:18px 20px!important}
html body.home-compact .case-front-copy .experience-type{margin:0 0 10px!important}
html body.home-compact .case-front-copy h3{margin:0 0 16px!important;min-height:3em;font-size:1.1rem!important}
html body.home-compact .case-front-copy button{align-self:flex-start;margin-top:auto}
html body.home-compact .case-front img{height:170px}
html body.home-compact .case-back{max-height:100%;overflow:auto}
html body.home-compact .case-flip-inner{grid-template-rows:auto}
html body.home-compact .case-back{position:absolute;inset:0}
html body.home-compact .journey-flow-local .fix49-journey-card{min-height:0!important;height:auto!important;padding:16px 28px 18px 32px!important;display:flex!important;flex-direction:column;justify-content:flex-start!important;gap:0!important}
html body.home-compact .journey-flow-local .fix49-card-number{margin:0 0 10px!important;width:30px;height:30px;font-size:.75rem}
html body.home-compact .journey-flow-local h3{margin:0 0 8px!important}
html body.home-compact .journey-flow-local p{margin:0 0 10px!important;line-height:1.55!important}
html body.home-compact .journey-flow-local .text-link{margin-top:0!important}
@media(max-width:900px){html body.home-compact .journey-flow-local .fix49-journey-card{padding:24px 22px 28px!important}}
@media(max-width:600px){html body.home-compact .case-front-copy h3{min-height:0}.case-flip{height:auto}}

html body .portal-public-journey-v1189{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0!important;list-style:none;padding:0;margin:0}
html body .portal-public-journey-v1189>li{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;border:0;border-radius:0;background:transparent;padding:18px 28px 20px 32px;gap:10px;min-width:0;box-shadow:none}
.portal-public-journey-v1189>li::before{content:"";position:absolute;inset:0 2px 0 0;z-index:-1;background:#e4f1f2;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 50%,calc(100% - 22px) 100%,0 100%,22px 50%)}
.portal-public-journey-v1189>li:first-child::before{clip-path:polygon(0 0,calc(100% - 22px) 0,100% 50%,calc(100% - 22px) 100%,0 100%)}
.portal-public-journey-v1189>li:nth-child(2)::before{background:#d8e9ee}.portal-public-journey-v1189>li:nth-child(3)::before{background:#cfdee9}.portal-public-journey-v1189>li:nth-child(4)::before{background:#e0dfee}
html body .portal-public-journey-v1189>li>span{width:30px;height:30px;border-radius:50%;background:#ffffffb3;font-size:.75rem;flex:none}
html body .portal-public-journey-v1189 strong{font-size:1.05rem;line-height:1.4}html body .portal-public-journey-v1189 p{font-size:.9rem;line-height:1.55;margin:8px 0 0;color:#395d70}
@media(max-width:900px){html body .portal-public-journey-v1189{grid-template-columns:1fr;max-width:580px;margin-inline:auto;gap:6px!important}html body .portal-public-journey-v1189>li{padding:24px 22px 28px}.portal-public-journey-v1189>li::before{inset:0;clip-path:polygon(0 0,50% 16px,100% 0,100% calc(100% - 18px),50% 100%,0 calc(100% - 18px))}.portal-public-journey-v1189>li:first-child::before{clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),50% 100%,0 calc(100% - 18px))}}

html body .portal-feature-list-local{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;row-gap:0}
html body .portal-feature-list-local>article{display:flex;align-items:flex-start;gap:16px;padding:18px 0!important;border:0;border-bottom:1px solid #dce6ec;border-radius:0;background:transparent;box-shadow:none;min-height:0}
.portal-feature-icon-local{width:25px;height:25px;flex:none;color:#608894;margin-top:2px}
html body .portal-feature-list-local strong{font-size:1rem;line-height:1.5}html body .portal-feature-list-local p{font-size:.9rem;line-height:1.55;margin:5px 0 0}
@media(max-width:650px){html body .portal-feature-list-local{grid-template-columns:minmax(0,1fr);gap:0}html body .portal-feature-list-local>article{padding:15px 0!important}}

/* A compact home route leads to the detailed project guide. */
html body.home-compact .journey-flow-local .fix49-journey-card p{margin:6px 0 0!important}
html body.home-compact .portal-executive-cta{margin-top:24px;display:flex;justify-content:flex-start}
html body.home-compact .portal-executive-cta .home-project-guide-button{flex:0 0 auto!important;width:auto!important;max-width:100%;height:auto!important;min-height:48px;padding:14px 22px!important;font-size:1rem;font-weight:700;white-space:normal;text-align:center}
.portal-public-journey-v1189 .portal-diagnostic-deliverables{display:inline-flex;margin-top:12px;line-height:1.4}
@media(max-width:900px){html body.home-compact .journey-flow-local .fix49-journey-card{padding:20px 22px 24px!important}}
@media(max-width:600px){html body.home-compact .portal-executive-cta .home-project-guide-button{width:100%!important}}

/* Commercial explanation scoped to the public project guide. */
.commercial-operation-guide{scroll-margin-top:90px}
.commercial-operation-guide .commercial-stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}
.commercial-operation-guide .commercial-stage-grid>article{min-width:0;padding:20px;border:1px solid #dce6ec;border-radius:14px;background:#fff}
.commercial-operation-guide .commercial-stage-grid p{margin:10px 0 0;line-height:1.65}
.commercial-operation-guide .commercial-operation-note,.commercial-operation-guide .commercial-acceptance-check{padding:22px;background:#eff7f8;border-radius:14px;margin:24px 0}
.commercial-operation-guide .commercial-acceptance-check li{margin:10px 0;line-height:1.6}
@media(max-width:900px){.commercial-operation-guide .commercial-stage-grid{grid-template-columns:1fr}.commercial-operation-guide .commercial-stage-grid>article{padding:18px}.commercial-operation-guide .commercial-operation-note,.commercial-operation-guide .commercial-acceptance-check{padding:18px}}
