/* Final page-family composition checks against the original Umbraco bundles.
   No content, routes, assets, form contracts, or global hero styles change here. */

/* The published response timeline still carries absolute nodes and inline left
   offsets. Its new reading rows must participate in normal document flow. */
.firm-edition.page-crisis .inner-site .stage-tl {
  margin-top:48px;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  overflow:visible;
}
.firm-edition.page-crisis .inner-site .stage-tl::before {content:none}
.firm-edition.page-crisis .inner-site .stage-track {
  display:block;
  position:relative;
  min-height:0;
  margin:24px 0 0;
}
.firm-edition.page-crisis .inner-site .stage-nodes {
  position:static;
  inset:auto;
  display:grid;
  grid-template-columns:minmax(0,1fr);
}
.firm-edition.page-crisis .inner-site .stage-node {
  position:static;
  width:auto;
  max-width:none;
  transform:none;
  text-align:start;
  align-items:start;
}
.firm-edition.page-crisis .inner-site .stage-node .sp {margin:0;align-self:start}
.firm-edition.page-crisis .inner-site .stage-node .st {display:none}
.firm-edition.page-crisis .inner-site .stage-node .sl-wrap {align-items:start}
.firm-edition.page-crisis .inner-site .stage-node .sl {align-self:start;margin:0}
.firm-edition.page-crisis .inner-site .stage-node .sd {margin:0;max-width:65ch}
.firm-edition.page-crisis .inner-site .turn-grid .mission>.mt {min-width:0;flex:1 1 280px;max-width:100%}

/* Open practice rows align with their section titles at every breakpoint. */
.firm-edition.page-services .inner-site .cat-grid>.ocard:not(.ocard-feat) {padding-inline:0}
.firm-edition:is(.page-offensive,.page-consulting) .inner-site .disc-grid>.ocard>.head {min-width:0}
.firm-edition:is(.page-offensive,.page-consulting) .inner-site .disc-grid>.ocard>.head h3 {overflow-wrap:break-word}

/* A portrait occupies its actual grid column. The legacy 160px circle cannot
   overrun the 104px phone column or crop the original square photographs. */
.firm-edition.page-about-us .inner-site .lead-grid>.pcard {text-align:start;align-items:start}
.firm-edition.page-about-us .inner-site .lead-grid>.pcard .portrait:has(img) {
  width:100%;
  height:auto;
  max-height:none;
  aspect-ratio:1;
}
.firm-edition.page-about-us .inner-site .lead-grid>.pcard .portrait img {border-radius:0}
.firm-edition.page-about-us .inner-site .lead-grid>.pcard>.role {align-self:start}
.firm-edition.page-about-us .inner-site .lead-grid>.pcard:hover,
.firm-edition.page-careers .inner-site .role-grid>.rcard:hover,
.firm-edition.page-partner .inner-site :is(.plat,.ptype):hover {transform:none;box-shadow:none}
.firm-edition.page-about-us .inner-site .lead-grid>.pcard::before,
.firm-edition.page-careers .inner-site .role-grid>.rcard::before,
.firm-edition.page-partner .inner-site :is(.plat,.ptype)::before {content:none}

/* Roles and partner capabilities retain their real words at a readable scale. */
.firm-edition.page-careers .inner-site .rcard .meta>span {
  font-size:13px;
  line-height:1.6;
  letter-spacing:0;
  text-transform:none;
}
.firm-edition.page-careers .inner-site .role-grid>.rcard {overflow:visible}
.firm-edition.page-careers .inner-site .rcard .rc-req>ul>li,
.firm-edition.page-partner .inner-site :is(.plat,.ptype)>ul>li {font-size:15px;line-height:1.75}
.firm-edition.page-partner .inner-site .plat>.go {align-self:start;min-height:44px;display:inline-flex;align-items:center}
.firm-edition.page-partner .inner-site .ptype>ul {padding-inline-start:0}

/* The Insights lead is an open spread, not the old card with a second inset.
   Explicit dimensions also remove the legacy 440px forced media height. */
.firm-edition.page-insights .inner-site .feat {overflow:visible;box-shadow:none;transform:none}
.firm-edition.page-insights .inner-site .feat::before {content:none}
.firm-edition.page-insights .inner-site .feat-body {padding:0;display:block}
.firm-edition.page-insights .inner-site .feat-art {min-height:0}
.firm-edition.page-insights .inner-site .feat-art::after {content:none}
.firm-edition.page-insights .inner-site .feat-art img {filter:none;transform:none}
.firm-edition.page-insights .inner-site .feat-link {max-width:100%;width:auto}
.firm-edition.page-insights .inner-site .prows .prow:hover {transform:none;box-shadow:none}
.firm-edition.page-insights .inner-site .prows .prow-meta {flex-wrap:wrap;white-space:normal;gap:8px 16px}
.firm-edition.page-insights .inner-site .prows.as-grid .prow-main>p {
  display:block;
  -webkit-line-clamp:unset;
  line-clamp:unset;
  overflow:visible;
}

/* Research typography follows the reading column. Native markers keep actual
   ordered sequences meaningful without the old glowing diamonds/counter boxes. */
