/* Package 6 — complete D. Load after site.css and d.css; no changes to A/B/C. */
body.variant-d {
  --p6-text: 1.125rem;
  --p6-small: .875rem;
  --p6-gap: 28px;
  font-size: var(--p6-text);
  line-height: 1.65;
}

/* Keep the strong D headings while making the reading layer consistently legible. */
body.variant-d p,
body.variant-d .hero .hero-lead,
body.variant-d .service-hero .hero-lead,
body.variant-d .section-heading > p:last-child,
body.variant-d .section-lead,
body.variant-d .focus-card > p,
body.variant-d .focus-card .focus-subtitle,
body.variant-d .service-row p,
body.variant-d .scope-list p,
body.variant-d .delivery p,
body.variant-d .delivery p:last-child,
body.variant-d .principles p,
body.variant-d .audience-grid p,
body.variant-d .faqs details p,
body.variant-d .case-copy > p:not(.eyebrow),
body.variant-d .method-grid p,
body.variant-d .process-list p,
body.variant-d .contact-band p:last-child,
body.variant-d .contact-details > p,
body.variant-d .legal-copy p {
  font-size: var(--p6-text);
  line-height: 1.7;
}
body.variant-d .eyebrow,
body.variant-d .focus-card .card-top .eyebrow,
body.variant-d .delivery .eyebrow,
body.variant-d .d-hero-marker,
body.variant-d .vx-image-code,
body.variant-d .d-review-bar,
body.variant-d .d-review-bar small,
body.variant-d .hero-bottom,
body.variant-d .hero-bottom > span:nth-child(2),
body.variant-d .hero-methods,
body.variant-d .card-bottom,
body.variant-d .service-row .row-number,
body.variant-d .steps li > span,
body.variant-d .scope-list li > span,
body.variant-d .principles > div > span,
body.variant-d .footer-bottom,
body.variant-d .footer-contact > p,
body.variant-d .footer-services,
body.variant-d .location,
body.variant-d .footer-top .location,
body.variant-d .tags span,
body.variant-d .case-art > span,
body.variant-d .case-note,
body.variant-d .method-grid > article > span,
body.variant-d .process-list article > span,
body.variant-d .founder-mark > div,
body.variant-d .service-hero-art > span,
body.variant-d .service-hero-art > i,
body.variant-d .legal-status,
body.variant-d .d-contact-note,
body.variant-d .d-contact-privacy,
body.variant-d .inquiry-panel [role=status],
body.variant-d .preview-notice,
body.variant-d .inquiry-panel .preview-notice {
  font-size: var(--p6-small);
  line-height: 1.6;
}
body.variant-d .eyebrow { letter-spacing: .1em; }
body.variant-d .hero .hero-lead { max-width: 62ch; }
body.variant-d .section-lead,
body.variant-d .section-heading > p:last-child,
body.variant-d .p6-section-lead { max-width: 67ch; }
body.variant-d :is(h1,h2,h3,p,li,a,button,label,figcaption,small,span) {
  overflow-wrap: anywhere;
}
body.variant-d :is(.hero-grid,.vx-page-grid,.service-hero-grid,.focus-grid,.approach-grid,.scope-grid,.faq-layout,.contact-layout,.footer-top,.founder-grid,.method-grid,.audience-grid) > * {
  min-width: 0;
}
body.variant-d .vx-visual figcaption {
  font-size: var(--p6-small);
  line-height: 1.45;
  padding: 7px 9px;
  background: #10201ef5;
}
body.variant-d .vx-image-code { max-width: calc(100% - 32px); }
body.variant-d .hero-bottom { flex-wrap: wrap; gap: 10px 25px; }
body.variant-d .hero h1 { hyphens: none; overflow-wrap: normal; word-break: normal; }
body.variant-d .home-hero .hero-grid { grid-template-columns: minmax(0,1.4fr) minmax(0,.6fr); }
body.variant-d .home-hero .hero-copy { max-width: 840px; }
body.variant-d .home-hero h1 { font-size: clamp(3.25rem,4.9vw,4.5rem); max-width: 840px; }

