/* Technical Layout V2 — shared structured-page layer for P22–P31. */
body.ak-structured-v2 {
  --ak-section-major: var(--space-section-major);
  --ak-section-standard: var(--space-section);
  --ak-section-compact: var(--space-section-compact);
  --ak-heading-gap: var(--space-content-gap);
}
body.ak-structured-v2 .ak-structured-main > * { margin-block-start: 0; }
body.ak-structured-v2 .ak-breadcrumb {
  max-width: 88rem;
  padding-block: 1.25rem;
  border-bottom: 1px solid var(--ak-line);
  color: var(--ak-muted);
}
body.ak-structured-v2 .ak-service-hero {
  display: flex;
  align-items: center;
  max-width: 88rem;
  min-height: 0;
  padding-block: 4rem 5rem;
  border-bottom: 1px solid var(--ak-line);
}
body.ak-structured-v2 .ak-service-hero-copy { width: 100%; max-width: 64rem; margin: 0; }
body.ak-structured-v2 .ak-service-hero h1 {
  max-width: 62rem;
  margin-top: 1.5rem;
  font-size: clamp(4.5rem,6.2vw,5.5rem);
  line-height: .98;
  letter-spacing: -.055em;
  overflow-wrap: anywhere;
}
body.ak-structured-v2 .ak-service-hero p {
  max-width: 45rem;
  margin-top: 2rem;
  color: var(--ak-muted);
  font-size: 1.25rem;
  line-height: 1.55;
}
body.ak-structured-v2 .ak-service-body > .ak-section { padding-block: var(--ak-section-standard); }
body.ak-structured-v2 .ak-service-body > .ak-section + .ak-section { border-top: 1px solid var(--ak-line); }
body.ak-structured-v2 .ak-page-intro,
body.ak-structured-v2 .ak-page-approach { border-top: 0; }
body.ak-structured-v2 :is(.ak-page-intro,.ak-page-responsibilities,.ak-service-faq,.ak-functional-intro) > h2,
body.ak-structured-v2 .ak-page-editorial-list > h2 {
  max-width: 56rem;
  font-size: clamp(3rem,4.3vw,4rem);
  line-height: 1.04;
  letter-spacing: -.05em;
  overflow-wrap: anywhere;
}

/* P22 — detailed process, responsibility matrix and native FAQ. */
body.p22.ak-structured-v2 .ak-page-intro {
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  column-gap: var(--ak-grid-gap);
  padding-block: var(--ak-section-major);
}
body.p22.ak-structured-v2 .ak-page-intro > h2,
body.p22.ak-structured-v2 .ak-page-intro > .ak-scope-copy { grid-column: 4/12; }
body.p22.ak-structured-v2 .ak-page-intro > .ak-scope-copy { max-width: 49rem; margin-top: 2.5rem; }
body.p22.ak-structured-v2 .ak-page-intro p { font-size: 1.125rem; line-height: 1.65; }
.ak-process-detail {
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  column-gap: var(--ak-grid-gap);
  border-top: 1px solid var(--ak-line);
}
.ak-process-detail > .ak-editorial-heading { grid-column: 1/-1; margin-bottom: var(--ak-heading-gap); }
.ak-process-detail > .ak-editorial-heading h2 {
  max-width: 56rem;
  font-size: clamp(3rem,4.3vw,4rem);
  line-height: 1.04;
  letter-spacing: -.05em;
  overflow-wrap: anywhere;
}
.ak-process-detail-list {
  grid-column: 1/-1;
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 2px solid var(--ak-ink);
}
.ak-process-detail-list > li {
  display: grid;
  grid-template-columns: 4.5rem minmax(0,4fr) minmax(0,7fr);
  gap: var(--ak-grid-gap);
  min-width: 0;
  padding-block: 2.75rem;
  border-bottom: 1px solid var(--ak-line);
}
.ak-process-detail-list .ak-number {
  padding-top: .125rem;
  color: var(--ak-action);
  font-size: 2.75rem;
  line-height: 1;
  letter-spacing: -.07em;
}
.ak-process-detail-copy,.ak-process-detail-meta,.ak-process-detail-meta > div { min-width: 0; }
.ak-process-detail-copy h3 { max-width: 24rem; font-size: 1.75rem; line-height: 1.2; letter-spacing: -.035em; }
.ak-process-detail-copy > p { max-width: 34rem; margin-top: 1.25rem; color: var(--ak-muted); line-height: 1.65; }
.ak-process-detail-meta { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--ak-grid-gap); }
.ak-process-detail-meta > div { padding-top: 1.25rem; border-top: 1px solid var(--ak-line); }
.ak-process-detail-meta p + p { margin-top: 1rem; color: var(--ak-muted); line-height: 1.65; }
.ak-process-label { font: 500 .75rem/1.5 'IBM Plex Mono',monospace; letter-spacing: .055em; text-transform: uppercase; color: var(--ak-action); }

