/* Match src/pages/AI30.css and the default theme in src/index.css. This static
   page does not load the React theme; reuse the same AI-30 token names here.
   Keep every override scoped to the delivery guide. */
.delivery-guide {
  --ai30-background: hsl(222.2 84% 4.9%);
  --ai30-foreground: hsl(210 40% 98%);
  --ai30-muted: hsl(215 20.2% 65.1%);
  --ai30-line: hsl(217.2 32.6% 17.5%);
  --ai30-surface: hsl(217.2 32.6% 17.5% / .3);
  --ai30-accent: #fb923c;
  --ai30-blue: #1e40af;
  --ai30-blue-hover: #1e3a8a;
  padding: 0;
  background: var(--ai30-background);
  color: var(--ai30-foreground);
  font-family: "Source Sans 3", sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}
.delivery-guide .page { width: min(100% - 4rem, 72rem); max-width: none; padding: 0; border-radius: 0; box-shadow: none; background: transparent; overflow-wrap: anywhere; }
.delivery-banner { display: flex; justify-content: center; align-items: center; min-height: 3rem; padding: .75rem 1rem; background: linear-gradient(to right, #c2410c, #dc2626); color: var(--ai30-foreground); font-weight: 600; text-align: center; }
.delivery-brand { color: var(--ai30-foreground); font-size: 1.125rem; font-weight: 700; text-decoration: none; }
.delivery-guide a { text-underline-offset: .22em; }
.delivery-guide a:focus-visible, .delivery-guide button:focus-visible, .delivery-guide summary:focus-visible { outline: .1875rem solid var(--ai30-accent); outline-offset: .25rem; }
.delivery-guide [id] { scroll-margin-top: 1.5rem; }
.delivery-skip { position: absolute; top: .5rem; left: .5rem; z-index: 2; transform: translateY(-200%); padding: .75rem 1rem; background: var(--ai30-blue); color: var(--ai30-foreground); }
.delivery-skip:focus { transform: translateY(0); }
.delivery-topbar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.75rem 0; border-bottom: 1px solid var(--ai30-line); }
.delivery-topbar .tl-logo-img { height: 1.75rem; max-width: 100%; object-fit: contain; }
.delivery-topbar > a:first-child { min-width: 0; }
.delivery-offer-link { flex-shrink: 0; font-size: .875rem; font-weight: 650; color: var(--ai30-foreground); text-decoration: none; padding: .5rem 0; }
.delivery-guide .delivery-hero { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .85fr); align-items: center; gap: 3rem; margin: 0; padding: 3rem 0; }
.delivery-eyebrow { color: var(--ai30-accent); font-size: .875rem; line-height: 1.5; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.delivery-hero h1 { color: var(--ai30-foreground); font-family: "Lora", Georgia, serif; margin-top: 1.5rem; font-size: clamp(2.25rem, 4vw, 3.15rem); line-height: 1.15; letter-spacing: -.025em; text-wrap: balance; }
.delivery-hero-copy > .delivery-eyebrow { display: inline-flex; padding: .375rem 1rem; border: 1px solid rgb(249 115 22 / .3); border-radius: 999px; background: rgb(249 115 22 / .1); color: #fed7aa; font-weight: 500; font-size: .875rem; letter-spacing: 0; text-transform: none; }
.delivery-intro { max-width: 33rem; margin-top: 1.375rem; font-size: 1.25rem; line-height: 1.5; font-weight: 400; color: var(--ai30-foreground); }
.delivery-lede { max-width: 34rem; margin-top: 1rem; font-size: 1rem; line-height: 1.7; color: var(--ai30-muted); }
.delivery-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; margin-top: 1.5rem; }
.delivery-button { display: inline-flex; align-items: center; justify-content: center; gap: .875rem; min-height: 3rem; border: 1px solid transparent; border-radius: .375rem; padding: .75rem 2rem; background: var(--ai30-blue); color: var(--ai30-foreground); font: inherit; font-size: 1.125rem; font-weight: 600; line-height: 1.5; text-decoration: none; cursor: pointer; transition: background-color 160ms; }
.delivery-button:hover { background: var(--ai30-blue-hover); }
.delivery-button:disabled { opacity: .65; cursor: wait; }
.delivery-text-link { display: inline-flex; align-items: center; gap: .5rem; min-height: 2.75rem; color: var(--ai30-foreground); font-size: 1rem; font-weight: 500; }
.delivery-start-note { align-self: center; display: flex; flex-direction: column; justify-content: center; background: var(--ai30-surface); border: 1px solid var(--ai30-line); border-radius: .5rem; padding: clamp(1.25rem, 3vw, 2rem); }
.delivery-start-note ol { list-style: none; margin-top: 1.75rem; }
.delivery-start-note li { display: grid; grid-template-columns: 1.75rem minmax(0, 1fr); gap: .75rem; padding: 1rem 0; border-top: 1px solid var(--ai30-line); }
.delivery-start-note li > span { color: var(--ai30-accent); font-size: .75rem; padding-top: .125rem; }
.delivery-start-note strong { font-size: 1rem; color: var(--ai30-foreground); }
.delivery-start-note li p { margin-top: .25rem; font-size: .875rem; line-height: 1.5; color: var(--ai30-muted); }
.delivery-nav { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; padding: .75rem 0; border-top: 1px solid var(--ai30-line); border-bottom: 1px solid var(--ai30-line); }
.delivery-nav a { display: inline-flex; align-items: center; min-height: 2.75rem; color: var(--ai30-foreground); font-size: .875rem; font-weight: 600; text-decoration: none; }
.delivery-nav a:hover, .delivery-offer-link:hover { text-decoration: underline; }
.delivery-record { margin: 2.5rem 0 0; border: 1px solid var(--ai30-line); border-radius: .5rem; background: var(--ai30-surface); display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .85fr); gap: 3rem; padding: 2rem; }
.delivery-guide h2 { color: var(--ai30-foreground); font-family: "Lora", Georgia, serif; font-size: clamp(1.75rem, 3vw, 2.25rem); line-height: 1.15; letter-spacing: -.025em; }
.delivery-record h2 { margin-top: .75rem; max-width: 28rem; }
.delivery-record p:not(.delivery-eyebrow):not(.delivery-copy-status), .delivery-two-column p, .delivery-section-lede { font-size: 1rem; line-height: 1.7; color: var(--ai30-muted); }
.delivery-record p:not(.delivery-eyebrow):not(.delivery-copy-status) { margin-top: .875rem; }
.delivery-record-outline { align-self: start; border-left: 1px solid var(--ai30-line); padding-left: 2rem; }
.delivery-record-outline ul { list-style: none; margin-top: .75rem; }
.delivery-record-outline li { padding: .625rem 0; border-bottom: 1px solid var(--ai30-line); font-size: .9375rem; line-height: 1.5; color: var(--ai30-foreground); }
.delivery-guide .delivery-small { font-size: .8125rem !important; line-height: 1.65 !important; color: var(--ai30-muted); }
.delivery-copy-status { font-size: .875rem; line-height: 1.5; margin-top: .75rem; color: var(--ai30-foreground); }
.delivery-copy-status:empty { display: none; }
.delivery-section { padding: 2.75rem 0; border-bottom: 1px solid var(--ai30-line); }
.delivery-section-heading { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); gap: 1rem; margin-bottom: 1.75rem; }
.delivery-number { padding-top: .125rem; font-family: "Lora", Georgia, serif; font-size: 1.375rem; color: var(--ai30-accent); }
.delivery-section-heading h2 { margin-top: .5rem; max-width: 43rem; }
.delivery-two-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem; }
.delivery-two-column p + p { margin-top: .875rem; }
.delivery-guide h3 { font-family: "Lora", Georgia, serif; font-size: 1.125rem; font-weight: 700; line-height: 1.4; color: var(--ai30-foreground); }
.delivery-two-column h3 { margin-bottom: .75rem; }
.delivery-resource-link { margin-top: 1.5rem; font-size: .875rem; line-height: 1.7; color: var(--ai30-muted); }
.delivery-resource-link a { color: var(--ai30-foreground); font-weight: 600; }
.delivery-section-lede { max-width: 46rem; margin-bottom: 1.75rem; }
.delivery-build-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem; align-items: start; }
.delivery-build-brief { margin-top: .75rem; }
.delivery-build-brief > div { display: grid; grid-template-columns: 6.25rem minmax(0, 1fr); gap: .75rem; padding: .875rem 0; border-bottom: 1px solid var(--ai30-line); }
.delivery-build-brief dt, .delivery-build-example dt { font-size: .8125rem; font-weight: 700; color: var(--ai30-foreground); line-height: 1.6; }
.delivery-build-brief dd { font-size: .9375rem; line-height: 1.6; color: var(--ai30-muted); }
.delivery-build-example { padding: 1.5rem; background: var(--ai30-surface); border: 1px solid var(--ai30-line); border-radius: .5rem; }
.delivery-build-example h3 { margin-top: .625rem; font-family: "Lora", Georgia, serif; font-size: 1.625rem; line-height: 1.2; }
.delivery-build-example dl { margin-top: 1.25rem; }
.delivery-build-example dl > div + div { margin-top: 1rem; }
.delivery-build-example dd { font-size: .875rem; line-height: 1.6; margin-top: .25rem; color: var(--ai30-muted); }
.delivery-weeks { list-style: none; }
.delivery-weeks li { display: grid; grid-template-columns: 4.25rem minmax(0, 1fr) 9rem; align-items: start; gap: 1.25rem; padding: 1.5rem 0; border-top: 1px solid var(--ai30-line); }
.delivery-week-label { font-size: .8125rem; color: var(--ai30-accent); font-weight: 700; padding-top: .1875rem; }
.delivery-weeks li > div > p { margin-top: .625rem; font-size: .9375rem; line-height: 1.65; }
.delivery-weeks .delivery-evidence { color: var(--ai30-muted); font-size: .8125rem; }
.delivery-weeks li > a { color: var(--ai30-foreground); font-size: .8125rem; line-height: 1.5; padding: .25rem 0; }
.delivery-continuation { margin-top: 1.75rem; padding-top: 1.5rem; border-top: 1px solid var(--ai30-line); }
.delivery-continuation p { max-width: 50rem; margin-top: .75rem; font-size: 1rem; line-height: 1.7; }
.delivery-training { background: var(--ai30-surface); margin: 2rem 0; border: 1px solid var(--ai30-line); border-radius: .5rem; }
.delivery-training > summary { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; padding: 1.5rem; cursor: pointer; list-style: none; }
.delivery-training > summary::-webkit-details-marker { display: none; }
.delivery-training-title { display: block; color: var(--ai30-foreground); font-family: "Lora", Georgia, serif; font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.2; margin-top: .5rem; }
.delivery-training-intro { display: block; color: var(--ai30-muted); font-size: .875rem; line-height: 1.6; margin-top: .5rem; }
.delivery-training-toggle { font-size: 1.5rem; color: var(--ai30-foreground); transition: transform .2s ease; }
.delivery-training[open] > summary .delivery-training-toggle { transform: rotate(45deg); }
/* The teaching diagrams and self-assessment keep their original reading surface
   and semantic rating colors inside the AI-30 shell. */
