/* Local background-depth study. Content, type, layout and controls are unchanged. */
body:is([data-page="home"], [data-page="services"], [data-page="about"], [data-page="cases"], [data-page="contact"]) {
  --canvas: #e2eee8;
  background-color: #e2eee8;
  background-image:
    radial-gradient(ellipse 900px 700px at 100% 100px, #9fd5e344, transparent 78%),
    radial-gradient(ellipse 1000px 850px at -10% 1150px, #b7d58d3b, transparent 78%),
    radial-gradient(ellipse 1000px 900px at 105% 2700px, #9dd8cd33, transparent 80%),
    linear-gradient(112deg, #e9f1df 0%, #e2eee8 47%, #d9edf3 100%);
  background-repeat: no-repeat;
}

body[data-page="home"] .hero::before {
  background:
    radial-gradient(ellipse at 0 90%, #aace7b2b 0, transparent 57%),
    radial-gradient(ellipse at 94% 16%, #67b5cd26 0, transparent 58%),
    linear-gradient(112deg, #edf3e1 8%, #e3efe7 51%, #d6ebee 100%);
}

body:is([data-page="home"], [data-page="services"], [data-page="about"], [data-page="cases"], [data-page="contact"]) .site-header {
  background-color: #f4f9f4ed;
  border-bottom-color: #b9d1c5;
}

body[data-page] .column-intro::after,
body[data-page] .column-close::before {
  background: linear-gradient(90deg, #85b841 0 26px, #b3cdb8 26px 55%, #adcfda 100%);
}

body:is([data-page="home"], [data-page="services"], [data-page="about"], [data-page="cases"], [data-page="contact"]) .site-footer {
  border-top-color: #b4cfc2;
}

/* Keep supporting text readable against the stronger page wash. */
body[data-page] > main#main :is(
  .hero-reference, .hero-description, .hero-footnote, .hero-promise,
  .column-crumb, .column-code, .column-description, .column-intro > p,
  .section-heading > p, .column-heading > p, .column-close p,
  .concept-section-heading > p, .contact-heading p,
  .concept-note, .concept-trust-note
) { color: #435f65; }

body[data-page] > main#main > section:not(.hero) :is(.section-kicker, .concept-kicker, .rich-eyebrow) {
  color: #326946;
}

body[data-page] > main#main :is(.text-link, .concept-text-link, .column-jumps a, .column-crumb a) {
  color: #155b78;
}

body[data-page] .site-footer,
body[data-page] .site-footer :is(p, a) { color: #435f65; }

@media (forced-colors: active) {
  body[data-page] { background-image: none; }
}

/* Final color-only contrast and responsibility-icon review. */
body[data-page="about"] .about-credential-footnote,
body[data-page="about"] .concept-start-action > p,
body[data-page="about"] > main#main > section.rich-cooperation .rich-section-note { color: #435f65; }
body[data-page="services"] .responsibility-symbol { color: #087d71 !important; background: #e5f3e8 !important; }

body[data-page="services"] .space-footer span { color: #4c6b68; }
body[data-page="services"] .result-badge { color: #326b4b; }

/* Mobile refinement: readable supporting copy and comfortable touch targets. */
@media (max-width: 680px) {
  body[data-page] > main#main h2 { text-wrap: balance; }
  body[data-page] > main#main :is(.section-heading > p, .column-heading > p, .concept-section-heading > p, .contact-heading > p) {
    text-wrap: balance;
  }
  body[data-page] .menu-toggle {
    width: 44px;
    height: 44px;
    min-width: 44px;
  }
  body[data-page] .contact-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    font-size: 14px;
  }
  body[data-page] .dialog-close {
    width: 44px;
    height: 44px;
    min-width: 44px;
  }
  body[data-page="home"] .hero-description {
    font-size: 17px;
    line-height: 1.9;
    text-wrap: pretty;
  }
  body[data-page="home"] :is(.map-core small, .map-phase small) {
    font-size: 12px;
    line-height: 1.5;
  }
  body[data-page="home"] .map-core { min-width: 104px; }
  body[data-page="home"] .map-core strong { white-space: nowrap; }
  body[data-page="home"] .map-core small {
    display: block;
    white-space: nowrap;
  }
  body[data-page="home"] .map-caption,
  body[data-page="home"] .map-caption > span {
    font-size: 12px;
    line-height: 1.75;
  }
  body[data-page] .consult-route > span { color: #4c6b68; }
  body[data-page="services"] .deliverable-icon {
    color: #087d71;
    background: #e5f3e8;
  }
  body[data-page="services"] .subtle-arrow { color: #548279; }
  body[data-page="services"] .delivery-detail {
    border-color: #bfd7d1;
    background: #f5faf5;
  }
  body[data-page="services"] .delivery-detail > summary {
    color: #315e58;
    background: #edf6ee;
  }
  body[data-page="services"] .delivery-detail > summary:hover {
    color: #087569;
    background: #e5f1e7;
  }
  body[data-page="services"] .space-footer .annual-delivery-link {
    color: #166f69;
    border-bottom-color: #9dc4b6;
  }
  body[data-page="services"] .space-footer .annual-delivery-link:hover {
    color: #085e54;
    border-bottom-color: #439d8e;
  }
}

@media (max-width: 370px) {
  body[data-page="home"] .hero-description { text-wrap: balance; }
  body[data-page="home"] .hero-description br { display: none; }
}

@media (max-width: 520px) {
  body[data-page="home"] :is(.map-phase-0, .map-phase-1) { top: 7%; }
  body[data-page="home"] :is(.map-phase-2, .map-phase-3) { bottom: 8%; }
}

/* Public brand heading: desktop inline, mobile two clear lines. */
.site-header .brand > strong{display:inline-block;line-height:1.35;white-space:nowrap}
.site-header .brand .brand-name,.site-header .brand .brand-product{display:inline}
@media(max-width:680px){
  .site-header .brand > strong{font-size:17px;line-height:1.25;letter-spacing:.2px}
  .site-header .brand .brand-name,.site-header .brand .brand-product{display:block;white-space:nowrap}
  .site-header .brand .brand-product{font-size:14px;line-height:1.4}
}
@media(max-width:370px){.site-header .brand .brand-product{font-size:13px}}

/* Shared alignment and frame rhythm across the five public columns. */
body[data-page] #main .column-intro{text-align:center}
body[data-page] #main .column-intro :is(h1,.column-headline,.column-description){margin-inline:auto;text-wrap:balance}
body[data-page] #main .column-intro :is(.column-crumb,.column-jumps,.contact-intro-actions){justify-content:center}
body[data-page] #main :is(.section-heading,.concept-section-heading,.column-heading){max-width:850px;margin-inline:auto;text-align:center;margin-bottom:36px}
body[data-page] #main .contact-heading{justify-content:center;align-items:center;text-align:center}
body[data-page] #main .column-close{flex-direction:column;align-items:center;text-align:center;gap:24px}
body[data-page] #main .column-close p{margin-inline:auto}
body[data-page] #main .column-intro::after,body[data-page] #main .column-close::before{height:1px;background:linear-gradient(90deg,transparent,#bfd7d1 18%,#bfd7d1 43%,#85b841 49%,#1eab95 51%,#bfd7d1 57%,#bfd7d1 82%,transparent)}
body[data-page] #main :is(.section-heading,.concept-section-heading,.column-heading)>.section-kicker{display:inline-flex;align-items:center;justify-content:center;gap:12px;max-width:100%;text-wrap:balance}
body[data-page] #main :is(.section-heading,.concept-section-heading,.column-heading)>.section-kicker::before,
body[data-page] #main :is(.section-heading,.concept-section-heading,.column-heading)>.section-kicker::after{content:"";display:block;flex:0 0 24px;width:24px;height:1px;margin:0;background:#85b841}
body[data-page] #main :is(.section-heading,.concept-section-heading,.column-heading)>.section-kicker::after{background:#1eab95}
body[data-page] #main :is(.column-card,.rich-situation-panel,.annual-space,.delivery-panel,.rich-sample,.assessment-card,.about-profile-panel,.about-credential-card,.about-software,.about-advantage-card,.rich-collaboration-lead,.concept-start-steps,.case-panel,.case-tab,.case-value-grid>article,.case-record-demo,.contact-grid>article,.concept-comparison-wrap){border:1px solid #bfd7d1;border-radius:22px;box-shadow:0 8px 24px #28745508}
body[data-page] #main :is(.rich-situation-column,.about-software-records,.rich-collaboration-fields>article,.case-context>div,.case-context>aside,.case-workflow>li){border-width:1px;border-radius:16px}
body[data-page] #main :is(.column-card-grid,.about-credential-grid,.about-advantage-grid,.case-tabs,.case-value-grid,.contact-grid){gap:24px}
body[data-page] #main :is(.rich-situation-panel,.annual-space,.delivery-panel,.rich-sample,.about-profile-panel,.case-panel,.case-record-demo)::before{content:none}
body[data-page] #main .case-tab[aria-selected="true"]{box-shadow:inset 0 -2px #85b841,0 8px 24px #28745508}
body[data-page] #main .column-card{align-items:center;text-align:center}
body[data-page] #main .column-card>h3{font-size:24px;line-height:1.5;min-height:3em;display:grid;place-items:center;text-wrap:balance}
body[data-page] #main .column-card>p{margin-inline:auto;max-width:30em}
body[data-page] #main .contact-grid>article{display:flex;flex-direction:column;align-items:center;text-align:center}
body[data-page] #main .contact-grid>article :is(strong,p){width:100%}
@media(max-width:680px){
  body[data-page] #main :is(.section-heading,.concept-section-heading,.column-heading){margin-bottom:28px}
  body[data-page] #main .column-card>h3{min-height:0}
  body[data-page] #main :is(.column-card-grid,.about-credential-grid,.about-advantage-grid,.case-tabs,.case-value-grid,.contact-grid){gap:18px}
  body[data-page] #main :is(.column-card,.rich-situation-panel,.annual-space,.delivery-panel,.rich-sample,.assessment-card,.about-profile-panel,.about-credential-card,.about-software,.about-advantage-card,.rich-collaboration-lead,.concept-start-steps,.case-panel,.case-tab,.case-value-grid>article,.case-record-demo,.contact-grid>article,.concept-comparison-wrap){border-radius:20px}
  body[data-page] #main :is(.rich-situation-column,.about-software-records,.rich-collaboration-fields>article,.case-context>div,.case-context>aside,.case-workflow>li){border-radius:14px}
}

/* One spacing scale for peer modules across the public columns. */
body[data-page] #main>section:is(.section,.annual-section){padding-block:64px;margin-block:0}
body[data-page] #main :is(.section-heading,.concept-section-heading,.column-heading,.contact-heading){margin-bottom:32px}
body[data-page] #main :is(.section-heading,.concept-section-heading,.column-heading)>h2{margin-top:16px}
body[data-page] #main :is(.section-heading,.concept-section-heading,.column-heading)>p{margin-top:16px}
body[data-page] #main .contact-heading+.contact-grid{margin-top:0}
body[data-page] #main>.column-intro{padding-block:40px;margin-block:0}
body[data-page] #main>.column-close{padding-block:56px;margin-block:0}
body[data-page] #main :is(.column-card,.about-credential-card,.about-advantage-card,.case-value-grid>article,.contact-grid>article){padding:32px}

/* Match the hero content to the 1204px inner column used below it. */
body[data-page="home"] #main .hero :is(.hero-reference,.hero-layout,.hero-systembar){max-width:1204px;margin-inline:auto}
body[data-page="home"] #main .hero-systembar{border:1px solid #bfd7d1;border-radius:22px;overflow:hidden;text-align:center}
body[data-page="home"] #main .hero-systembar>span{padding:24px;text-align:center}
body[data-page="home"] #main .hero-systembar b{margin-bottom:8px}
body[data-page="home"] #main .concept-comparison :is(th,td){text-align:center;vertical-align:middle;padding:22px 24px}
body[data-page="home"] #main .concept-comparison thead th:nth-child(2){width:40%}
body[data-page="home"] #main .concept-difference>.concept-note{text-align:center;margin-top:24px;padding-inline:0}
@media(min-width:761px){body[data-page="home"] #main .hero-systembar{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){body[data-page="home"] #main .hero-systembar>span{padding:20px 12px}}
@media(max-width:680px){
 body[data-page] #main>section:is(.section,.annual-section){padding-block:48px}
 body[data-page] #main :is(.section-heading,.concept-section-heading,.column-heading,.contact-heading){margin-bottom:24px}
 body[data-page] #main>.column-intro{padding-block:32px}
 body[data-page] #main>.column-close{padding-block:40px}
 body[data-page] #main :is(.column-card,.about-credential-card,.about-advantage-card,.case-value-grid>article,.contact-grid>article){padding:24px}
 body[data-page="home"] #main .hero-systembar{border-radius:20px}
 body[data-page="home"] #main .concept-comparison :is(th,td){padding:18px 16px}
}
@media(max-width:520px){
 body[data-page="home"] #main .concept-comparison tbody tr{padding:24px}
 body[data-page="home"] #main .concept-comparison tbody th{padding:0;margin-bottom:16px}
 body[data-page="home"] #main .concept-comparison tbody td{padding:16px}
 body[data-page="home"] #main .concept-comparison tbody td.concept-annual-column{margin-top:12px;border-left:0;border-top:2px solid #85b841}
}

/* Extend the established spacing scale to all independent column panels. */
body[data-page] #main :is(.rich-situation-panel,.annual-space,.delivery-panel,.assessment-card,.about-profile-panel,.rich-collaboration-lead,.case-panel,.case-record-demo){padding:32px}
body[data-page] #main :is(.rich-situation-column,.case-context>div,.case-context>aside,.case-workflow>li){padding:24px;border-radius:16px}
/* Earlier legacy rules use important for these two inner-card families. */
body[data-page] #main :is(.document-rows>div,.rich-collaboration-fields>article){padding:24px!important;border-radius:16px}
body[data-page] #main :is(.rich-situation-columns,.document-rows,.case-context,.case-workflow,.rich-collaboration,.rich-collaboration-fields){gap:24px}
body[data-page] #main :is(.rich-faq,.case-record-demo){margin-top:32px}

/* One enclosing frame for the expandable delivery list. */
body[data-page="services"] #main .delivery-detail{border:1px solid #bfd7d1;border-radius:22px;overflow:hidden;margin-top:24px}
body[data-page="services"] #main .delivery-detail>summary{padding:20px 32px;border-radius:0}
body[data-page="services"] #main .delivery-detail #rich-sample{border:0;box-shadow:none;border-radius:0;padding:32px;margin:0}

@media(max-width:680px){
 body[data-page] #main :is(.rich-situation-panel,.annual-space,.delivery-panel,.assessment-card,.about-profile-panel,.rich-collaboration-lead,.case-panel,.case-record-demo){padding:24px}
 body[data-page] #main :is(.rich-situation-column,.case-context>div,.case-context>aside,.case-workflow>li){padding:20px;border-radius:14px}
 body[data-page] #main :is(.document-rows>div,.rich-collaboration-fields>article){padding:20px!important;border-radius:14px}
 body[data-page] #main :is(.rich-situation-columns,.document-rows,.case-context,.case-workflow,.rich-collaboration,.rich-collaboration-fields){gap:18px}
 body[data-page] #main :is(.rich-faq,.case-record-demo){margin-top:24px}
 body[data-page="services"] #main .delivery-detail{border-radius:20px;margin-top:24px}
 body[data-page="services"] #main .delivery-detail>summary{padding:16px 24px}
 body[data-page="services"] #main .delivery-detail #rich-sample{padding:24px}
 /* Compact tab controls use a smaller gap than narrative content cards. */
 body[data-page="cases"] #main .case-tabs{gap:8px}
}
@media(max-width:370px){body[data-page="cases"] #main .case-tabs{gap:7px}}
@media(max-width:520px){
 body[data-page="cases"] #main .case-tabs{grid-template-columns:1fr}
 body[data-page="cases"] #main .case-tabs>.case-tab{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-radius:14px;text-align:left}
 body[data-page="cases"] #main .case-tab>.case-tab-tag{min-height:0;margin:0;font-size:13px;line-height:1.5;white-space:nowrap}
 body[data-page="cases"] #main .case-tab>strong{min-height:0;margin:0;font-size:16px;line-height:1.5;white-space:nowrap}
 body[data-page="cases"] #main .case-tab>small{display:none}
}
