/* Executive AI Readiness Working Session v1 | Master Specification v7, Section 8.
   All copy retained. Page-scoped styles extend the five approved pages without
   changing shared tokens, artwork, typography, buttons or navigation layout. */
.primary-nav a[aria-current="page"], .footer-nav a[aria-current="page"] {
  color: var(--mid-blue); text-decoration: underline;
  text-decoration-thickness: 2px; text-underline-offset: .38em;
}
.session-page .session-reading { max-width: 750px; min-width: 0; }
.session-page .session-hero { padding-block: 96px 88px; }
.session-page .session-hero h1 { max-width: 860px; text-wrap: balance; font-size: 48px; line-height: 1.12; letter-spacing: -.035em; }
.session-page .session-facts { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 14px; margin-top: 28px; color: var(--mid-blue); font-size: 16px; line-height: 1.6; font-weight: 500; }
.session-page .session-fact-separator { color: var(--navy); opacity: .45; }
.session-page .session-purpose { margin-top: 44px; }
.session-page .session-purpose h2 { font-size: 30px; line-height: 1.3; margin-bottom: 24px; letter-spacing: -.022em; }
.session-page .session-intro-copy p { font-size: 18px; line-height: 1.72; }
.session-page .session-editorial { padding-block: 80px; }
.session-page .session-split { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.85fr); column-gap: 64px; align-items: start; }
.session-page .session-split h2 { font-size: 30px; line-height: 1.3; letter-spacing: -.022em; margin: 0; max-width: 340px; }
.session-page .session-fit, .session-page .session-leaders { background: var(--light-neutral); }
.session-page .session-reading p { line-height: 1.65; }
.session-page .session-intro-copy p { line-height: 1.72; }
.session-page .session-expect { padding-top: 88px; }
.session-page .session-expect > .container > h2 { margin-bottom: 40px; font-size: 34px; }
.session-page .session-before h3, .session-page .session-during h3 { font-size: 26px; line-height: 1.3; letter-spacing: -.018em; margin-bottom: 24px; }
.session-page .session-during { margin-top: 64px; }
.session-page .session-areas-intro { font-weight: 500; color: var(--navy); margin-top: 32px; }
.session-page .session-areas { padding: 0; margin: 30px 0 0; list-style: none; }
.session-page .session-area { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.85fr); column-gap: 64px; padding-block: 38px; border-top: 1px solid var(--rule); }
.session-page .session-area-heading { min-width: 0; }
.session-page .session-area-number { display: block; color: var(--mid-blue); font-weight: 500; font-size: 15px; line-height: 1.4; margin-bottom: 14px; }
.session-page .session-area h4 { margin: 0; max-width: 330px; color: var(--navy); font-size: 22px; font-weight: 600; line-height: 1.3; letter-spacing: -.018em; }
.session-page .session-area-copy { min-width: 0; max-width: 750px; }
.session-page .session-area-copy p { font-size: 17px; line-height: 1.65; }
.session-page .session-after { margin-top: 42px; padding-block: 76px 80px; background: var(--light-neutral); }
.session-page .session-deliverable { border-top: 3px solid var(--mid-blue); padding-top: 32px; }
.session-page .session-after h3 { max-width: 850px; font-size: 30px; line-height: 1.3; margin-bottom: 24px; letter-spacing: -.022em; }
.session-page .session-brief-intro { font-size: 20px; line-height: 1.55; color: var(--navy); }
.session-page .session-brief-intro strong { font-weight: 600; }
.session-page .session-brief-contents { margin: 28px 0; padding-left: 23px; }
.session-page .session-brief-contents li { padding-left: 6px; line-height: 1.65; }
.session-page .session-brief-contents li + li { margin-top: 12px; }
.session-page .session-brief-contents li::marker { color: var(--mid-blue); }
.session-page .session-leaders .actions { margin-top: 26px; }
.session-page .session-closing h2 { max-width: 820px; }
@media (max-width: 1179px) {
  .session-page .session-split, .session-page .session-area { column-gap: 48px; grid-template-columns: minmax(0,1fr) minmax(0,1.7fr); }
}
@media (max-width: 1023px) {
  .session-page .session-hero { padding-block: 78px 72px; }
  .session-page .session-hero h1 { font-size: 44px; }
  .session-page .session-facts { font-size: 15px; gap: 6px 10px; }
  .session-page .session-purpose { margin-top: 38px; }
  .session-page .session-editorial { padding-block: 72px; }
  .session-page .session-split, .session-page .session-area { column-gap: 36px; }
  .session-page .session-split h2 { font-size: 27px; }
  .session-page .session-expect { padding-top: 72px; }
  .session-page .session-expect > .container > h2 { font-size: 32px; }
  .session-page .session-during { margin-top: 56px; }
  .session-page .session-area { padding-block: 34px; }
  .session-page .session-area h4 { font-size: 21px; }
  .session-page .session-after { margin-top: 30px; padding-block: 64px 72px; }
}
@media (max-width: 767px) {
  .session-page .session-hero { padding-block: 60px 64px; }
  .session-page .session-hero h1 { font-size: 38px; line-height: 1.13; }
  .session-page .session-facts { flex-direction: column; gap: 5px; margin-top: 24px; font-size: 15px; }
  .session-page .session-fact-separator { display: none; }
  .session-page .session-purpose { margin-top: 34px; }
  .session-page .session-purpose h2 { font-size: 26px; margin-bottom: 22px; }
  .session-page .session-intro-copy p { font-size: 17px; line-height: 1.67; }
  .session-page .session-hero .btn, .session-page .session-closing .btn { width: 100%; }
  .session-page .session-editorial { padding-block: 64px; }
  .session-page .session-split { grid-template-columns: minmax(0,1fr); gap: 26px; }
  .session-page .session-split h2 { font-size: 28px; max-width: none; }
  .session-page .session-expect { padding-top: 64px; }
  .session-page .session-expect > .container > h2 { font-size: 29px; margin-bottom: 30px; }
  .session-page .session-before h3, .session-page .session-during h3 { font-size: 23px; margin-bottom: 22px; }
  .session-page .session-during { margin-top: 48px; }
  .session-page .session-areas-intro { margin-top: 28px; }
  .session-page .session-areas { margin-top: 26px; }
  .session-page .session-area { grid-template-columns: minmax(0,1fr); row-gap: 20px; padding-block: 32px; }
  .session-page .session-area-number { font-size: 14px; margin-bottom: 12px; }
  .session-page .session-area h4 { font-size: 22px; max-width: none; }
  .session-page .session-area-copy p { font-size: 16px; }
  .session-page .session-after { margin-top: 26px; padding-block: 56px 64px; }
  .session-page .session-deliverable { padding-top: 26px; }
  .session-page .session-after h3 { font-size: 27px; }
  .session-page .session-brief-intro { font-size: 18px; }
  .session-page .session-brief-contents { margin-block: 24px; padding-left: 20px; }
}
@media print {
  .session-page .session-hero, .session-page .session-editorial, .session-page .session-after { padding-block: 28px; }
  .session-page .session-expect { padding-top: 28px; }
  .session-page .session-area { break-inside: avoid; padding-block: 24px; }
}
