/* P190 — Engineering Light/Dark Balance Authority
   Scope: services.html + services-en.html only through body.p28-engineering. */
body.p28-engineering{
  --p190-canvas:#f4f7f6;
  --p190-surface:#ffffff;
  --p190-surface-soft:#edf3f1;
  --p190-surface-strong:#dfeae7;
  --p190-ink:#102522;
  --p190-copy:#506763;
  --p190-line:rgba(25,73,67,.15);
  --p190-accent:#3f7c70;
  --p190-accent-strong:#245c53;
  --p190-gold:#b68d26;
  --p190-shadow:0 18px 46px rgba(19,54,49,.09);
  --p190-shadow-strong:0 28px 72px rgba(12,42,38,.14);
  background:var(--p190-canvas)!important;
  color:var(--p190-ink)!important;
}
html.dark body.p28-engineering,
html[data-theme="dark"] body.p28-engineering,
.dark body.p28-engineering{
  --p190-canvas:#081516;
  --p190-surface:#102223;
  --p190-surface-soft:#142a2a;
  --p190-surface-strong:#1a3331;
  --p190-ink:#f2f7f5;
  --p190-copy:#b8c7c3;
  --p190-line:rgba(155,196,186,.16);
  --p190-accent:#78b8aa;
  --p190-accent-strong:#9ed0c5;
  --p190-gold:#edc955;
  --p190-shadow:0 20px 52px rgba(0,0,0,.26);
  --p190-shadow-strong:0 34px 86px rgba(0,0,0,.4);
}

/* Canvas and chapter rhythm */
body.p28-engineering main{background:var(--p190-canvas)!important;color:var(--p190-ink)!important}
body.p28-engineering .p28-hero,
body.p28-engineering .p28-section,
body.p28-engineering .p52-scenarios,
body.p28-engineering .p53-interface,
body.p28-engineering .p54-evidence{color:var(--p190-ink)}
body.p28-engineering .p28-section{background:var(--p190-canvas)!important}
body.p28-engineering .p28-section:nth-of-type(even){background:var(--p190-surface-soft)!important}
body.p28-engineering .p189-outcomes{background:var(--p190-surface-soft)!important;border-color:var(--p190-line)!important}
body.p28-engineering .p52-scenarios{background:var(--p190-surface)!important}
body.p28-engineering .p53-interface{background:var(--p190-surface-soft)!important}
body.p28-engineering .p54-evidence{background:var(--p190-canvas)!important}

/* Type hierarchy: equal readability, not equal brightness */
body.p28-engineering .p28-title,
body.p28-engineering .p28-heading,
body.p28-engineering .p189-outcomes__head h2,
body.p28-engineering .p56-heading h2,
body.p28-engineering .p28-service h3,
body.p28-engineering .p189-outcome h3,
body.p28-engineering .p53-grid h3{color:var(--p190-ink)!important}
body.p28-engineering .p28-lead,
body.p28-engineering .p28-section-copy,
body.p28-engineering .p189-outcomes__head p,
body.p28-engineering .p189-outcome p,
body.p28-engineering .p28-service p,
body.p28-engineering .p28-service li,
body.p28-engineering .p56-heading>p,
body.p28-engineering .p53-grid dd,
body.p28-engineering .p54-grid p{color:var(--p190-copy)!important}
body.p28-engineering .p28-kicker,
body.p28-engineering .p56-kicker,
body.p28-engineering .p189-outcome>span,
body.p28-engineering .p34-authority-no{color:var(--p190-gold)!important}