body.p22.ak-structured-v2 .ak-page-responsibilities,
body.p22.ak-structured-v2 .ak-service-faq {
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  column-gap: var(--ak-grid-gap);
}
body.p22.ak-structured-v2 :is(.ak-page-responsibilities,.ak-service-faq) > h2 { grid-column: 4/12; margin-bottom: var(--ak-heading-gap); }
body.p22.ak-structured-v2 .ak-responsibility-grid { grid-column: 1/-1; gap: 0; border-top: 2px solid var(--ak-ink); counter-reset: ak-responsibility; }
body.p22.ak-structured-v2 .ak-responsibility { min-height: 21.25rem; padding: 2.25rem 2.25rem 2.75rem; counter-increment: ak-responsibility; }
body.p22.ak-structured-v2 .ak-responsibility:first-child { padding-left: 0; }
body.p22.ak-structured-v2 .ak-responsibility:last-child { padding-right: 0; }
body.p22.ak-structured-v2 .ak-responsibility::before {
  content: counter(ak-responsibility,decimal-leading-zero);
  display: block;
  color: var(--ak-action);
  font: 500 .8125rem/1.5 'IBM Plex Mono',monospace;
}
body.p22.ak-structured-v2 .ak-responsibility h3 {
  min-height: 5rem;
  max-width: 20rem;
  margin-top: 4.25rem;
  font-size: 2rem;
  line-height: 1.15;
  letter-spacing: -.03em;
}
body.p22.ak-structured-v2 .ak-responsibility p { max-width: 23rem; margin-top: 1.5rem; color: var(--ak-muted); line-height: 1.65; }
body.p22.ak-structured-v2 .ak-page-responsibilities > p { grid-column: 1/-1; max-width: 45rem; margin-top: 2.5rem; color: var(--ak-muted); }
body.p22.ak-structured-v2 .ak-faq-list { grid-column: 1/-1; max-width: none; border-top: 2px solid var(--ak-ink); }

/* P23 — manifesto, CO01 plate and two numbered editorial lists. */
body.p23.ak-structured-v2 .ak-page-approach {
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  column-gap: var(--ak-grid-gap);
  align-items: center;
  padding-block: var(--ak-section-major);
}
body.p23.ak-structured-v2 .ak-page-approach > h2 {
  grid-column: 1/6;
  grid-row: 1;
  max-width: 60rem;
  font-size: clamp(3.5rem,5.25vw,4.75rem);
  line-height: 1.01;
  letter-spacing: -.055em;
  overflow-wrap: anywhere;
}
body.p23.ak-structured-v2 .ak-page-approach > .ak-scope-copy { grid-column: 8/13; grid-row: 1; max-width: 49rem; margin-top: 0; }
body.p23.ak-structured-v2 .ak-page-approach p { font-size: 1.125rem; line-height: 1.65; }
body.p23.ak-structured-v2 .ak-corporate-context-visual { grid-column: 1/-1; grid-row: 2; margin: 4rem 0 0; min-width: 0; }
body.p23.ak-structured-v2 .ak-corporate-context-picture .ak-editorial-picture-image {
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 16/9;
  border-radius: 0;
  box-shadow: none;
  object-fit: cover;
}
body.p23.ak-structured-v2 .ak-page-editorial-list {
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  column-gap: var(--ak-grid-gap);
}
body.p23.ak-structured-v2 .ak-page-editorial-list > h2 { grid-column: 4/12; margin-bottom: var(--ak-heading-gap); }
body.p23.ak-structured-v2 .ak-page-editorial-list > .ak-task-list { grid-column: 1/-1; border-top: 2px solid var(--ak-ink); }
body.p23.ak-structured-v2 .ak-task {
  grid-template-columns: 4.5rem minmax(0,1fr);
  gap: var(--ak-grid-gap);
  padding-block: 2.5rem;
  border-top: 0;
  border-bottom: 1px solid var(--ak-line);
}
body.p23.ak-structured-v2 .ak-task > .ak-number { padding-top: .25rem; color: var(--ak-action); font-size: 1.125rem; }
body.p23.ak-structured-v2 .ak-task-copy { grid-template-columns: minmax(0,4fr) minmax(0,6fr); gap: var(--ak-grid-gap); }
body.p23.ak-structured-v2 .ak-task .ak-task-label { max-width: 30rem; font-size: 1.75rem; line-height: 1.18; letter-spacing: -.035em; }
body.p23.ak-structured-v2 .ak-task-copy > p:not(.ak-task-label) { max-width: 39rem; color: var(--ak-muted); font-size: 1.0625rem; line-height: 1.6; }