.delivery-training-body { --ai30-foreground: var(--navy); --ai30-muted: var(--gray); --ai30-line: var(--line); --ai30-accent: var(--orange); color: var(--ink); background: #fff; border-top: 1px solid var(--ai30-line); padding: 1.5rem; border-radius: 0 0 .5rem .5rem; }
.delivery-guide .prep-start h2 { color: #F5B487; }
.delivery-guide .formula-title { color: #fff; }
.delivery-training-links { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; }
.delivery-training-links a { color: var(--ai30-foreground); font-weight: 600; font-size: .875rem; line-height: 1.6; }
.delivery-training-boundary { margin: 1rem 0 1.5rem; font-size: .875rem; line-height: 1.7; }
.delivery-guide .help-cta { margin-bottom: 2rem; border: 1px solid var(--ai30-line); border-radius: .5rem; padding: 2rem; background: #111827; }
.delivery-guide .help-cta-kicker { color: var(--ai30-accent); }
.delivery-guide .help-cta h2 { color: var(--ai30-foreground); }
.delivery-guide .help-cta-lede { color: var(--ai30-muted); }
.delivery-guide .help-cta-lede a { color: var(--ai30-foreground); }
.delivery-guide .help-cta-btn { border: 1px solid transparent; border-radius: .375rem; background: var(--ai30-blue); color: var(--ai30-foreground); font-size: 1rem; padding: .75rem 1.5rem; }
.delivery-guide .help-cta-btn:hover { background: var(--ai30-blue-hover); }
.delivery-guide .delivery-footer { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .75rem; padding: 1.5rem 0; border-top: 1px solid var(--ai30-line); }
.delivery-footer p, .delivery-footer a { color: var(--ai30-muted); font-size: .8125rem; line-height: 1.6; }
.delivery-guide .delivery-training .rowlab { flex-wrap: wrap; }
.delivery-guide .delivery-training .stmtwrap { min-width: min(13.75rem, 100%); }
@media (max-width: 56rem) {
  .delivery-guide .delivery-hero, .delivery-record { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .delivery-start-note ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 1rem; }
  .delivery-start-note li { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
  .delivery-record-outline { border-left: 0; border-top: 1px solid var(--ai30-line); padding: 1.25rem 0 0; }
  .delivery-two-column, .delivery-build-layout { gap: 1.5rem; }
  .delivery-weeks li { grid-template-columns: 3.5rem minmax(0, 1fr); gap: .75rem; }
  .delivery-weeks li > a { grid-column: 2; }
}
@media (max-width: 40rem) {
  .delivery-guide .page { width: calc(100% - 2rem); }
  .delivery-banner { font-size: .875rem; }
  .delivery-topbar { padding: 1.25rem 0; }
  .delivery-record { padding: 1.25rem; }
  .delivery-button { font-size: 1rem; padding-inline: 1.25rem; }
  .delivery-topbar .tl-logo-img { height: 1.375rem; }
  .delivery-offer-link { font-size: .75rem; }
  .delivery-guide .delivery-hero { padding: 2rem 0; }
  .delivery-start-note ol { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .delivery-start-note li { grid-template-columns: 1.75rem minmax(0, 1fr); }
  .delivery-nav { column-gap: 1.25rem; }
  .delivery-nav a { font-size: .8125rem; }
  .delivery-two-column, .delivery-build-layout { grid-template-columns: minmax(0, 1fr); }
  .delivery-section { padding: 2rem 0; }
  .delivery-section-heading { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
  .delivery-number { font-size: 1.125rem; }
  .delivery-build-brief > div { grid-template-columns: minmax(0, 1fr); gap: .25rem; }
  .delivery-training > summary { padding: 1.25rem; }
  .delivery-training-body { padding: 1rem; }
  .delivery-guide .delivery-training .audit { padding: 1rem .5rem; }
  .delivery-guide .delivery-training .agroups { padding-left: .25rem; padding-right: .25rem; }
  .delivery-guide .delivery-training .stmt { font-size: 1rem; }
  .delivery-guide .delivery-training .rowname { width: auto; }
  .delivery-guide .delivery-training .dots { gap: .75rem; }
  .delivery-guide .delivery-training .dot { width: 2.75rem; height: 2.75rem; }
}
@media print {
  .delivery-guide { --ai30-background: #fff; --ai30-foreground: var(--navy); --ai30-muted: var(--gray); --ai30-line: var(--line); --ai30-surface: transparent; --ai30-accent: var(--orange); padding: 0; background: #fff; color: var(--navy); }
  .delivery-guide .help-cta { background: transparent; }
  .delivery-guide .page { width: 100%; padding: 0; }
  .delivery-topbar, .delivery-nav, .delivery-actions, .delivery-skip, .delivery-banner { display: none; }
  .delivery-guide .delivery-hero, .delivery-record, .delivery-build-layout { display: block; }
  .delivery-start-note, .delivery-record-outline { margin-top: 1.5rem; }
  .delivery-training-body { display: block !important; }
  .delivery-weeks li, .delivery-build-example, .delivery-continuation { break-inside: avoid; }
}
@media (prefers-reduced-motion: reduce) {
  .delivery-training-toggle, .delivery-button { transition: none; }
}
