/* Local editorial layouts for informational subpages. Homepage and image-led
   product/industry pages intentionally do not load this stylesheet. */
.page-editorial { --editorial-ink: #172d46; --editorial-muted: #526477; --editorial-line: #dce3e9; --editorial-paper: #f5f7f8; }
.page-editorial .page-hero {
  background: var(--editorial-paper);
  padding: 4.5rem 0 4rem;
  border-bottom: 1px solid var(--editorial-line);
}
.page-editorial .page-hero::after { content: none; }
.page-editorial main .eyebrow,
.page-editorial main .tag { padding: 0; border: 0; border-radius: 0; background: none; color: #536f89; font-size: .75rem; font-weight: 500; letter-spacing: .08em; }
.page-editorial .page-hero h1 { max-width: 960px; color: var(--editorial-ink); font-size: clamp(2rem,3.7vw,3rem); font-weight: 600; line-height: 1.45; letter-spacing: -.025em; margin: 1rem 0 1.4rem; text-wrap: balance; }
.page-editorial .page-hero .lead { max-width: 820px; color: var(--editorial-muted); font-size: 1.0625rem; line-height: 1.9; }
.page-editorial .page-hero .lead strong { color: var(--editorial-ink); font-weight: 600; }
.page-editorial .page-hero a { color: #124b91; text-decoration: underline; text-underline-offset: .25em; overflow-wrap: anywhere; }
.page-editorial .content-block { padding-block: clamp(3rem,5vw,5rem); }
.page-editorial .content-block--surface { background: var(--editorial-paper); }
.page-editorial .section-head { text-align: left; max-width: none; margin: 0 0 2.5rem; }
.page-editorial .section-title { color: var(--editorial-ink); font-size: clamp(1.5rem,2.6vw,2rem); line-height: 1.5; letter-spacing: -.02em; font-weight: 600; text-align: inherit; }
.page-editorial .section-desc { max-width: 760px; margin: .75rem 0 0; font-size: 1rem; line-height: 1.85; color: var(--editorial-muted); }
.page-editorial .prose { min-width: 0; }
.page-editorial .prose h2 { font-size: 1.5rem; line-height: 1.5; font-weight: 600; margin: 2.5rem 0 1rem; color: var(--editorial-ink); }
.page-editorial .prose h2:first-child { margin-top: 0; }
.page-editorial .prose h3 { font-size: 1.125rem; line-height: 1.6; font-weight: 600; color: var(--editorial-ink); }
.page-editorial .prose p,
.page-editorial .prose li { font-size: 1rem; line-height: 1.9; color: var(--editorial-muted); }
.page-editorial .prose .check-list { grid-template-columns: 1fr; padding-left: 0; list-style: none; gap: .6rem; }
.page-editorial .prose a { text-decoration-color: #b6c9dc; text-underline-offset: .22em; }
.page-editorial main .card,
.page-editorial main .pillar-card { border: 0; border-top: 1px solid var(--editorial-line); border-radius: 0; background: transparent; padding: 1.75rem 0; box-shadow: none; }
.page-editorial main .card:hover,
.page-editorial main .pillar-card:hover { transform: none; border-color: var(--editorial-line); box-shadow: none; }
.page-editorial main .card h3,
.page-editorial main .pillar-card h3 { font-size: 1.2rem; font-weight: 600; line-height: 1.6; }
.page-editorial main .card p,
.page-editorial main .pillar-card p { font-size: .9375rem; line-height: 1.9; color: var(--editorial-muted); }
.page-editorial main .badge { border: 0; border-radius: 0; background: none; padding: 0; color: #5d7083; font-size: .75rem; font-weight: 400; }
.page-editorial .badge-list { gap: .5rem 1rem; }
.page-editorial main .btn { border-radius: 3px; box-shadow: none; min-height: 44px; font-weight: 500; transform: none; }
.page-editorial main .btn-primary,
.page-editorial main .btn-accent { background: #124b91; border-color: #124b91; color: #fff; }
.page-editorial main .btn-primary:hover,
.page-editorial main .btn-accent:hover { background: #103c72; border-color: #103c72; }
.page-editorial main .btn-ghost { background: transparent; border-color: #a9bdd1; color: #173b64; }
.page-editorial main .btn-ghost:hover { background: #e8eef4; }
.page-editorial main .btn[disabled] { background: #e9edf1; border-color: #d7dfe6; color: #627181; opacity: 1; cursor: not-allowed; }
.page-editorial .callout { border: 0; border-left: 2px solid #7892ab; border-radius: 0; background: #f3f6f8; padding: 1.5rem; }
.page-editorial .table-wrap { overflow-x: auto; }
.page-editorial .table-like { font-size: .875rem; }
.page-editorial .table-like th,
.page-editorial .table-like td { padding: 1rem .75rem; vertical-align: top; line-height: 1.8; }
.page-editorial a:focus-visible,
.page-editorial button:focus-visible,
.page-editorial summary:focus-visible { outline: 3px solid #3184b5; outline-offset: 4px; }

/* Service pages: one reading path, numbered work steps, readable FAQ. */
.editorial-split { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); gap: clamp(2rem,5vw,5rem); align-items: start; }
.editorial-split > h2 { font-size: 1.65rem; line-height: 1.55; font-weight: 600; color: var(--editorial-ink); }
.editorial-split > .section-head { margin-bottom: 0; }
.service-overview-list { border-top: 1px solid var(--editorial-line); }
.service-overview-item { padding: 1.75rem 0; border-bottom: 1px solid var(--editorial-line); }
.service-overview-item:first-child { padding-top: 1.5rem; }
.service-overview-item h3 { font-size: 1.3rem; font-weight: 600; color: var(--editorial-ink); margin-bottom: .65rem; }
.service-overview-item p { color: var(--editorial-muted); font-size: 1rem; line-height: 1.9; }
.service-overview-item p:last-child { margin-top: .8rem; font-size: .875rem; }
.service-overview-item a { display: inline-block; padding-block: .4rem; }
.service-step { display: grid; grid-template-columns: 2.75rem minmax(0,1fr); gap: 1.25rem; padding: 1.65rem 0; border-top: 1px solid #cfd9e3; }
.service-step:first-child { padding-top: 0; border-top: 0; }
.service-step__number { font-family: var(--font-mono); color: #6a849d; font-size: 1.1rem; line-height: 1.8; }
.service-step h3 { font-size: 1.2rem; font-weight: 600; color: var(--editorial-ink); margin-bottom: .65rem; }
.service-step p { font-size: 1rem; color: var(--editorial-muted); line-height: 1.9; }
.service-deliverables { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4rem; }
.service-deliverables > div + div { border-left: 1px solid var(--editorial-line); padding-left: 3rem; }
.page-service .service-related { line-height: 2.3; }
.page-service .service-source { font-size: .8125rem; margin-top: 1.5rem; }
.page-editorial details { border: 0; border-bottom: 1px solid #cfd9e3; border-radius: 0; padding: 0; background: transparent; box-shadow: none; }
.page-editorial summary { cursor: pointer; padding: 1.15rem 0; color: var(--editorial-ink); font-size: 1.0625rem; font-weight: 500; line-height: 1.75; }
.page-editorial details > p { padding: 0 0 1.25rem; }
.page-editorial details[open] { background: transparent; }
.page-service .service-contact { border-top: 1px solid var(--editorial-line); }
.page-service .service-contact .prose { max-width: var(--container-max); }
.page-service .service-contact p { max-width: 760px; }

/* Company and partners: main narrative alongside practical information. */
.about-intro { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,.75fr); gap: 5rem; }
.business-scope-list { border-top: 1px solid var(--editorial-line); }
.business-scope-list article { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 3rem; padding: 2rem 0; border-bottom: 1px solid var(--editorial-line); }
.business-scope-list h3 { color: var(--editorial-ink); font-size: 1.2rem; font-weight: 600; line-height: 1.65; }
.business-scope-list p { color: var(--editorial-muted); font-size: 1rem; line-height: 1.9; }
.business-scope-list .business-scope-note { margin-top: .75rem; font-size: .875rem; color: #607386; }
.about-principles { border-left: 1px solid var(--editorial-line); padding-left: 2.5rem; }
.page-company .about-principles .card:first-child { border-top: 0; padding-top: 0; }
.page-company .timeline::before,
.page-company .timeline__item::before { content: none; }
.page-company .timeline { padding-left: 0; }
.page-company .timeline__item { display: grid; grid-template-columns: 160px minmax(0,1fr); gap: .6rem 2.5rem; padding: 1.75rem 0; margin: 0; border-top: 1px solid var(--editorial-line); }
.page-company .timeline__year { grid-row: 1 / 3; padding: 0; background: none; border: 0; font-size: .875rem; color: #5a7590; }
.page-company .timeline__item h3 { margin: 0; font-size: 1.15rem; line-height: 1.6; font-weight: 600; }
.page-company .timeline__item p { grid-column: 2; margin: 0; line-height: 1.85; }
.page-partners .partner-rows > .pillar-card { display: grid; grid-template-columns: minmax(0,.65fr) minmax(0,1.35fr); gap: .75rem 4rem; }
.partner-rows h3 { grid-row: 1 / 3; }
.partner-rows p,
.partner-rows .badge-list { grid-column: 2; margin: 0; }
.page-careers .pillar-grid,
.page-platform .card-grid { gap: 2.5rem; }

/* Articles: category and date in a gutter, title and summary in one column. */
.journal-topics { display: flex; flex-wrap: wrap; gap: 1rem 1.75rem; border-bottom: 1px solid var(--editorial-line); padding-bottom: 1.25rem; margin-bottom: 0; }
.page-journal .journal-topics .badge { font-size: .875rem; }
.page-journal .news-grid { display: block; }
.page-journal main .news-card { border: 0; border-bottom: 1px solid var(--editorial-line); border-radius: 0; background: transparent; }
.page-journal main .news-card:hover { border-color: var(--editorial-line); }
.page-journal .news-card__body { display: grid; grid-template-columns: 150px minmax(0,1fr) 115px; gap: .6rem 2rem; padding: 2rem 0; border: 0; }
.page-journal .news-card__meta { grid-row: 1 / 3; display: flex; flex-direction: column; align-items: flex-start; gap: .5rem; margin: 0; padding-top: .3rem; color: #65798d; }
.page-journal .news-card h3 { grid-column: 2; font-size: 1.25rem; line-height: 1.6; font-weight: 600; margin: 0; }
.page-journal .news-card p { grid-column: 2; margin: 0; font-size: .9375rem; line-height: 1.85; }
.page-journal .news-card__body > a { grid-column: 3; grid-row: 1 / 3; align-self: center; justify-self: end; padding-block: .75rem; }

/* Cases: preserve every disclosure and delivery item in a readable case study. */
.page-case-studies .case-grid { display: block; }
.page-case-studies .case-card { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); gap: 4rem; padding: 2.5rem 0; border: 0; border-top: 1px solid var(--editorial-line); border-radius: 0; box-shadow: none; }
.page-case-studies .case-card:hover { transform: none; box-shadow: none; }
.case-context { align-self: start; position: sticky; top: 100px; }
.page-case-studies .case-context h2 { font-size: 1.6rem; line-height: 1.6; font-weight: 600; color: var(--editorial-ink); }
.page-case-studies .case-card__industry { margin-bottom: .9rem; font-size: .75rem; color: #617b93; }
.case-chapter { padding-bottom: 1.5rem; }
.page-case-studies .case-chapter h3 { font-size: .9375rem; font-weight: 600; line-height: 1.7; color: #36546f; margin: 0 0 .6rem; }
.page-case-studies .case-card__desc,
.page-case-studies .case-chapter li { font-size: 1rem; line-height: 1.9; color: var(--editorial-muted); }
.case-chapter ul { padding-left: 1.1rem; list-style: disc; }
.page-case-studies .case-chapter:nth-last-child(-n+2) { border-top: 1px solid var(--editorial-line); padding-top: 1.25rem; }
.page-case-studies .case-chapter:nth-last-child(-n+2) p { font-size: .875rem; }

/* Contact: the email is primary; the existing non-submitting reference stays. */
.page-contact .contact-grid { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 5rem; }
.page-contact .contact-info h2 { font-size: 1.5rem; font-weight: 600; }
.page-contact .contact-item { margin-bottom: 0; padding-block: 1.15rem; }
.page-contact .contact-item__label { font-size: .75rem; color: #6b7f93; margin-bottom: .35rem; }
.page-contact .contact-item__value { font-size: 1rem; }
.page-contact .contact-item:first-of-type .contact-item__value { font-size: 1.3rem; }
.page-contact .contact-reference { padding: 0 0 0 3rem; border: 0; border-left: 1px solid var(--editorial-line); background: transparent; border-radius: 0; box-shadow: none; }
.contact-reference__names { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.page-contact .form-control { border-radius: 3px; border-color: #cbd7e2; background: #fff; box-shadow: none; }
.page-contact .form-control:focus { border-color: #3e719e; outline: 2px solid #d9e6f0; }
.page-contact .form-group label { font-size: .875rem; font-weight: 500; }
.page-contact .form-contact-link a { display: inline-block; font-size: .9375rem; text-decoration: underline; text-underline-offset: .2em; }
.page-help .faq-list { margin-inline: 0; }
.page-help .faq-contact-cta { margin: 1.5rem 0; }
.page-delivery .delivery-editorial-track { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 2rem; }
.page-delivery .steps-grid::before { content: none; }
.page-delivery .step-card { padding: 1.5rem 0; border: 0; border-top: 1px solid var(--editorial-line); border-radius: 0; background: none; box-shadow: none; text-align: left; }
.page-delivery .step-num { width: auto; height: auto; margin: 0 0 1rem; border: 0; border-radius: 0; background: none; color: #6a849d; box-shadow: none; justify-content: flex-start; font-size: 1.5rem; }
.page-delivery .step-card h3 { font-size: 1.15rem; font-weight: 600; }
.page-delivery .step-card p { font-size: .9375rem; line-height: 1.85; }

@media (max-width: 1000px) {
  .about-intro,
  .page-contact .contact-grid { gap: 2.5rem; }
  .page-journal .news-card__body { grid-template-columns: 110px minmax(0,1fr); gap: .75rem 1.5rem; }
  .page-journal .news-card__body > a { grid-row: auto; grid-column: 2; justify-self: start; }
  .page-delivery .delivery-editorial-track { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 768px) {
  .page-editorial .page-hero { padding-block: 2.75rem; }
  .page-editorial .page-hero h1 { font-size: clamp(1.75rem,6.5vw,2.4rem); line-height: 1.5; text-wrap: pretty; }
  .page-editorial .page-hero .lead { font-size: 1rem; }
  .editorial-split,
  .service-deliverables,
  .about-intro,
  .page-contact .contact-grid,
  .page-case-studies .case-card { grid-template-columns: 1fr; gap: 1.75rem; }
  .service-deliverables > div + div,
  .about-principles,
  .page-contact .contact-reference { padding: 1.75rem 0 0; border-left: 0; border-top: 1px solid var(--editorial-line); }
  .page-partners .partner-rows > .pillar-card { grid-template-columns: 1fr; gap: .6rem; }
  .partner-rows h3 { grid-row: auto; }
  .partner-rows p,
  .partner-rows .badge-list { grid-column: 1; }
  .page-company .timeline__item { grid-template-columns: 1fr; gap: .5rem; }
  .page-company .timeline__year { grid-row: auto; }
  .page-company .timeline__item p { grid-column: 1; }
  .page-journal .news-card__body { grid-template-columns: 1fr; gap: .7rem; padding: 1.75rem 0; }
  .page-journal .news-card__meta { grid-row: auto; flex-direction: row; gap: 1rem; }
  .page-journal .news-card h3,
  .page-journal .news-card p,
  .page-journal .news-card__body > a { grid-column: 1; grid-row: auto; }
  .page-journal .news-card h3 { font-size: 1.15rem; }
  .case-context { position: static; }
  .business-scope-list article { grid-template-columns: 1fr; gap: .8rem; }
  .page-case-studies .case-context h2 { font-size: 1.4rem; }
  .page-editorial .back-top { bottom: 5.5rem; right: 1rem; }
}
@media (max-width: 440px) {
  .page-delivery .delivery-editorial-track { grid-template-columns: 1fr; }
  .contact-reference__names { grid-template-columns: 1fr; gap: 0; }
  .service-step { grid-template-columns: 1.75rem minmax(0,1fr); gap: .75rem; }
}

/* Shared subpage contact band, including the image-led pages. */
.page-subpage .cta-band { padding: 3.5rem 0; background: #f1f5f8; border-top: 1px solid #dce3e9; text-align: left; }
.page-subpage .cta-band::before { content: none; }
.page-subpage .cta-band h2 { color: #172d46; font-size: clamp(1.5rem,2.6vw,2rem); font-weight: 600; line-height: 1.5; }
.page-subpage .cta-band p { color: #526477; font-size: 1rem; max-width: 750px; line-height: 1.85; margin-inline: 0; }
.page-subpage .cta-band .cta-row { justify-content: flex-start; margin-top: 1.5rem; }
.page-subpage .cta-band .btn { border-radius: 3px; box-shadow: none; min-height: 44px; font-weight: 500; transform: none; }
.page-subpage .cta-band .btn:hover { box-shadow: none; transform: none; }
.page-subpage .cta-band .btn-primary,
.page-subpage .cta-band .btn-accent { background: #124b91; border-color: #124b91; color: #fff; }
.page-subpage .cta-band .btn-primary:hover,
.page-subpage .cta-band .btn-accent:hover { background: #103c72; border-color: #103c72; }
.page-subpage .cta-band .btn-ghost { background: transparent; border-color: #a9bdd1; color: #173b64; }
.page-subpage .cta-band .btn-ghost:hover { background: #e8eef4; }
@media (max-width: 768px) {
  .page-subpage .cta-band .cta-row { align-items: flex-start; }
}