/* P24–P26 shared editorial introductions. */
body.ak-functional-page.ak-structured-v2 .ak-functional-intro {
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  column-gap: var(--ak-grid-gap);
  border-bottom: 1px solid var(--ak-line);
}
body.ak-functional-page.ak-structured-v2 .ak-functional-intro > h2,
body.ak-functional-page.ak-structured-v2 .ak-functional-intro > p { grid-column: 4/12; }
body.ak-functional-page.ak-structured-v2 .ak-functional-intro > h2 { margin-bottom: 2.5rem; }
body.ak-functional-page.ak-structured-v2 .ak-functional-intro > p { max-width: 49rem; color: var(--ak-muted); font-size: 1.0625rem; line-height: 1.65; }
body.ak-functional-page.ak-structured-v2 .ak-functional-intro > p + p { margin-top: 1.5rem; }
body.p24.ak-structured-v2 .ak-contact-job {
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  gap: 0 var(--ak-grid-gap);
}
body.p24.ak-structured-v2 .ak-contact-job > h2 { grid-column: 1/7; grid-row: 1/4; max-width: 38rem; font-size: clamp(3rem,4.3vw,4rem); line-height: 1.04; letter-spacing: -.05em; }
body.p24.ak-structured-v2 .ak-contact-job > p,
body.p24.ak-structured-v2 .ak-contact-job > .wp-block-buttons { grid-column: 8/13; }
body.p24.ak-structured-v2 .ak-contact-job > p { max-width: 40rem; color: var(--ak-muted); font-size: 1.0625rem; line-height: 1.65; }
body.p24.ak-structured-v2 .ak-contact-job .wp-block-buttons { margin-top: 2rem; }

@media(min-width:64rem) {
  body.ak-structured-v2 .ak-service-hero .ak-section-eyebrow { margin-top: 0; }
}

@media(max-width:63.999rem) {
  body.ak-structured-v2 {
    --ak-section-major: clamp(5.5rem,9vw,6rem);
    --ak-section-standard: clamp(5rem,8vw,5.5rem);
    --ak-section-compact: clamp(4rem,6vw,4.5rem);
    --ak-heading-gap: clamp(3rem,5vw,3.5rem);
  }
  body.ak-structured-v2 .ak-service-hero { min-height: 0; padding-block: var(--ak-section-standard); }
  body.ak-structured-v2 .ak-service-hero h1 { font-size: clamp(3.25rem,8vw,4.25rem); line-height: 1; }
  body.p22.ak-structured-v2 .ak-page-intro,
  body.p22.ak-structured-v2 .ak-page-responsibilities,
  body.p22.ak-structured-v2 .ak-service-faq,
  body.p23.ak-structured-v2 .ak-page-approach,
  body.p23.ak-structured-v2 .ak-page-editorial-list,
  body.ak-functional-page.ak-structured-v2 .ak-functional-intro,
  body.p24.ak-structured-v2 .ak-contact-job { display: block; }
  body.p22.ak-structured-v2 .ak-page-intro > h2,
  body.p22.ak-structured-v2 .ak-page-intro > .ak-scope-copy,
  body.p22.ak-structured-v2 :is(.ak-page-responsibilities,.ak-service-faq) > h2,
  body.p22.ak-structured-v2 :is(.ak-responsibility-grid,.ak-faq-list),
  body.p23.ak-structured-v2 .ak-page-approach > h2,
  body.p23.ak-structured-v2 .ak-page-approach > .ak-scope-copy,
  body.p23.ak-structured-v2 .ak-corporate-context-visual,
  body.p23.ak-structured-v2 .ak-page-editorial-list > h2,
  body.p23.ak-structured-v2 .ak-page-editorial-list > .ak-task-list,
  body.ak-functional-page.ak-structured-v2 .ak-functional-intro > h2,
  body.ak-functional-page.ak-structured-v2 .ak-functional-intro > p { grid-column: auto; }
  body.p22.ak-structured-v2 .ak-responsibility-grid { grid-template-columns: minmax(0,1fr); }
  body.p22.ak-structured-v2 .ak-responsibility { min-height: 0; padding: 2rem 0 2.5rem; }
  body.p22.ak-structured-v2 .ak-responsibility + .ak-responsibility { border-left: 0; border-top: 1px solid var(--ak-line); }
  body.p22.ak-structured-v2 .ak-responsibility h3 { min-height: 0; max-width: none; margin-top: 2rem; }
  body.p22.ak-structured-v2 .ak-responsibility p { max-width: 45rem; margin-top: 1rem; }
  body.p23.ak-structured-v2 .ak-page-approach > h2 { max-width: 52rem; }
  body.p23.ak-structured-v2 .ak-page-approach > .ak-scope-copy { max-width: 45rem; }
  body.p23.ak-structured-v2 .ak-corporate-context-visual { margin-top: 4rem; }
  body.p23.ak-structured-v2 .ak-task-copy { grid-template-columns: minmax(0,1fr); gap: 1rem; }
  body.p24.ak-structured-v2 .ak-contact-job > p { margin-top: 2.5rem; }
}