.firm-edition.page-article .inner-site .art-body .art-h2 {padding-inline:0}
.firm-edition.page-article .inner-site .art-body .art-h2::before {content:none}
.firm-edition.page-article .inner-site .art-body .art-p.dropcap::first-letter {
  float:none;
  padding:0;
  font:inherit;
  color:inherit;
  background:none;
  -webkit-text-fill-color:currentColor;
}
.firm-edition.page-article .inner-site .art-body :is(.art-ul,.art-ol) {padding:0;padding-inline-start:1.4em}
.firm-edition.page-article .inner-site .art-body .art-ul {list-style:disc outside}
.firm-edition.page-article .inner-site .art-body .art-ol {list-style:decimal outside}
.firm-edition.page-article .inner-site .art-body .art-ol .art-ol {list-style-type:lower-alpha}
.firm-edition.page-article .inner-site .art-body :is(.art-ul,.art-ol)>li {padding:0;line-height:1.8;margin-block:0 12px}
.firm-edition.page-article .inner-site .art-body :is(.art-ul,.art-ol)>li::before {content:none}
.firm-edition.page-article .inner-site .art-body :is(.art-ul,.art-ol)>li::marker {color:#8cabc9}
.firm-edition.page-article .inner-site .art-body :is(pre,table) {overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#49617f #0b1625}
.firm-edition.page-article .inner-site .art-body .toc a {overflow-wrap:break-word}
.firm-edition.page-article .inner-site .art-body :is(h2,h3,h4) {scroll-margin-top:112px}

/* The published policy is a reading page, with its own measured text column. */
.firm-edition.page-privacy .inner-site .policy>.wrap {max-width:900px}
.firm-edition.page-privacy .inner-site .policy>.wrap>div {max-width:74ch}
.firm-edition.page-privacy .inner-site .policy a {overflow-wrap:anywhere}

@media(min-width:601px) and (max-width:900px) {
  /* The evidence sits beside the course identity here, so four nested columns
     were narrower than their own three-digit hour values and translated labels. */
  .firm-edition.page-academy .inner-site article.track .track-evidence>.track-stats {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
  }
}
@media(max-width:1000px) {
  /* Non-demo forms keep an uninterrupted input column at tablet widths. */
  .firm-edition.page-form .inner-site:has(#quoteForm,#applyForm) .form-layout {grid-template-columns:minmax(0,1fr);gap:32px}
  .firm-edition.page-form .inner-site:has(#quoteForm,#applyForm) .form-layout>.aside {position:static}
}
@media(min-width:601px) and (max-width:1000px) {
  .firm-edition.page-form .inner-site:has(#quoteForm,#applyForm) .form-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px) {
  /* Retain comfortable reading measures rather than squeezing question panels
     and service explanations into two small phone columns. */
  .firm-edition:is(.page-defensive,.page-crisis) .inner-site .qgrid,
  .firm-edition.page-defensive .inner-site #agentic .disc-grid {grid-template-columns:minmax(0,1fr)}
  .firm-edition:is(.page-defensive,.page-crisis) .inner-site .qgrid>.qcard {padding:28px}
  .firm-edition.page-crisis .inner-site .stage-tl {margin-top:32px}
  .firm-edition.page-crisis .inner-site .stage-nodes {padding:6px 24px}
  .firm-edition.page-crisis .inner-site .stage-node .sl-wrap {display:block}
  .firm-edition.page-crisis .inner-site .stage-node .sl {margin-bottom:14px}
  .firm-edition.page-academy .inner-site .curriculum-module summary .mt {overflow-wrap:break-word}
}
@media(max-width:600px) {
  .firm-edition.page-academy .inner-site article.track .track-actions>.btn {margin-top:14px;max-width:100%;white-space:normal;text-align:start}
  .firm-edition.page-academy .inner-site .academy-journey-dialog .track-identity {padding-inline:0}
  .firm-edition.page-careers .inner-site .role-grid>.rcard>.rc-req,
  .firm-edition.page-careers .inner-site .role-grid>.rcard:last-child:nth-child(odd)>.rc-req {padding:24px}
  .firm-edition.page-partner .inner-site .ptype-head {align-items:start}
  .firm-edition.page-form .inner-site:has(#quoteForm,#applyForm) .form-grid {grid-template-columns:minmax(0,1fr)}
  .firm-edition.page-insights .inner-site .prows.as-list .prow {grid-template-columns:96px minmax(0,1fr);column-gap:20px}
  .firm-edition.page-insights .inner-site .prows.as-list .prow-art {width:100%}
}
@media(max-width:380px) {
  .firm-edition.page-insights .inner-site .prows.as-list .prow {grid-template-columns:minmax(0,1fr);gap:18px}
  .firm-edition.page-insights .inner-site .prows.as-list .prow>:is(.prow-art,.prow-main,.prow-meta) {grid-column:1;grid-row:auto}
  .firm-edition.page-insights .inner-site .prows.as-list .prow-art {aspect-ratio:16/9}
}
@media(min-width:1200px) {
  html[dir=rtl] .firm-edition.page-article .inner-site .art-body {margin:0 304px 0 0}
  html[dir=rtl] .firm-edition.page-article .inner-site .art-body>.toc {float:right;margin:0 -304px 0 0;padding:0 0 0 10px}
}
@media print {
  html[dir=rtl] .firm-edition.page-article .inner-site .art-body {margin:0}
  html[dir=rtl] .firm-edition.page-article .inner-site .art-body>.toc {float:none;margin:0 0 32px;padding:0}
}