/* Navigation, form controls and separate links have real, usable touch targets. */
body.variant-d .site-header nav { font-size: var(--p6-small); gap: 18px; }
body.variant-d .site-header nav > a:not(.header-contact),
body.variant-d .services-nav summary,
body.variant-d .dropdown > a {
  min-height: 44px;
  font-size: var(--p6-small);
  line-height: 1.5;
}
body.variant-d .dropdown small { font-size: var(--p6-small); line-height: 1.5; }
body.variant-d .languages { gap: 3px; font-size: var(--p6-small); }
body.variant-d .site-header .languages a {
  display: grid;
  place-items: center;
  min-width: 44px;
  min-height: 44px;
  padding: 6px;
}
body.variant-d .brand { min-height: 44px; display: flex; align-items: center; }
body.variant-d .menu-toggle { min-height: 44px; min-width: 44px; font-size: var(--p6-small); }
body.variant-d .button,
body.variant-d .hero-actions .button,
body.variant-d .service-hero .button,
body.variant-d .inquiry-panel .button,
body.variant-d .form-actions .button,
body.variant-d .header-contact {
  font-size: 1rem;
  min-height: 48px;
  min-width: 44px;
  white-space: normal;
  gap: 16px;
}
body.variant-d .button > span:last-child { flex-shrink: 0; }
body.variant-d .hero .button-secondary { color: #f3f7ef; background: transparent; border-color: #90ad83; }
body.variant-d .hero .button-secondary:hover { color: #182c1f; background: #d7ebc5; border-color: #d7ebc5; }
body.variant-d .text-link,
body.variant-d .hero-actions .text-link,
body.variant-d .d-restart-contact .text-link,
body.variant-d .hero-service-links,
body.variant-d .service-selector a,
body.variant-d .pricing-note > a,
body.variant-d .footer-contact > a,
body.variant-d .footer-contact > a[href^="mailto"] {
  font-size: 1rem;
  min-height: 44px;
}
body.variant-d .hero-service-links { gap: 12px 26px; }
body.variant-d .hero-service-links a,
body.variant-d .footer-services a,
body.variant-d .footer-bottom a,
body.variant-d .vx-contact-now > a,
body.variant-d .contact-email,
body.variant-d .contact-phone,
body.variant-d .d-emergency a,
body.variant-d .d-restart-contact > a[href^="tel"] {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
body.variant-d .footer-services a { display: flex; }
body.variant-d .footer-bottom > div { gap: 0 23px; }
body.variant-d .d-review-bar { min-height: 44px; flex-wrap: wrap; padding: 0 36px; }
body.variant-d .d-review-bar > span { flex-wrap: wrap; gap: 6px 10px; }
body.variant-d .d-review-bar > a { min-height: 44px; display: inline-flex; align-items: center; white-space: normal; }
body.variant-d .inquiry-panel label { font-size: var(--p6-small); line-height: 1.6; }
body.variant-d .inquiry-panel input,
body.variant-d .inquiry-panel textarea,
body.variant-d .inquiry-panel select,
body.variant-d .inquiry-result textarea,
body.variant-d textarea::placeholder {
  font-size: 1rem;
  line-height: 1.6;
}
body.variant-d .inquiry-panel :is(input,select) { min-height: 48px; }
body.variant-d .inquiry-panel textarea { max-width: 100%; }
body.variant-d .inquiry-panel :is(input,textarea,select)::placeholder { color: #5d6c61; opacity: 1; }
body.variant-d .faqs summary { min-height: 48px; font-size: var(--p6-text); line-height: 1.5; }
body.variant-d .faqs summary > span { flex-shrink: 0; }
body.variant-d .contact-email { margin-bottom: 24px; max-width: 100%; }
body.variant-d .contact-details .contact-phone,
body.variant-d .contact-details .contact-email { display: flex; min-height: 44px; }
body.variant-d :focus-visible { outline: 3px solid #5b8f42; outline-offset: 4px; }
body.variant-d :is(.hero,.approach-section,.p6-integration,.p6-engine,.contact-band) :focus-visible {
  outline-color: #d4efb6;
}

/* Five services, in the agreed order. The first two lead; all five are full cards. */
.p6-portfolio-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: var(--p6-gap); }
.p6-portfolio-card {
  grid-column: span 2;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding: 28px;
  background: #fffefa;
  border: 1px solid #bbcbbb;
  border-top: 3px solid #45664e;
  border-radius: 2px;
  position: relative;
  transition: transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.p6-portfolio-card:nth-child(-n+2) { grid-column: span 3; border-top-color: #619451; }
.p6-portfolio-card:nth-child(2) { border-top-color: #374e47; }
.p6-portfolio-card:hover { border-color: #73936a; box-shadow: 0 12px 30px #213c2412; transform: translateY(-3px); }
.p6-portfolio-card h3 { font-size: clamp(1.65rem,2.15vw,2.15rem); line-height: 1.15; margin-bottom: 16px; }
.p6-portfolio-card:nth-child(-n+2) h3 { font-size: clamp(1.9rem,2.6vw,2.5rem); }
.p6-portfolio-card p { color: #445f4e; }
.p6-portfolio-card :is(.text-link,.p6-card-link) { margin-top: auto; }
.p6-portfolio-card .service-icon { width: 36px; height: 36px; color: #426447; margin: 0 0 24px; }
.p6-portfolio-card .p6-card-number { color: #4e6c52; font: var(--p6-small)/1.5 Consolas,monospace; margin-bottom: 22px; }
.p6-portfolio-card .p6-card-meta { font-size: var(--p6-small); color: #526553; }
.p6-card-media { height: 230px; margin: -28px -28px 28px; width: calc(100% + 56px); }
.p6-card-media img { width: 100%; height: 100%; object-fit: cover; }
.p6-card-link { min-height: 44px; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-top: 16px; border-top: 1px solid #c5d2bf; font-size: 1rem; font-weight: 600; }
.p6-card-link > span:last-child { flex-shrink: 0; }

/* Context and cross-service explanations are part of the page, not footer links. */
.p6-intro-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); gap: 70px; align-items: center; }
.p6-context-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,260px),1fr)); gap: var(--p6-gap); }
.p6-context-grid > article { min-width: 0; padding: 30px; border-top: 2px solid #6d9062; background: #fffefa; }
.p6-context-grid h2 { font-size: clamp(1.75rem,2.6vw,2.5rem); margin-bottom: 22px; }
.p6-context-grid h3 { font-size: 1.45rem; line-height: 1.3; margin-bottom: 16px; }
.p6-context-grid p { color: #435f4d; }
.p6-context-grid p:last-child { margin-bottom: 0; }
.p6-situations,.p6-technical-list { list-style: none; padding: 0; margin: 0; }
.p6-situations li,.p6-technical-list li { padding: 18px 0 18px 22px; border-top: 1px solid #cfdbcb; position: relative; line-height: 1.7; }
.p6-situations li::before,.p6-technical-list li::before { content: ""; position: absolute; left: 0; top: 29px; width: 6px; height: 6px; background: #588644; }
.p6-related { background: #eaf0e4; }
.p6-related h2,.p6-integration h2 { max-width: 28ch; margin-bottom: 24px; }
.p6-section-lead { margin: 0 0 38px; color: #46604b; }
.p6-related-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--p6-gap); }
.p6-related-card { padding: 30px; background: #fffefa; border: 1px solid #c1cfb8; display: flex; flex-direction: column; min-width: 0; }
.p6-related-card h3 { font-size: 1.65rem; line-height: 1.2; margin-bottom: 18px; }
.p6-related-card p { color: #435e49; }
.p6-related-card .text-link { margin-top: auto; align-self: start; }
.p6-integration { background: #1d302b; color: #f3f7ef; }
.p6-integration .eyebrow { color: #bfdfaa; }
.p6-integration .p6-section-lead { color: #d1dfd3; }
.p6-integration-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 18px; }
.p6-integration-card { min-width: 0; padding: 26px 22px; background: #263d34; border: 1px solid #55755b; }
.p6-integration-card h3 { color: #e4f1d9; font-size: 1.3rem; line-height: 1.35; margin-bottom: 18px; }
.p6-integration-card p { color: #cfddd0; margin: 0; }
.p6-positioning .p6-intro-grid { align-items: start; }
.p6-positioning .p6-integration-grid { grid-template-columns: minmax(0,1fr); gap: 20px; }
.p6-positioning .p6-integration-grid > article { min-width: 0; background: #fffefa; border-top: 2px solid #719368; padding: 24px; }
.p6-positioning .p6-integration-grid h3 { font-size: 1.4rem; line-height: 1.3; margin-bottom: 12px; }
.p6-positioning .p6-integration-grid p { margin: 0; color: #435e49; }
.p6-start { background: #e7ede2; }
.p6-start-inner { display: flex; align-items: center; justify-content: space-between; gap: 48px; }
.p6-start-inner > div:first-child { flex: 1; min-width: 0; max-width: 760px; }
.p6-start h2 { max-width: 26ch; margin-bottom: 22px; }
.p6-start p { color: #435e47; }
.p6-start-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 15px; max-width: 360px; }
.p6-start-actions a { min-height: 44px; display: inline-flex; align-items: center; }
.p6-start-actions a[href^="tel"] { font-size: 1.2rem; font-weight: 650; }

/* The owner's path: neutral portrait slot, no invented image, dates or badges. */
.p6-profile-hero { padding: 74px 0; }
.p6-profile-hero h1 { font-size: clamp(2.7rem,4.7vw,4.6rem); line-height: 1.08; max-width: 18ch; }
.p6-profile-hero .hero-lead { margin: 25px 0 30px; }
.p6-profile-hero .lead { margin: 25px 0 30px; max-width: 62ch; color: #d2ddd6; }
.p6-profile-hero .actions,.p6-start .actions { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.p6-profile-hero .hero-actions { align-items: flex-start; }
.p6-portrait { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 390px; aspect-ratio: 1.05; position: relative; border: 1px solid #56765f; background: linear-gradient(145deg,#2c433a,#192b25); color: #c6dfb5; overflow: hidden; }
.p6-portrait::before,.p6-portrait::after { content: ""; position: absolute; pointer-events: none; border: 1px solid #8aa68145; width: 75%; height: 75%; transform: rotate(16deg); }
.p6-portrait::after { width: 50%; height: 50%; transform: rotate(-13deg); border-color: #b5d59e40; }
.p6-portrait > span,.p6-portrait > b { font-size: clamp(4rem,8vw,7rem); letter-spacing: -.08em; line-height: 1.15; font-weight: 550; z-index: 1; }
.p6-portrait-line { width: 70px; height: 3px; margin-top: 28px; background: #b4df91; z-index: 1; }
.p6-profile-intro .section-lead,.p6-profile-intro .lead { max-width: 74ch; }
.p6-profile-intro .lead { margin-top: 26px; }
.p6-profile-intro .p6-experience-note { max-width: 74ch; color: #4b6450; }
.p6-journey h2,.p6-expertise h2,.p6-practice h2 { max-width: 30ch; margin-bottom: 40px; }
.p6-practice > .container > .text-link { margin-top: 28px; }
.p6-career,.p6-path { position: relative; display: grid; gap: 0; padding: 0; list-style: none; }
.p6-career > article,.p6-path > article { position: relative; display: grid; grid-template-columns: 52px minmax(0,1fr); gap: 26px; padding: 0 0 34px; min-width: 0; }
.p6-career > article:not(:last-child)::before,.p6-path > article:not(:last-child)::before { content: ""; position: absolute; top: 46px; bottom: 0; left: 22px; width: 1px; background: #a8bca0; }
.p6-step-index { display: grid; place-items: center; width: 44px; height: 44px; font: var(--p6-small)/1.5 Consolas,monospace; border: 1px solid #93ae88; color: #365b39; background: #f2f6ec; }
.p6-career h3,.p6-path h3 { font-size: 1.5rem; line-height: 1.3; margin: 6px 0 14px; }
.p6-career p,.p6-path p { color: #49614d; max-width: 75ch; margin-bottom: 0; }
.p6-specialisms { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px; }
.p6-specialisms > article { min-width: 0; border-top: 2px solid #77996b; padding: 24px 0 0; }
.p6-specialisms h3 { font-size: 1.4rem; line-height: 1.3; margin-bottom: 17px; }
.p6-specialisms p { color: #435d49; }
.p6-engine { background: #1d302b; color: #f3f7ef; }
.p6-engine .eyebrow { color: #bfdfaa; }
.p6-engine h2 { max-width: 25ch; margin-bottom: 24px; }
.p6-engine p { color: #d0dfd2; }
.p6-engine .p6-technical-list li { border-color: #577360; color: #dce9d9; }
.p6-engine .p6-technical-list li::before { background: #b4df91; }
.p6-qualifications-grid,.p6-qualification-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,240px),1fr)); gap: var(--p6-gap); }
.p6-qualification,.p6-qualification-grid > article { border: 1px solid #bdcdb7; padding: 28px; background: #fffefa; }
.p6-qualification h3,.p6-qualification-grid h3 { font-size: 1.4rem; margin-bottom: 16px; }

@media(max-width:1080px) {
  body.variant-d .site-header nav { gap: 0; }
  body.variant-d .site-header nav > a:not(.header-contact),body.variant-d .services-nav summary { font-size: 1rem; }
  body.variant-d .dropdown > a { font-size: 1rem; }
  body.variant-d .languages { gap: 12px; }
  .p6-intro-grid { gap: 36px; }
  .p6-portfolio-grid { gap: 20px; }
  .p6-portfolio-card { padding: 24px; }
  .p6-card-media { width: calc(100% + 48px); margin: -24px -24px 24px; }
  .p6-portfolio-card:nth-child(n+3) { grid-column: span 2; }
  .p6-integration-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .p6-specialisms { gap: 26px; }
  .p6-portrait { min-height: 310px; }
  .p6-start-inner { gap: 30px; }
}
@media(max-width:760px) {
  body.variant-d { --p6-text: 1rem; --p6-gap: 22px; }
  body.variant-d .d-review-bar { padding: 0 20px; gap: 0 12px; }
  body.variant-d .d-review-bar small { display: none; }
  body.variant-d .d-review-bar > span { gap: 6px; }
  body.variant-d .site-header .languages a { min-height: 44px; min-width: 44px; }
  body.variant-d .home-hero .hero-copy { padding-bottom: 92px; }
  body.variant-d .home-hero h1 { font-size: clamp(2rem,8.6vw,3.4rem); }
  body.variant-d .home-hero .vx-home-image figcaption { right: 20px; bottom: 16px; max-width: calc(100% - 40px); }
  body.variant-d .hero-bottom { gap: 8px 16px; }
  body.variant-d .hero-bottom > span:nth-child(2) { display: none; }
  body.variant-d .hero-bottom > span:last-child { display: inline; }
  body.variant-d .hero-actions { gap: 12px 20px; }
  body.variant-d .hero-actions .text-link { width: auto; max-width: 100%; }
  body.variant-d .hero-service-links { gap: 8px 20px; }
  body.variant-d .hero-service-links a { gap: 12px; }
  body.variant-d .vx-visual figcaption { left: 10px; bottom: 10px; max-width: calc(100% - 20px); }
  body.variant-d .button,body.variant-d .hero-actions .button { padding: 14px 16px; }
  body.variant-d .footer-bottom > div { gap: 0 20px; }
  body.variant-d .pricing-note { display: block; }
  body.variant-d .pricing-note > span { display: none; }
  body.variant-d .pricing-note p { margin-bottom: 12px; }
  body.variant-d .pricing-note > a { margin-left: 0; }
  body.variant-d .service-row .row-number { width: 25px; flex-shrink: 0; }
  body.variant-d .service-row .row-arrow { flex-shrink: 0; }
  body.variant-d .contact-band .button { max-width: 100%; }
  body.variant-d .footer-contact > a { max-width: 100%; }
  .p6-intro-grid { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .p6-profile-hero { padding: 38px 0 42px; }
  .p6-profile-hero h1 { font-size: clamp(2.15rem,8.4vw,3.2rem); }
  .p6-journey h2,.p6-expertise h2,.p6-practice h2 { margin-bottom: 28px; }
  .p6-portrait { min-height: 230px; aspect-ratio: 1.55; max-height: 340px; }
  .p6-portrait > span,.p6-portrait > b { font-size: 4.5rem; }
  .p6-portfolio-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .p6-portfolio-card,.p6-portfolio-card:nth-child(-n+2),.p6-portfolio-card:nth-child(n+3) { grid-column: span 1; }
  .p6-portfolio-card:last-child { grid-column: 1/-1; }
  .p6-portfolio-card h3,.p6-portfolio-card:nth-child(-n+2) h3 { font-size: 1.8rem; }
  .p6-context-grid > article,.p6-related-card { padding: 24px; }
  .p6-related-grid { gap: 20px; }
  .p6-related-card h3 { font-size: 1.45rem; }
  .p6-integration-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .p6-integration-card { padding: 24px; }
  .p6-specialisms { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
  .p6-career > article,.p6-path > article { grid-template-columns: 44px minmax(0,1fr); gap: 18px; padding-bottom: 30px; }
  .p6-career h3,.p6-path h3 { font-size: 1.3rem; }
  .p6-start-inner { flex-direction: column; align-items: stretch; }
  .p6-start-actions { max-width: 100%; }
}
@media(max-width:520px) {
  body.variant-d .hero-actions { align-items: stretch; flex-direction: column; }
  body.variant-d .hero-actions .button { width: 100%; }
  body.variant-d .hero-actions .text-link { align-self: flex-start; }
  body.variant-d .button { max-width: 100%; }
  body.variant-d .header-inner { gap: 12px; }
  body.variant-d .brand { width: 172px; }
  body.variant-d .menu-toggle { padding: 10px; gap: 9px; }
  body.variant-d .d-review-bar b { font-size: .875rem; }
  body.variant-d .d-review-bar { gap: 0 10px; }
  .p6-portfolio-grid,.p6-related-grid,.p6-specialisms,.p6-integration-grid { grid-template-columns: minmax(0,1fr); }
  .p6-portfolio-card,.p6-portfolio-card:nth-child(-n+2),.p6-portfolio-card:nth-child(n+3) { grid-column: 1; }
  .p6-portfolio-card h3,.p6-portfolio-card:nth-child(-n+2) h3 { font-size: 1.95rem; }
  .p6-card-media { height: 205px; }
  .p6-context-grid > article,.p6-related-card { padding: 24px 20px; }
  .p6-start-actions .button { width: 100%; }
  .p6-profile-hero .actions,.p6-start .actions { flex-direction: column; align-items: stretch; }
  .p6-profile-hero .actions .button,.p6-start .actions .button { width: 100%; }
}
@media(prefers-reduced-motion:reduce) {
  .p6-portfolio-card { transition: none; }
  .p6-portfolio-card:hover { transform: none; }
}

/* GRO P7: service depth and differentiated industrial visuals */
body.variant-d .p6-service-depth{background:#f4f7f1;border-top:4px solid #4d7860}
body.variant-d .p6-service-depth h2{max-width:30ch;font-size:clamp(1.9rem,3.5vw,3rem)}
.p6-depth-grid,.p6-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.p6-depth-grid article{background:#fffefa;border:1px solid #d0daca;padding:27px 24px;min-width:0}
.p6-depth-number{font-size:1rem;color:#517b60;font-weight:800;letter-spacing:.15em}
.p6-depth-grid h3{font-size:1.42rem;margin:12px 0;line-height:1.3}
.p6-depth-grid p,.p6-mode-grid p{line-height:1.72;color:#42584d}
.p6-clean-modes{margin-top:48px;border-top:1px solid #b8cbbb;padding-top:35px}
.p6-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.p6-mode-grid article{padding:28px 30px;background:#12282b;color:#f1f5e9;border-top:5px solid #b7d89c}
.p6-mode-grid article:nth-child(2){background:#183b36;border-color:#e6ad55}
.p6-mode-grid h3{color:#fff;font-size:1.6rem;line-height:1.3;margin:12px 0 14px}
.p6-mode-grid p{color:#e4efe2}
.p6-mode-grid strong{color:#e6b765}
.p6-clean-safety{font-size:.95rem;margin:20px 0 0;max-width:82ch}
.p6-direct-contact{padding:25px max(24px,calc((100vw - 1160px)/2));display:flex;flex-wrap:wrap;align-items:center;gap:24px;background:#11272d;color:#fff}
.p6-direct-contact .text-link{color:#fff}
.p6-direct-contact .button{background:#c5d994;color:#17291e;border:2px solid #c5d994;font-weight:800}
.p6-service-visual-risk{border-bottom:5px solid #d0a35f}
.p6-service-visual-system{border-bottom:5px solid #57bdac}
.p6-service-visual-restart{border-bottom:5px solid #eca55e}
.p6-service-visual-risk img,.p6-service-visual-system img,.p6-service-visual-restart img{width:100%;height:auto;object-fit:cover}
@media(max-width:800px){.p6-depth-grid{grid-template-columns:1fr}.p6-mode-grid{grid-template-columns:1fr}.p6-direct-contact{padding:24px 20px}.p6-direct-contact .button{width:100%;justify-content:center}}

/* GRO industrial iteration: material, work and findings lead the presentation. */
body.variant-d { background:#f0f0e9; color:#202b28; }
body.variant-d .hero { background:#17211f; }
body.variant-d .home-hero .hero-copy { padding-top:72px; padding-bottom:72px; }
body.variant-d .hero .hero-lead { color:#e0e6dd; }
body.variant-d .hero h1 { letter-spacing:-.045em; }
body.variant-d .service-hero h2 { font-size:clamp(1.45rem,2vw,1.9rem); line-height:1.25; color:#e5f0d5; max-width:27ch; margin:20px 0; }
body.variant-d .service-hero-grid { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); align-items:center; gap:48px; }
body.variant-d .vx-service-image .vx-visual { height:460px; border:0; }
body.variant-d .industrial-photo { background:#24302b; }
body.variant-d .industrial-photo img { filter:none; }
body.variant-d .industrial-photo figcaption { color:#f1f5e8; background:#12201df0; font-size:.875rem; line-height:1.35; }
body.variant-d .industrial-photo figcaption>span { display:block; font-size:.75rem; margin-top:4px; color:#cfdbc8; }
body.variant-d .industrial-photo[data-media-slot="risk"] img { object-position:50% 45%; }
body.variant-d .vx-image-code { background:#1c2b25; border:1px solid #91ad7d; color:#e2f0d2; }
body.variant-d .p6-portfolio { background:#e9ebe2; }
body.variant-d .p6-portfolio-card { border-radius:0; background:#1f2c27; color:#f2f3e8; border:1px solid #465d4b; border-top:3px solid #a4c879; box-shadow:none; }
body.variant-d .p6-portfolio-card p { color:#d9e0d2; }
body.variant-d .p6-card-number { color:#b5d197; }
body.variant-d .p6-card-link { border-color:#63725f; color:#f0f5e8; }
body.variant-d .p6-portfolio-card:hover { background:#293a2e; border-color:#b1ce8c; }
body.variant-d .p6-card-media { height:215px; }
body.variant-d .p6-portfolio-card:nth-child(-n+2) .p6-card-media { height:270px; }
body.variant-d .p6-card-media figcaption { position:absolute; bottom:0; left:0; right:0; max-width:100%; padding:9px 12px; font-size:.75rem; }
body.variant-d .p6-card-media figcaption>span { font-size:.7rem; }
body.variant-d .p6-positioning { border-top:1px solid #adb7a5; background:#f3f1e9; }
body.variant-d .p6-positioning .p6-integration-grid>article { background:transparent; padding:22px 0; border-color:#506d40; }
.industrial-index { font: .875rem/1.5 Consolas,monospace; letter-spacing:.04em; color:#5a704c; }
.industrial-model-jump { display:flex; width:fit-content; margin-top:18px; color:#dbeac5; font-size:.875rem; letter-spacing:.04em; }
body.variant-d .hero .text-link:is(:hover,:focus-visible) { color:#e5f4d4; border-color:#b4df91; }
.industrial-models { background:#dce5d1; border-bottom:1px solid #b4c0a8; }
.industrial-models h2 { max-width:25ch; margin-bottom:25px; }
.industrial-models .section-lead { margin-bottom:34px; }
.industrial-model-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
.industrial-model-grid article { background:#f7f6ed; border-top:4px solid #4c693c; padding:34px; min-width:0; }
.industrial-model-grid article:nth-child(2) { background:#21332a; color:#f2f6e8; border-color:#a9d37e; }
.industrial-model-grid article:nth-child(2) .industrial-index { color:#b9d798; }
.industrial-model-grid h3 { font-size:1.65rem; line-height:1.2; margin:23px 0 18px; }
.industrial-model-grid p { margin:0; }
.industrial-model-note { max-width:76ch; margin:28px 0 0; }
.industrial-scope { background:#f3f1e9; }
.industrial-scope-heading { position:sticky; top:120px; align-self:start; }
.industrial-scope-heading h2 { margin-bottom:25px; max-width:15ch; }
.industrial-work-list { list-style:none; margin:0; padding:0; }
.industrial-work-list>li { display:grid; grid-template-columns:30px minmax(0,1fr); gap:20px; padding:28px 0; border-top:1px solid #aeb9a6; }
.industrial-work-list h3 { font-size:1.4rem; line-height:1.3; margin-bottom:15px; }
.industrial-work-list p { color:#3c4f43; margin:0; }
.industrial-work { background:#1c2b26; color:#f1f2e8; }
.industrial-work .eyebrow { color:#b7d790; }
.industrial-work h2 { max-width:22ch; margin-bottom:40px; }
.industrial-steps { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.industrial-steps>li { border-top:2px solid #778c64; padding-top:20px; min-width:0; }
.industrial-steps .industrial-index { color:#bbd991; }
.industrial-steps h3 { font-size:1.4rem; line-height:1.3; margin:22px 0 15px; }
.industrial-steps p { color:#d0d9c9; }
.industrial-delivery { margin-top:42px; background:#2c4031; border-left:4px solid #b8d99b; padding:30px; }
.industrial-delivery>p:last-child { margin:0; max-width:84ch; }
.industrial-limits { margin-top:28px; border-top:1px solid #66745f; padding-top:24px; }
.industrial-limits h3 { font: .875rem/1.5 Consolas,monospace; letter-spacing:.06em; color:#c5d8b0; margin-bottom:14px; }
.industrial-limits p { color:#d3dbcd; margin:0; max-width:100ch; }
body.variant-d .industrial-direct-mail { font-size:clamp(1rem,1.7vw,1.3rem); font-weight:650; text-decoration:underline; text-underline-offset:5px; min-height:44px; display:inline-flex; align-items:center; }
body.variant-d .industrial-phone { font-size:1rem; font-weight:400; color:inherit; opacity:.85; }
.industrial-phone small { display:block; font-size:.875rem; }
body.variant-d .footer-contact .industrial-phone { display:flex; flex-direction:column; align-items:start; gap:2px; margin-top:12px; }
body.variant-d .contact-details .contact-email { font-size:clamp(1.1rem,2vw,1.5rem); font-weight:650; color:#304a2d; margin:20px 0; }
.industrial-contact-alternative { display:block; font-size:.875rem; margin-top:26px; }
body.variant-d .contact-details .contact-phone { font-size:1rem; margin:0 0 26px; }
body.variant-d .p6-start-actions a.industrial-phone { font-size:1rem; font-weight:400; }
body.variant-d .vx-contact-now { display:flex; flex-direction:column; align-items:start; gap:12px; }
body.variant-d .vx-contact-now .industrial-phone { font-size:1rem; }
/* Content restoration: existing D palette and type, expanded editorial hierarchy. */
.company-hero-grid { display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:48px;align-items:center; }
body.variant-d .company-hero h1 { font-size:clamp(2.3rem,4.5vw,4.5rem);line-height:1.05;max-width:24ch;overflow-wrap:anywhere; }
.company-hero-image { min-width:0; }
.company-hero-image .vx-visual { height:480px;max-height:65vh; }
.company-hero-image img { width:100%;height:100%;object-fit:cover; }
.company-contents { display:flex;flex-wrap:wrap;gap:10px;padding-top:28px;padding-bottom:28px; }
.company-contents a { display:inline-block;max-width:100%;border:1px solid #a7b1a1;padding:10px 14px;text-decoration:none;line-height:1.4; }
.company-contents a:hover { background:#dce5d1; }
.company-chapter-grid { display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:70px; }
.company-chapter h2 { max-width:19ch; }
.company-chapter-tint { background:#e8ecdf; }
.company-chapter p,.company-chapter li { max-width:72ch; }
.company-chapter li,.recovery-depth li { margin:15px 0; }
.company-chapter ul,.recovery-depth ul { padding-left:22px; }
.company-links { display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:26px; }
.company-links a { border-bottom:1px solid #567249;padding:7px 0;line-height:1.4; }
.company-directory { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding-top:36px;padding-bottom:45px;border-top:1px solid #65766b; }
body.variant-d .site-footer .company-directory p { color:#233d2c;font-weight:700;margin:0 0 12px; }
body.variant-d .site-footer .company-directory a { display:block;padding:9px 0;color:#304a2d;font-size:.94rem;line-height:1.4; }
.recovery-problem-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;list-style:none;padding:0;margin:32px 0 0; }
.recovery-problem-grid li { padding:24px;border-left:3px solid #5a704c;background:#e8ecdf; }
.recovery-two-col { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:55px; }
.recovery-two-col h2 { font-size:clamp(1.6rem,2.7vw,2.5rem); }
.recovery-depth { background:#e8ecdf; }
.recovery-card-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:30px; }
.recovery-card-grid article { padding:32px;border:1px solid #a3b298;background:#f4f3eb;min-width:0; }
.recovery-card-grid h3 { font-size:1.5rem;line-height:1.25;margin-bottom:20px; }
.recovery-card-grid p { margin-bottom:20px; }
.recovery-card-grid a { display:inline-block;text-decoration:underline;text-underline-offset:4px; }
.recovery-result { background:#dce5d1;border-top:1px solid #a3b298; }
.recovery-result .section-lead { max-width:80ch; }
.recovery-faq details { padding:22px 0;border-bottom:1px solid #a7b1a1; }
.recovery-faq summary { cursor:pointer;font-size:1.2rem;font-weight:650;line-height:1.5; }
.recovery-faq details p { max-width:85ch;margin-top:20px; }
.recovery-next { padding-top:30px; }
.recovery-next a { display:inline-block;margin:12px 30px 0 0;text-decoration:underline; }
.company-gateway { background:#e8ecdf; }
.practice-result-title { max-width:24ch;margin-bottom:15px; }
.practice-employer { font-size:.98rem;color:#475c4d;border-left:3px solid #7c995c;padding-left:15px;margin-bottom:36px; }
.practice-result-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px; }
.practice-result-grid h3 {font-size:1.2rem;line-height:1.4;margin-bottom:15px;}
.practice-result-grid p {font-size:1.06rem;line-height:1.7;}
.personal-qualifications {background:#e8ecdf;}
@media(max-width:760px){.practice-result-grid{grid-template-columns:minmax(0,1fr);gap:15px;}.practice-employer{overflow-wrap:anywhere;}}
@media(max-width:360px){body.variant-d .company-hero h1{font-size:2.1rem;hyphens:manual;overflow-wrap:normal;}.company-hero .button{font-size:1rem;}}
body.variant-d #site-nav>.services-nav .dropdown { max-height:75vh;overflow-y:auto; }
@media(min-width:1081px) {body.variant-d #site-nav {gap:19px;}body.variant-d #site-nav>.services-nav>summary,body.variant-d #site-nav>a {font-size:.88rem;}body.variant-d .header-inner {gap:28px;}body.variant-d .header-inner>.brand {width:154px;min-width:120px;} }
@media(max-width:1080px) {.company-hero-grid {grid-template-columns:minmax(0,1fr);gap:30px;}.company-hero-image .vx-visual {height:330px;}body.variant-d #site-nav {max-height:calc(100dvh - 95px);overflow-y:auto;overscroll-behavior:contain;}body.variant-d #site-nav>.services-nav .dropdown {max-height:none;overflow:visible;}.company-chapter-grid {gap:35px;} }
@media(max-width:760px) {.company-chapter-grid,.recovery-two-col,.recovery-card-grid,.recovery-problem-grid,.company-directory {grid-template-columns:minmax(0,1fr);gap:25px;}.company-chapter h2 {max-width:none;}.company-hero-image .vx-visual {height:230px;}body.variant-d .company-hero h1 {font-size:2.3rem;}.company-contents {gap:8px;}.company-contents a {font-size:.94rem;padding:9px 12px;}.recovery-card-grid article {padding:25px 21px;}.recovery-problem-grid li {padding:22px;}.company-chapter li {margin:14px 0;}.company-links {gap:10px 18px;}.company-directory {gap:25px;} }
@media(max-width:1080px) {
 body.variant-d .service-hero-grid { gap:30px; }
 body.variant-d .vx-service-image .vx-visual { height:400px; }
 .industrial-model-grid article { padding:26px; }
}
@media(max-width:760px) {
 body.variant-d .home-hero .hero-copy { padding:38px 0 120px; }
 body.variant-d .service-hero-grid { display:flex; gap:28px; }
 body.variant-d .vx-service-image .vx-visual { height:240px; }
 body.variant-d .service-hero h2 { font-size:1.5rem; }
 body.variant-d .p6-portfolio-card .p6-card-media,body.variant-d .p6-portfolio-card:nth-child(-n+2) .p6-card-media { height:230px; }
 .industrial-model-grid,.industrial-steps { grid-template-columns:minmax(0,1fr); }
 .industrial-model-grid article { padding:26px 22px; }
 .industrial-model-grid h3 { font-size:1.5rem; }
 .industrial-scope-heading { position:static; }
 .industrial-work-list>li { gap:16px; padding:24px 0; }
 .industrial-work-list h3 { font-size:1.3rem; }
 .industrial-delivery { padding:24px 20px; }
 .industrial-steps { gap:24px; }
 .industrial-steps p { margin-bottom:0; }
 .industrial-model-jump { font-size:.875rem; }
}

.qualification-background{max-width:86ch;margin:0 0 40px;}
.qualification-background p{line-height:1.7;margin:0 0 20px;}
.qualification-documents .recovery-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.qualification-documents article{display:flex;flex-direction:column;align-items:flex-start;}
.qualification-logo{height:120px;width:100%;display:flex;align-items:center;justify-content:flex-start;margin-bottom:28px;}
.qualification-logo img{display:block;width:auto;height:auto;max-width:190px;max-height:112px;object-fit:contain;}
.qualification-documents .qualification-standards{list-style:none;padding:0;margin:0 0 20px;font-size:1rem;line-height:1.8;}
.qualification-document-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:auto;}
@media(min-width:761px) and (max-width:1080px){.qualification-documents .recovery-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
.qualification-documents .qualification-note{max-width:80ch;margin-top:32px;}
@media(max-width:760px){.qualification-documents .recovery-card-grid{grid-template-columns:minmax(0,1fr);}}