@media(max-width:47.999rem) {
  body.ak-structured-v2 {
    --ak-section-major: clamp(5rem,21vw,5.5rem);
    --ak-section-standard: clamp(4.75rem,19vw,5.25rem);
    --ak-section-compact: clamp(4rem,16vw,4.5rem);
    --ak-heading-gap: clamp(2.5rem,12vw,3rem);
  }
  body.ak-structured-v2 .ak-breadcrumb { padding-block: 1rem; }
  body.ak-structured-v2 .ak-service-hero { padding-block: 3rem 4.5rem; }
  body.ak-structured-v2 .ak-service-hero h1 { font-size: clamp(2.75rem,12vw,3.25rem); line-height: 1.02; }
  body.ak-structured-v2 .ak-service-hero p { margin-top: 1.5rem; font-size: 1.125rem; line-height: 1.56; }
  body.ak-structured-v2 .ak-service-body > .ak-section { padding-block: var(--ak-section-standard); }
  body.ak-structured-v2 :is(.ak-page-intro,.ak-page-responsibilities,.ak-service-faq,.ak-functional-intro) > h2,
  body.ak-structured-v2 .ak-page-editorial-list > h2,
  .ak-process-detail > .ak-editorial-heading h2,
  body.p23.ak-structured-v2 .ak-page-approach > h2,
  body.p24.ak-structured-v2 .ak-contact-job > h2 {
    font-size: clamp(2.5rem,10.75vw,2.875rem);
    line-height: 1.04;
  }
  body.p22.ak-structured-v2 .ak-page-intro > .ak-scope-copy,
  body.p23.ak-structured-v2 .ak-page-approach > .ak-scope-copy { margin-top: 2rem; }
  .ak-process-detail { display: block; }
  .ak-process-detail > .ak-editorial-heading { margin-bottom: var(--ak-heading-gap); }
  .ak-process-detail-list > li { grid-template-columns: 2.25rem minmax(0,1fr); gap: 1rem; padding-block: 2rem; }
  .ak-process-detail-list .ak-number { grid-row: 1/3; font-size: 1.75rem; }
  .ak-process-detail-copy h3 { font-size: 1.5rem; }
  .ak-process-detail-meta { grid-column: 2; grid-template-columns: minmax(0,1fr); gap: 1.5rem; margin-top: .5rem; }
  body.p22.ak-structured-v2 .ak-responsibility h3 { font-size: 1.5rem; }
  body.p23.ak-structured-v2 .ak-corporate-context-visual { margin-top: 3rem; }
  body.p23.ak-structured-v2 .ak-corporate-context-picture .ak-editorial-picture-image { aspect-ratio: 4/3; }
  body.p23.ak-structured-v2 .ak-task { grid-template-columns: 2.25rem minmax(0,1fr); gap: .75rem 1rem; padding-block: 1.75rem; }
  body.p23.ak-structured-v2 .ak-task > .ak-number { font-size: 1rem; }
  body.p23.ak-structured-v2 .ak-task .ak-task-label { font-size: 1.375rem; line-height: 1.25; }
  body.p23.ak-structured-v2 .ak-task-copy > p:not(.ak-task-label) { font-size: 1rem; line-height: 1.625; }
  body.p24.ak-structured-v2 .ak-contact-job .wp-block-button,
  body.p24.ak-structured-v2 .ak-contact-job .wp-block-button__link { width: 100%; }
}
