/* Content pages are structured essays: a clear opening, a chapter index, and deliberate detail. */
body.content-editorial { --chapter-offset: 165px; }
body.content-editorial .page-hero .container { grid-template-columns: minmax(0,1.7fr) minmax(260px,.7fr); gap: 30px 8%; align-items:start; }
body.content-editorial .page-hero .page-eyebrow { grid-column:1/-1; margin-bottom:5px; padding-bottom:22px; border-bottom:1px solid #c7d2c1; }
body.content-editorial .page-hero .page-title { grid-column:1/-1; max-width:1260px; font-size:clamp(48px,6.4vw,98px); line-height:1.04; letter-spacing:-.055em; margin-bottom:22px; text-wrap:balance; }
body.content-editorial .page-hero .page-lede { font-size:18px; line-height:1.8; max-width:770px; margin:0; }
body.content-editorial .editorial-hero-note { border-left:1px solid #b9c8b3; padding-left:28px; max-width:360px; align-self:start; }
.editorial-hero-note>span { font:10px/1.7 var(--technical); color:#596d52; text-transform:uppercase; letter-spacing:.07em; }
.editorial-hero-note>p { margin:15px 0 24px; font-size:13px; line-height:1.8; color:#5b6c55; }
.editorial-hero-note>a { display:flex; align-items:center; justify-content:space-between; font-size:13px; color:#24492f; gap:20px; padding-block:10px; border-bottom:1px solid #97ad8d; }
.editorial-hero-note>a span { font-size:20px; }
body.content-editorial .breadcrumb { font-size:11px; padding-top:22px; }
body.content-editorial .chapter-hero { min-height:640px; }
body.content-editorial .chapter-copy { max-width:1180px; }
body.content-editorial .chapter-copy h1 { font-size:clamp(48px,6vw,92px); max-width:1050px; letter-spacing:-.055em; }
body.content-editorial .chapter-copy>p { font-size:18px; line-height:1.75; max-width:690px; }

/* Chapter navigation is usable without JavaScript; enhancement tracks reading position. */
.page-chapters { position:sticky; top:82px; z-index:25; background:#f6f5eff5; backdrop-filter:blur(15px); border-block:1px solid #c9d3c2; }
.page-chapters>.container { display:flex; align-items:center; gap:35px; padding-block:0; }
.page-chapters-label { flex:0 0 145px; color:#586b50; font:10px/1.6 var(--technical); text-transform:uppercase; letter-spacing:.07em; }
.page-chapters-links { display:flex; align-items:stretch; gap:26px; overflow-x:auto; scrollbar-width:thin; scrollbar-color:#bac9ad transparent; padding-bottom:0; }
.page-chapters a { display:flex; gap:10px; align-items:center; padding:20px 0 18px; color:#50624b; font-size:12px; line-height:1.5; white-space:nowrap; border-bottom:2px solid transparent; min-height:59px; }
.page-chapters a>span { font:9px var(--technical); color:#708566; }
.page-chapters a:hover,.page-chapters a[aria-current=location] { color:#193d25; border-bottom-color:#426338; }
.page-chapters a[aria-current=location]>span { color:#33592d; }
body.content-editorial section[id] { scroll-margin-top:var(--chapter-offset); }

/* Make long text readable, while leaving demonstrations and technical diagrams full-width. */
body.content-editorial .editorial-section { padding-block:96px; border-top:1px solid #d5ddcd; }
body.content-editorial .editorial-section.surface-dark,
body.content-editorial .editorial-section.section-dark,
body.content-editorial .editorial-section.dark-outcomes { border-color:#ffffff20; }
body.content-editorial .editorial-section .narrative-heading { margin-bottom:38px; }
body.content-editorial .editorial-section .narrative-heading h2 { max-width:1000px; font-size:clamp(36px,4.3vw,65px); line-height:1.12; }
body.content-editorial .editorial-section .section-lead { max-width:760px; font-size:17px; line-height:1.85; margin-bottom:45px; }
body.content-editorial .section-meta { display:grid; grid-template-columns:180px minmax(0,1fr); gap:35px; align-items:start; padding-bottom:28px; border-bottom:1px solid #bdcbb2; margin-bottom:45px; }
body.content-editorial .section-meta>.section-num { padding-top:9px; margin:0; }
body.content-editorial .section-meta .section-title { font-size:clamp(34px,3.6vw,54px); max-width:1000px; }
body.content-editorial .section-meta .section-sub { max-width:720px; margin-top:20px; }
body.content-editorial .section-dark .section-meta { border-color:#ffffff30; }
body.content-editorial .two-col-asymm { grid-template-columns:minmax(0,1.5fr) minmax(260px,.85fr); gap:9%; align-items:start; }
body.content-editorial .two-col-asymm>.prose { max-width:69ch; }
body.content-editorial .two-col-asymm>.prose>h2 { font-size:34px; margin-top:45px; line-height:1.25; }
body.content-editorial .two-col-asymm>.prose>h2:first-child { margin-top:0; }
body.content-editorial .two-col-asymm>.prose>p { line-height:1.85; margin-bottom:24px; }
body.content-editorial .container-narrow.prose { max-width:850px; padding-inline:32px; }
body.content-editorial .container-narrow.prose>h2 { margin-top:52px; padding-top:30px; border-top:1px solid #c7d1be; }
body.content-editorial .container-narrow.prose>h2:first-child { margin-top:0; padding-top:0; border-top:0; }
body.content-editorial .container-narrow.prose p { margin-bottom:23px; }
body.content-editorial .fact-table { background:#edf0e6; padding:12px 18px; border:1px solid #cbd7bf; }
body.content-editorial .fact-table td { padding:17px 15px; }
body.content-editorial .section-dark .fact-table { background:#1b3122; border-color:#49623f; }

/* Capabilities read as an editorial list rather than another wall of identical cards. */
body.content-editorial .cap-grid { display:block; border-top:1px solid #b9c9ae; }
body.content-editorial .cap-grid .card-cell { display:grid; grid-template-columns:170px minmax(180px,1fr) minmax(260px,1.3fr); gap:18px 35px; padding:32px 0; border:0; border-bottom:1px solid #c3d0b8; border-radius:0; background:transparent; box-shadow:none; }
body.content-editorial .cap-grid .card-cell:hover { background:transparent; transform:none; }
body.content-editorial .cap-grid .card-meta { grid-column:1; font:10px/1.8 var(--technical); color:#5d7354; margin:0; }
body.content-editorial .cap-grid h3 { grid-column:2; font-size:28px; line-height:1.2; letter-spacing:-.025em; margin:0; }
body.content-editorial .cap-grid .card-cell>p { grid-column:3; margin:0; font-size:15px; line-height:1.8; }
body.content-editorial .cap-grid .card-footer { grid-column:3; border:0; margin:0; padding:0; font-size:10px; color:#5e7653; }
body.content-editorial .cap-grid .card-footer>span { padding:4px 8px; background:#e6eddd; border-radius:2px; }
body.content-editorial .section-dark .cap-grid,.content-editorial .section-dark .cap-grid .card-cell { border-color:#57704b; }
body.content-editorial .section-dark .cap-grid .card-meta { color:#bbd2ad; }
body.content-editorial .section-dark .cap-grid .card-cell>p { color:#cfdbc7; }
body.content-editorial .metric-grid { gap:0; border:1px solid #b8c9ae; }
body.content-editorial .metric-cell { border:0; border-right:1px solid #b8c9ae; padding:38px; background:#e9eee1; }
body.content-editorial .metric-cell:last-child { border-right:0; }
body.content-editorial .metric-detail { font-size:13px; line-height:1.8; }
body.content-editorial .metric-label { line-height:1.6; }
body.content-editorial .section-dark .metric-grid { border-color:#55704b; }
body.content-editorial .section-dark .metric-cell { background:#233b29; border-color:#55704b; }

/* Diagrams, examples, and customer proof get their own visual register. */
body.content-editorial .detail-visual { padding-block:48px 70px; background:#e8ede1; }
body.content-editorial .detail-visual .system-map { background:#fbfcf7; border:1px solid #aebe9f; border-radius:2px; padding:42px; box-shadow:0 14px 35px #1f35100a; }
body.content-editorial .detail-visual .map-label { color:#526d43; padding-bottom:18px; margin-bottom:25px; border-bottom:1px solid #cfdbc5; }
body.content-editorial .detail-visual .map-nodes>div { background:#ecf1e5; border-color:#bccfb0; }
body.content-editorial .detail-path { margin-top:25px; font-size:12px; }
body.content-editorial .editorial-figure { padding-top:38px; background:#edf0e5; }
body.content-editorial .editorial-figure img { height:clamp(300px,35vw,560px); }
body.content-editorial .work-item { padding-block:40px!important; }
body.content-editorial .work-client-name { font-size:32px; line-height:1.2; }
body.content-editorial .work-description { max-width:800px; font-size:17px!important; line-height:1.85; }
body.content-editorial .work-outcome { padding:20px 24px; background:#e9eedf; border-left:2px solid #75915d; }
body.content-editorial .faq-section .faq-header { display:grid; grid-template-columns:1fr 2fr; gap:50px; align-items:start; }
body.content-editorial .faq-section .faq-header h2 { font-size:clamp(35px,4vw,58px); line-height:1.12; max-width:520px; }
body.content-editorial .faq-item summary { padding-block:24px; }
body.content-editorial .faq-item .faq-body { max-width:85ch; line-height:1.85; }
body.content-editorial .cta-band { padding-block:85px; }
body.content-editorial .cta-band h2 { font-size:clamp(40px,4.7vw,72px); max-width:1050px; }

@media(max-width:1200px) {
 .page-chapters-label { flex-basis:115px; }
 .page-chapters>.container { gap:20px; }
 body.content-editorial .cap-grid .card-cell { grid-template-columns:130px 1fr 1.3fr; gap:25px; }
}
@media(max-width:960px) {
 body.content-editorial { --chapter-offset:150px; }
 .page-chapters { top:74px; }
 body.content-editorial .page-hero .container { grid-template-columns:minmax(0,1.4fr) minmax(200px,.7fr); gap:27px 40px; }
 body.content-editorial .page-hero .page-title { font-size:clamp(47px,7.5vw,75px); }
 body.content-editorial .page-hero .page-lede { font-size:17px; }
 body.content-editorial .chapter-hero { min-height:580px; }
 body.content-editorial .two-col-asymm { grid-template-columns:1.25fr 1fr; gap:40px; }
 body.content-editorial .section-meta { grid-template-columns:140px minmax(0,1fr); gap:25px; }
 body.content-editorial .cap-grid .card-cell { grid-template-columns:1fr 1.6fr; gap:15px 30px; }
 body.content-editorial .cap-grid .card-meta { grid-column:1; grid-row:1; }
 body.content-editorial .cap-grid h3 { grid-column:1; grid-row:2/4; }
 body.content-editorial .cap-grid .card-cell>p,.content-editorial .cap-grid .card-footer { grid-column:2; }
 body.content-editorial .cap-grid .card-cell>p { grid-row:1/3; }
 body.content-editorial .cap-grid .card-footer { grid-row:3; }
 body.content-editorial .metric-cell { padding:27px; }
}
@media(max-width:640px) {
 body.content-editorial { --chapter-offset:145px; }
 body.content-editorial .page-hero .container { display:block; }
 body.content-editorial .page-hero .page-eyebrow { margin-bottom:30px; }
 body.content-editorial .page-hero .page-title { font-size:clamp(39px,10vw,58px); margin-bottom:28px; }
 body.content-editorial .page-hero .page-lede { font-size:16px; }
 body.content-editorial .editorial-hero-note { margin-top:30px; padding:22px 0 0; border-left:0; border-top:1px solid #bdcbb4; max-width:none; }
 .editorial-hero-note>p { margin:10px 0 12px; }
 .editorial-hero-note>a { max-width:350px; }
 body.content-editorial .chapter-copy h1 { font-size:clamp(40px,10vw,57px); }
 body.content-editorial .chapter-copy>p { font-size:16px; }
 body.content-editorial .chapter-hero { min-height:560px; }
 .page-chapters-label { display:none; }
 .page-chapters-links { gap:25px; }
 .page-chapters a { font-size:11px; padding-block:17px; min-height:54px; }
 .page-chapters a>span { font-size:9px; }
 body.content-editorial .editorial-section { padding-block:65px; }
 body.content-editorial .editorial-section .narrative-heading h2 { font-size:36px; }
 body.content-editorial .editorial-section .section-lead { font-size:16px; margin-bottom:32px; }
 body.content-editorial .section-meta { display:block; margin-bottom:30px; padding-bottom:25px; }
 body.content-editorial .section-meta>.section-num { margin-bottom:17px; }
 body.content-editorial .section-meta .section-title { font-size:34px; }
 body.content-editorial .two-col-asymm { grid-template-columns:1fr; gap:35px; }
 body.content-editorial .two-col-asymm>.prose>h2 { font-size:30px; }
 body.content-editorial .container-narrow.prose { padding-inline:6%; }
 body.content-editorial .cap-grid .card-cell { display:block; padding-block:27px; }
 body.content-editorial .cap-grid .card-meta { margin-bottom:15px; }
 body.content-editorial .cap-grid h3 { font-size:29px; margin-bottom:18px; }
 body.content-editorial .cap-grid .card-cell>p { font-size:15px; margin-bottom:20px; }
 body.content-editorial .metric-grid { grid-template-columns:1fr; }
 body.content-editorial .metric-cell { border-right:0; border-bottom:1px solid #b8c9ae; }
 body.content-editorial .metric-cell:last-child { border-bottom:0; }
 body.content-editorial .detail-visual { padding-block:35px 50px; }
 body.content-editorial .detail-visual .system-map { padding:24px; }
 body.content-editorial .editorial-figure { padding-top:25px; }
 body.content-editorial .faq-section .faq-header { display:block; }
 body.content-editorial .faq-item summary { padding-block:21px; }
 body.content-editorial .work-client-name { font-size:28px; }
 body.content-editorial .work-outcome { padding:18px; }
}
@media(prefers-reduced-motion:reduce){.page-chapters{scroll-behavior:auto}}
