/* DQIntegrity 2026 editorial and visual framework extensions */
:root{--dqe-navy:#082850;--dqe-teal:#079596;--dqe-paper:#f6f9fa;--dqe-line:#d9e4e9;--dqe-amber:#e98b31;--dqe-red:#c84335}
.dqe-hero{padding:78px 0 66px;background:radial-gradient(circle at 82% 18%,rgba(34,211,238,.14),transparent 28%),linear-gradient(128deg,#07121e,#0b2b3d);color:#fff}.dqe-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);gap:3.2rem;align-items:center}.dqe-hero h1{font-family:'Libre Franklin',Inter,sans-serif;font-size:clamp(2.8rem,5.6vw,5.7rem);line-height:.98;letter-spacing:-.055em;margin:0 0 1rem;color:#fff}.dqe-hero .lead{font-size:1.12rem;line-height:1.68;color:#c7d8dd;max-width:830px}.dqe-hero .micro{color:#86a4af;font-size:.78rem;line-height:1.6;max-width:780px}.dqe-hero-card{padding:1rem;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(0,0,0,.18);box-shadow:0 25px 70px rgba(0,0,0,.25)}.dqe-hero-card img{width:100%;height:auto;border-radius:11px;display:block}.dqe-eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;font-weight:800;color:#65dec0;margin:0 0 .8rem}.dqe-section{padding:78px 0;color:#173846}.dqe-section.alt{background:#f4f8f8}.dqe-section.deep{background:#071722;color:#fff}.dqe-section h2{font-family:'Libre Franklin',Inter,sans-serif;font-size:clamp(2rem,4vw,3.65rem);line-height:1.08;letter-spacing:-.045em;margin:0 0 .9rem;color:#163846}.dqe-section.deep h2{color:#fff}.dqe-section-intro{max-width:900px;font-size:1.02rem;line-height:1.72;color:#5c7380;margin-bottom:2.1rem}.deep .dqe-section-intro{color:#a9bdc5}.dqe-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}.dqe-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.dqe-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.dqe-card{background:#fff;border:1px solid #dce6ea;border-radius:15px;padding:1.35rem;box-shadow:0 12px 34px rgba(11,38,52,.055)}.deep .dqe-card{background:#0c2332;border-color:rgba(255,255,255,.1)}.dqe-card h3{margin:.2rem 0 .55rem;font-size:1.05rem;color:#163747}.deep .dqe-card h3{color:#fff}.dqe-card p{font-size:.8rem;line-height:1.62;color:#607781;margin:0}.deep .dqe-card p{color:#9db3bc}.dqe-number{display:inline-grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#0a315c;color:#fff;font-size:.75rem;font-weight:800;margin-bottom:.7rem}.dqe-tag{display:inline-flex;align-items:center;border-radius:999px;background:#e6f4f2;color:#087c7c;font-size:.63rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:.38rem .58rem}.dqe-figure{margin:2rem 0 0;background:#fff;border:1px solid #d9e5ea;border-radius:18px;padding:clamp(.6rem,1.4vw,1.1rem);box-shadow:0 18px 55px rgba(13,38,51,.08)}.dqe-figure picture,.dqe-figure img{display:block;width:100%;height:auto}.dqe-figure img{border-radius:11px}.dqe-figure figcaption{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.82rem .35rem .2rem;color:#667c87;font-size:.7rem;line-height:1.5}.dqe-figure figcaption strong{color:#193c4b}.dqe-figure.compact{max-width:1050px;margin-left:auto;margin-right:auto}.dqe-figure.dark{background:#091a28;border-color:rgba(255,255,255,.1)}.dqe-figure.dark figcaption{color:#95adb6}.dqe-figure.dark figcaption strong{color:#fff}.dqe-caption-note{max-width:900px}.dqe-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.dqe-media-card{display:flex;flex-direction:column;background:#fff;border:1px solid #dce7eb;border-radius:16px;overflow:hidden;box-shadow:0 15px 42px rgba(13,38,51,.07)}.dqe-media-card img{display:block;width:100%;aspect-ratio:1.37/1;object-fit:contain;background:#eef3f4}.dqe-media-card-body{display:flex;flex-direction:column;gap:.5rem;padding:1.15rem;flex:1}.dqe-media-card h3{font-size:1.05rem;margin:0;color:#143747}.dqe-media-card p{font-size:.78rem;line-height:1.58;color:#617680;margin:0}.dqe-media-card a{margin-top:auto;color:#087e7d;font-size:.75rem;font-weight:800}.dqe-quote{margin:1.6rem 0;padding:1.4rem 1.55rem;border-left:5px solid #11a0a0;background:#eaf6f5;color:#173f4c;font-size:1.06rem;line-height:1.65;border-radius:0 13px 13px 0}.dqe-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.dqe-proof{padding:1.2rem;border-top:3px solid #0d9c9b;background:#fff;border-radius:0 0 12px 12px}.dqe-proof strong{display:block;color:#123b49;margin-bottom:.35rem}.dqe-proof span{font-size:.75rem;line-height:1.55;color:#617681}.dqe-two-col{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);gap:2rem;align-items:start}.dqe-sticky{position:sticky;top:120px}.dqe-callout{padding:1.2rem 1.3rem;border-radius:13px;background:#eaf5f4;border:1px solid #b8dcda;color:#284b57;font-size:.83rem;line-height:1.65}.dqe-callout strong{color:#0a7777}.dqe-pill-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.dqe-pill-list span{padding:.42rem .65rem;border-radius:999px;border:1px solid #c7dce2;background:#fff;color:#315460;font-size:.68rem;font-weight:700}.dqe-sources{display:grid;gap:.72rem}.dqe-source{display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:start;padding:1rem;background:#fff;border:1px solid #dbe6ea;border-radius:12px}.dqe-source .num{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#0b315d;color:#fff;font-weight:800;font-size:.72rem}.dqe-source h3{margin:0 0 .28rem;font-size:.92rem;color:#163847}.dqe-source p{margin:0;font-size:.72rem;line-height:1.5;color:#657a84}.dqe-source a{font-size:.68rem;font-weight:800;color:#087d7d;white-space:nowrap}.dqe-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.dqe-case{padding:1.3rem;border:1px solid #dce6ea;background:#fff;border-radius:14px}.dqe-case .meta{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.7rem}.dqe-case h3{font-size:1.12rem;color:#153845;margin:0 0 .55rem}.dqe-case p{font-size:.78rem;line-height:1.62;color:#5f7580}.dqe-case .why{padding-top:.7rem;border-top:1px solid #e4ecef}.dqe-case a{font-size:.72rem;font-weight:800;color:#087e7d}.dqe-method{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem}.dqe-method.dqe-method-4{grid-template-columns:repeat(4,1fr)}.dqe-method article{position:relative;padding:1.05rem;background:#fff;border:1px solid #dce7eb;border-radius:13px}.dqe-method article:not(:last-child):after{content:'→';position:absolute;right:-.59rem;top:50%;transform:translateY(-50%);z-index:2;width:1.2rem;height:1.2rem;border-radius:50%;display:grid;place-items:center;background:#0b315d;color:#fff;font-size:.7rem}.dqe-method h3{font-size:.93rem;color:#153846;margin:.4rem 0}.dqe-method p{font-size:.72rem;line-height:1.55;color:#627783}.dqe-form-card{max-width:900px;margin:0 auto;padding:clamp(1.1rem,3vw,2rem);background:#fff;border:1px solid #d7e4e9;border-radius:18px;box-shadow:0 20px 60px rgba(13,38,51,.09)}.dqe-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.dqe-form-card label{display:grid;gap:.4rem;font-size:.75rem;font-weight:700;color:#284957}.dqe-form-card input,.dqe-form-card select,.dqe-form-card textarea{width:100%;border:1px solid #c6d8df;border-radius:9px;background:#fbfdfe;padding:.78rem .85rem;font:inherit;font-size:.8rem;color:#153846}.dqe-form-card textarea{min-height:120px;resize:vertical}.dqe-form-card .full{grid-column:1/-1}.dqe-form-card .check{display:flex;gap:.65rem;align-items:flex-start;font-weight:500;line-height:1.5}.dqe-form-card .check input{width:auto;margin-top:.2rem}.dqe-form-card button{border:0;cursor:pointer}.dqe-status{margin-top:1rem;font-size:.78rem;line-height:1.5}.dqe-status.success{color:#087b60}.dqe-status.error{color:#a7372d}.dqe-private{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.dqe-legal-note{font-size:.68rem;line-height:1.55;color:#72858e}.dqe-link-panel{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.35rem 1.5rem;border-radius:15px;background:linear-gradient(100deg,#082952,#0b5670);color:#fff}.dqe-link-panel h3{margin:0 0 .3rem;color:#fff}.dqe-link-panel p{margin:0;color:#b7d0d5;font-size:.78rem}.dqe-link-panel a{white-space:nowrap}.dqe-divider{border:0;border-top:1px solid #dce6ea;margin:2rem 0}.dqe-notice{padding:1rem 1.1rem;border:1px solid #e6caa9;border-radius:12px;background:#fff8ef;color:#6b4b28;font-size:.76rem;line-height:1.6}.dqe-notice strong{color:#804715}.dqe-case-legend{display:flex;flex-wrap:wrap;gap:.5rem;margin:.9rem 0}.dqe-case-legend span{font-size:.65rem;font-weight:800;padding:.35rem .55rem;border-radius:999px;background:#eaf5f4;color:#087d7d}.dqe-download-card{display:grid;grid-template-columns:150px 1fr auto;gap:1.2rem;align-items:center;padding:1.2rem;border:1px solid #d7e5e9;border-radius:15px;background:#fff}.dqe-download-card img{width:150px;border:1px solid #dbe5e9;border-radius:8px}.dqe-download-card h3{margin:0 0 .4rem;color:#153846}.dqe-download-card p{font-size:.76rem;line-height:1.55;color:#617781;margin:0}.dqe-source-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:800;color:#087e7d}
@media(max-width:1050px){.dqe-hero-grid,.dqe-two-col{grid-template-columns:1fr}.dqe-sticky{position:static}.dqe-grid-4{grid-template-columns:repeat(2,1fr)}.dqe-method{grid-template-columns:1fr}.dqe-method article:after{display:none}.dqe-proof-grid{grid-template-columns:1fr}.dqe-download-card{grid-template-columns:110px 1fr}.dqe-download-card>a{grid-column:1/-1;justify-self:start}}
@media(max-width:760px){.dqe-section{padding:58px 0}.dqe-hero{padding:58px 0 50px}.dqe-grid-2,.dqe-grid-3,.dqe-grid-4,.dqe-media-grid,.dqe-case-grid,.dqe-form-grid{grid-template-columns:1fr}.dqe-figure{padding:.35rem;border-radius:12px;overflow-x:auto}.dqe-figure picture{min-width:690px}.dqe-figure figcaption{display:block;padding:.7rem .3rem}.dqe-download-card{grid-template-columns:1fr}.dqe-download-card img{width:100%;max-width:280px}.dqe-link-panel{align-items:flex-start;flex-direction:column}.dqe-source{grid-template-columns:auto 1fr}.dqe-source a{grid-column:2}.dqe-hero-card{display:none}}

/* Global evidence library */
.global-evidence-hero{padding:82px 0 68px;background:radial-gradient(circle at 86% 18%,rgba(7,149,150,.19),transparent 28%),linear-gradient(128deg,#07121e,#0b2d40);color:#fff}.global-evidence-hero .dq-breadcrumb,.global-evidence-hero .dq-breadcrumb a{color:#91b5c0}.global-evidence-hero h1{font-family:'Libre Franklin',Inter,sans-serif;font-size:clamp(2.8rem,6vw,5.7rem);line-height:.98;letter-spacing:-.055em;max-width:1040px;margin:.3rem 0 1.05rem;color:#fff}.global-evidence-hero .lead{max-width:970px;font-size:1.08rem;line-height:1.72;color:#c4d7dc}.global-policy{display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:center;max-width:970px;margin-top:1.3rem;padding:1rem 1.15rem;border:1px solid rgba(255,255,255,.15);border-radius:13px;background:rgba(0,0,0,.18);font-size:.78rem;line-height:1.55;color:#bcd0d6}.global-policy strong{color:#65dec0;text-transform:uppercase;letter-spacing:.08em;font-size:.67rem}.global-summary{background:#082850;color:#fff}.global-summary-grid{display:grid;grid-template-columns:repeat(4,1fr)}.global-summary-grid>div{display:grid;gap:.15rem;padding:1.35rem 1.1rem;border-right:1px solid rgba(255,255,255,.12)}.global-summary-grid>div:last-child{border-right:0}.global-summary strong{font-size:1.8rem;color:#65dec0}.global-summary span{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#b9ccd2}.global-legend{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem}.global-legend span,.global-tags span{display:inline-flex;align-items:center;border-radius:999px;padding:.38rem .62rem;font-size:.64rem;font-weight:800}.global-legend .control,.global-case-card.control .global-tags span{background:#e7f3f2;color:#087c7c}.global-legend .automation,.global-case-card.automation .global-tags span{background:#e9eefb;color:#294f96}.global-legend .fabrication,.global-case-card.fabrication .global-tags span{background:#fff0e7;color:#a34e1b}.global-legend .cyber,.global-case-card.cyber .global-tags span{background:#f3eafa;color:#6d3c8a}.global-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.global-case-card{position:relative;padding:1.35rem;border:1px solid #d9e5e9;border-radius:16px;background:#fff;box-shadow:0 15px 42px rgba(13,38,51,.06);overflow:hidden}.global-case-card:before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:#079596}.global-case-card.automation:before{background:#4d70b8}.global-case-card.fabrication:before{background:#d16a2a}.global-case-card.cyber:before{background:#8155a2}.global-case-head{display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:start}.global-case-head .icon{width:42px;height:42px}.global-case-card h3{margin:.18rem 0 .25rem;font-size:1.08rem;color:#153846}.global-metric{display:block;margin-top:.2rem;color:#0a8787;font-size:.95rem}.global-tags{display:flex;flex-wrap:wrap;gap:.45rem;margin:.75rem 0}.global-case-card p{font-size:.78rem;line-height:1.62;color:#5f7580}.global-case-card .why{padding-top:.72rem;border-top:1px solid #e3ecef}.global-case-card .source-link{font-size:.72rem;font-weight:800;color:#087e7d}.cyber-grid .global-case-card{background:#fcf9fe}.global-notice{margin-top:1.4rem;background:#112b39;border-color:rgba(255,255,255,.14);color:#b8ccd2}.global-notice strong{color:#65dec0}
@media(max-width:900px){.global-case-grid{grid-template-columns:1fr}.global-summary-grid{grid-template-columns:repeat(2,1fr)}.global-summary-grid>div:nth-child(2){border-right:0}.global-summary-grid>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12)}}
@media(max-width:620px){.global-evidence-hero{padding:58px 0 50px}.global-policy{grid-template-columns:1fr}.global-summary-grid{grid-template-columns:1fr}.global-summary-grid>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.global-summary-grid>div:last-child{border-bottom:0}}
.source-link-group{display:flex;flex-wrap:wrap;gap:.55rem .9rem;align-items:center}

/* ======================================================================
   Full visual QA corrections — July 2026
   Explicit light/dark contrast, mobile readability and resilient hierarchy.
   ====================================================================== */
.dqe-section:not(.deep){color:#173846}
.dqe-section:not(.deep) h1,
.dqe-section:not(.deep) h2,
.dqe-section:not(.deep) h3,
.dqe-section:not(.deep) h4{color:#163846!important}
.dqe-section.deep h1,
.dqe-section.deep h2,
.dqe-section.deep h3,
.dqe-section.deep h4{color:#fff!important}
.dqe-section:not(.deep) .dqe-eyebrow{color:#087874}
.dqe-hero .dqe-eyebrow,
.dqe-section.deep .dqe-eyebrow{color:#65dec0}
.dqe-section:not(.deep) a:not(.dq-btn){color:#087874}
.dqe-section:not(.deep) a:not(.dq-btn):hover{color:#055e5b;text-decoration:underline}
.dqe-card a{color:#087874;font-weight:800}
.dqe-figure figcaption{color:#566d78}
.dqe-figure figcaption strong{color:#173846}

@media(max-width:760px){
  .dqe-section h2{font-size:clamp(1.85rem,8.5vw,2.45rem)}
  .dqe-section-intro{font-size:.96rem;line-height:1.66}
  .dqe-card p,.dqe-case p,.dqe-media-card p,.dqe-method p,.dqe-source p,.dqe-download-card p{font-size:.86rem;line-height:1.62}
  .dqe-card a,.dqe-case a,.dqe-media-card a,.dqe-source a,.dqe-source-link{font-size:.8rem}
  .dqe-card{padding:1.2rem}
  .dqe-case{padding:1.15rem}
  .dqe-figure figcaption{font-size:.76rem;line-height:1.55}
}

#engagement-begins,#wider-mandates{scroll-margin-top:110px}

@media(max-width:1050px){.dqe-method.dqe-method-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.dqe-method.dqe-method-4{grid-template-columns:1fr}}


/* Commercial clarity routes — July 2026 */
#engagement-structure{scroll-margin-top:110px}
.dqe-commercial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:stretch}
.dqe-commercial-route{display:flex;flex-direction:column;padding:1.35rem;background:#fff;border:1px solid #d8e5e9;border-radius:15px;box-shadow:0 14px 38px rgba(11,38,52,.06)}
.dqe-commercial-route h3{font-size:1.12rem;line-height:1.32;color:#153846;margin:.75rem 0 .55rem}
.dqe-route-summary{font-size:.8rem;line-height:1.62;color:#5e7580;margin:0 0 1rem}
.dqe-route-details{display:grid;gap:0;margin:0}
.dqe-route-details>div{padding:.72rem 0;border-top:1px solid #e3ecef}
.dqe-route-details dt{font-size:.66rem;line-height:1.35;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#087874;margin:0 0 .22rem}
.dqe-route-details dd{font-size:.76rem;line-height:1.55;color:#526d78;margin:0}
.dqe-commercial-note{margin-top:1.2rem}
@media(max-width:1050px){.dqe-commercial-grid{grid-template-columns:1fr}.dqe-commercial-route{padding:1.25rem}}
@media(max-width:760px){.dqe-route-summary{font-size:.86rem}.dqe-route-details dt{font-size:.7rem}.dqe-route-details dd{font-size:.84rem}}


/* ======================================================================
   DQIntegrity v13 — editorial-section contrast on dark-shell pages
   Pages without the specialist-modernised light main canvas retain the
   site's dark body background. Default dqe sections on those pages must
   therefore use light editorial text. Light (.alt) and explicit dark
   (.deep) sections retain their existing treatments.
   ====================================================================== */
.dq-v2-page:not(.dq-specialist-modernised) .dqe-section:not(.alt):not(.deep){
  background:#071722;
  color:#f4fbfc;
}
.dq-v2-page:not(.dq-specialist-modernised) .dqe-section:not(.alt):not(.deep) h2{
  color:#f4fbfc;
}
.dq-v2-page:not(.dq-specialist-modernised) .dqe-section:not(.alt):not(.deep) .dqe-section-intro{
  color:#b8cbd2;
}
.dq-v2-page:not(.dq-specialist-modernised) .dqe-section:not(.alt):not(.deep) .dqe-eyebrow{
  color:#62e1c1;
}


/* ======================================================================
   DQIntegrity v14 — explicit dark-shell editorial contrast
   Uses an explicit class so dark editorial sections do not inherit the
   light-section heading rule introduced for the main white page canvas.
   ====================================================================== */
.dqe-section.dark-shell{
  background:#071722;
  color:#f4fbfc;
}
.dqe-section.dark-shell > .dq-wrap > h1,
.dqe-section.dark-shell > .dq-wrap > h2,
.dqe-section.dark-shell > .dq-wrap > h3,
.dqe-section.dark-shell > .dq-wrap > h4{
  color:#f4fbfc!important;
}
.dqe-section.dark-shell > .dq-wrap > .dqe-section-intro{
  color:#c0d0d6!important;
}
.dqe-section.dark-shell > .dq-wrap > .dqe-eyebrow{
  color:#62e1c1!important;
}
.dqe-section.dark-shell .dqe-link-panel h2,
.dqe-section.dark-shell .dqe-link-panel h3,
.dqe-section.dark-shell .dqe-link-panel h4{
  color:#fff!important;
}
.dqe-section.dark-shell .dqe-link-panel p{
  color:#c6d9de!important;
}


/* ======================================================================
   DQIntegrity v15 — preserve light text inside dark editorial link panels
   The general light-section heading rule is intentionally strong, so dark
   nested action panels require an equally explicit component override.
   ====================================================================== */
.dqe-section .dqe-link-panel h1,
.dqe-section .dqe-link-panel h2,
.dqe-section .dqe-link-panel h3,
.dqe-section .dqe-link-panel h4{
  color:#ffffff!important;
}
.dqe-section .dqe-link-panel p{
  color:#c7d9df!important;
}