/* Hero: luminous in light, controlled in dark */
body.p28-engineering .p28-hero{
  background:
    radial-gradient(circle at 14% 18%,color-mix(in srgb,var(--p190-accent) 16%,transparent),transparent 38%),
    linear-gradient(180deg,var(--p190-surface) 0%,var(--p190-canvas) 100%)!important;
  border-bottom:1px solid var(--p190-line)
}
html.dark body.p28-engineering .p28-hero,
html[data-theme="dark"] body.p28-engineering .p28-hero,
.dark body.p28-engineering .p28-hero{
  background:
    radial-gradient(circle at 16% 15%,rgba(92,166,150,.16),transparent 36%),
    radial-gradient(circle at 82% 72%,rgba(226,190,76,.06),transparent 30%),
    linear-gradient(180deg,#0c1d1e 0%,#081516 100%)!important
}
body.p28-engineering .p28-visual{border:1px solid var(--p190-line)!important;box-shadow:var(--p190-shadow-strong)!important}
body.p28-engineering .p28-visual::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 55%,rgba(3,18,17,.18));border-radius:inherit}
body.p28-engineering .p28-visual-card{z-index:2;background:rgba(8,29,28,.9)!important;border-color:rgba(255,255,255,.18)!important;box-shadow:0 18px 42px rgba(0,0,0,.24)!important}
body.p28-engineering .p28-visual-card small{color:var(--p190-gold)!important}
body.p28-engineering .p28-visual-card strong{color:#fff!important}
body.p28-engineering .p28-visual-card p{color:rgba(255,255,255,.82)!important}

/* Cards: light mode gains depth; dark mode gains separation without glowing */
body.p28-engineering .p34-authority-item,
body.p28-engineering .p189-outcome,
body.p28-engineering .p28-service,
body.p28-engineering .p52-chain article,
body.p28-engineering .p53-grid article,
body.p28-engineering .p54-grid article{
  background:var(--p190-surface)!important;
  border-color:var(--p190-line)!important;
  box-shadow:var(--p190-shadow)!important;
}
html.dark body.p28-engineering .p34-authority-item,
html.dark body.p28-engineering .p189-outcome,
html.dark body.p28-engineering .p28-service,
html.dark body.p28-engineering .p52-chain article,
html.dark body.p28-engineering .p53-grid article,
html.dark body.p28-engineering .p54-grid article,
html[data-theme="dark"] body.p28-engineering .p34-authority-item,
html[data-theme="dark"] body.p28-engineering .p189-outcome,
html[data-theme="dark"] body.p28-engineering .p28-service,
html[data-theme="dark"] body.p28-engineering .p52-chain article,
html[data-theme="dark"] body.p28-engineering .p53-grid article,
html[data-theme="dark"] body.p28-engineering .p54-grid article{
  box-shadow:none!important;
}
body.p28-engineering .p28-service:hover{border-color:color-mix(in srgb,var(--p190-accent) 46%,var(--p190-line))!important;box-shadow:var(--p190-shadow-strong)!important}
html.dark body.p28-engineering .p28-service:hover,
html[data-theme="dark"] body.p28-engineering .p28-service:hover{background:var(--p190-surface-strong)!important;box-shadow:0 24px 52px rgba(0,0,0,.28)!important}
body.p28-engineering .p28-service a{color:var(--p190-accent-strong)!important;font-weight:750}
body.p28-engineering .p34-authority-strip{background:var(--p190-surface)!important;border-color:var(--p190-line)!important}
body.p28-engineering .p34-authority-item p{color:var(--p190-copy)!important}
body.p28-engineering .p34-authority-item h2{color:var(--p190-ink)!important}

/* Scenario controls and interface records */
body.p28-engineering .p52-tabs{background:var(--p190-surface-soft)!important;border:1px solid var(--p190-line)!important}
body.p28-engineering .p52-tab{color:var(--p190-copy)!important;border-color:transparent!important}
body.p28-engineering .p52-tab[aria-selected="true"]{background:var(--p190-surface)!important;color:var(--p190-ink)!important;box-shadow:0 8px 24px rgba(17,52,47,.09)!important}
html.dark body.p28-engineering .p52-tab[aria-selected="true"],html[data-theme="dark"] body.p28-engineering .p52-tab[aria-selected="true"]{box-shadow:none!important;border-color:var(--p190-line)!important}
body.p28-engineering .p52-chain article span,
body.p28-engineering .p53-grid article>span{color:var(--p190-gold)!important}
body.p28-engineering .p52-chain article small,
body.p28-engineering .p53-grid dt,
body.p28-engineering .p54-grid small{color:var(--p190-accent-strong)!important}
body.p28-engineering .p52-chain article p,
body.p28-engineering .p53-grid dd,
body.p28-engineering .p54-grid p{color:var(--p190-copy)!important}
body.p28-engineering .p56-boundary{background:color-mix(in srgb,var(--p190-gold) 9%,var(--p190-surface))!important;border-color:color-mix(in srgb,var(--p190-gold) 34%,var(--p190-line))!important}
body.p28-engineering .p56-boundary strong{color:var(--p190-ink)!important}
body.p28-engineering .p56-boundary p{color:var(--p190-copy)!important}

/* CTA: same prominence in both themes, never over-bright */
body.p28-engineering .p28-cta{
  background:linear-gradient(135deg,#143b37 0%,#2f6b61 100%)!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  color:#fff!important
}
html.dark body.p28-engineering .p28-cta,
html[data-theme="dark"] body.p28-engineering .p28-cta{
  background:linear-gradient(135deg,#0b2523 0%,#214e48 100%)!important
}
body.p28-engineering .p28-cta h2{color:#fff!important}
body.p28-engineering .p28-cta p{color:rgba(255,255,255,.78)!important}
body.p28-engineering .p28-cta .p28-kicker{color:#f0cf61!important}
body.p28-engineering .p28-cta .p28-btn-primary{background:#edc955!important;color:#122522!important;border-color:#edc955!important;box-shadow:0 14px 34px rgba(0,0,0,.16)!important}
body.p28-engineering .p28-cta .p28-btn-secondary{background:rgba(255,255,255,.07)!important;color:#fff!important;border-color:rgba(255,255,255,.32)!important}
body.p28-engineering .p34-cta-chips span{color:rgba(255,255,255,.86)!important;border-color:rgba(255,255,255,.2)!important;background:rgba(255,255,255,.05)!important}

/* Responsive density balance */
@media(max-width:1100px){
  body.p28-engineering .p28-hero-grid{gap:2.25rem!important}
  body.p28-engineering .p28-title{font-size:clamp(3rem,7.4vw,5.2rem)!important}
  body.p28-engineering .p189-outcomes__grid{gap:.85rem}
}
@media(max-width:760px){
  body.p28-engineering .p28-hero{padding-top:2.5rem!important;padding-bottom:3.25rem!important}
  body.p28-engineering .p28-title{font-size:clamp(2.7rem,14vw,4.15rem)!important;line-height:.98!important}
  html[dir="rtl"] body.p28-engineering .p28-title{line-height:1.08!important}
  body.p28-engineering .p28-lead{font-size:1rem!important;line-height:1.75!important}
  body.p28-engineering .p28-visual{border-radius:22px!important}
  body.p28-engineering .p28-visual-card{margin:-3.8rem .7rem 0!important;padding:1.05rem 1.1rem!important;border-radius:18px!important}
  body.p28-engineering .p34-authority-item,
  body.p28-engineering .p189-outcome,
  body.p28-engineering .p28-service,
  body.p28-engineering .p52-chain article,
  body.p28-engineering .p53-grid article,
  body.p28-engineering .p54-grid article{border-radius:18px!important}
}
@media(prefers-reduced-motion:reduce){body.p28-engineering .p28-service{transition:none!important}}
