/* Decision Modelling package: five simultaneous voices, not a card template. */
.dmol-page {
  --dmol-night: #082f49;
  --dmol-navy: #003366;
  --dmol-teal: #00877e;
  --dmol-aqua: #8bd8d0;
  --dmol-coral: #e85d3f;
  --dmol-cream: #f7f3ea;
  --dmol-mist: #edf5f4;
  --dmol-ink: #213744;
  --dmol-muted: #586872;
  --dmol-rule: #aac8c8;
  color: var(--dmol-ink);
  overflow-wrap: break-word;
}

.dmol-page h1,
.dmol-page h2,
.dmol-page h3 {
  margin-top: 0;
  color: var(--dmol-night);
  font-family: var(--serif);
  line-height: 1.04;
  text-wrap: balance;
}

.dmol-page h1 { max-width: 18ch; margin-bottom: 0; font-size: clamp(2.6rem, 3.25vw, 2.9rem); letter-spacing: -.035em; }
.dmol-page h2 { max-width: 18ch; margin-bottom: 0; font-size: clamp(2rem, 3vw, 2.7rem); letter-spacing: -.025em; }
.dmol-page h3 { font-size: clamp(1.3rem, 1.8vw, 1.65rem); }
.dmol-page p { max-width: 68ch; }
.dmol-page section[id] { scroll-margin-top: 1rem; }

.dmol-skip {
  position: fixed;
  z-index: 100;
  top: .5rem;
  left: .5rem;
  transform: translateY(-180%);
  padding: .7rem 1rem;
  background: var(--dmol-night);
  color: #fff;
  font-weight: 800;
}
.dmol-skip:focus { transform: none; }
.dmol-header { position: relative; z-index: 10; background: rgba(255, 255, 255, .98); }
.dmol-header nav a { display: inline-flex; align-items: center; min-height: 2.75rem; }

.dmol-opening {
  position: relative;
  padding: clamp(4rem, 9vw, 8rem) 0 clamp(4.5rem, 10vw, 9rem);
  overflow: hidden;
  background: linear-gradient(118deg, #fff 0 65%, var(--dmol-cream) 65%);
}
.dmol-opening::after {
  content: "";
  position: absolute;
  right: -8rem;
  bottom: 2rem;
  width: 34rem;
  border-top: 1px solid var(--dmol-rule);
  box-shadow: 0 1.2rem 0 var(--dmol-rule), 0 2.4rem 0 var(--dmol-rule), 0 3.6rem 0 var(--dmol-rule);
  transform: rotate(-7deg);
  opacity: .55;
}
.dmol-opening-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(20rem, .75fr);
  gap: clamp(3rem, 9vw, 8rem);
  align-items: end;
}
.dmol-opening-copy { max-width: 49rem; }
.dmol-method-name {
  margin: 1rem 0 0;
  color: var(--dmol-teal);
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.dmol-lead { margin: 1.35rem 0; font: clamp(1.15rem, 1.65vw, 1.4rem)/1.48 var(--serif); }
.dmol-boundary { margin: 1.5rem 0 0; padding-left: 1.2rem; border-left: .3rem solid var(--dmol-coral); }
.dmol-opening-cue { align-self: end; padding: 1rem 0 1rem 1.5rem; border-left: 1px solid var(--dmol-teal); }
.dmol-opening-cue p { margin: 0; }
.dmol-cue-label,
.dmol-note-label,
.dmol-route-label {
  color: var(--dmol-teal);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.dmol-cue-line { color: var(--dmol-night); font: 700 clamp(1.5rem, 2.4vw, 2rem)/1.15 var(--serif); }
.dmol-cue-result { margin-top: 1.5rem !important; color: var(--dmol-muted); font-style: italic; }

.dmol-section { padding: clamp(4.75rem, 10vw, 9rem) 0; }
.dmol-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(18rem, .92fr);
  gap: .5rem clamp(2rem, 8vw, 7rem);
  align-items: end;
  margin-bottom: clamp(3rem, 7vw, 6rem);
}
.dmol-section-heading > p { margin: 0 0 .35rem; font-size: 1.08rem; }

.dmol-fit { background: var(--dmol-mist); }
.dmol-signals { margin: 0; padding: 0; list-style: none; counter-reset: signal; border-top: 1px solid var(--dmol-rule); }
.dmol-signals li {
  display: grid;
  grid-template-columns: minmax(9rem, .42fr) minmax(0, 1.58fr);
  gap: clamp(1.5rem, 6vw, 6rem);
  align-items: baseline;
  padding: clamp(1.35rem, 3vw, 2.2rem) 0;
  border-bottom: 1px solid var(--dmol-rule);
}
.dmol-signals span { color: var(--dmol-teal); font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.dmol-signals strong { color: var(--dmol-night); font: 700 clamp(1.25rem, 2vw, 1.85rem)/1.3 var(--serif); }
.dmol-trigger { display: grid; grid-template-columns: minmax(9rem, .42fr) minmax(0, 1.58fr); gap: clamp(1.5rem, 6vw, 6rem); margin: 2.5rem 0 0; }
.dmol-trigger strong { color: var(--dmol-coral); text-transform: uppercase; letter-spacing: .08em; }

.dmol-voices { background: var(--dmol-night); color: #fff; }
.dmol-section-heading-light h2 { color: #fff; }
.dmol-section-heading-light .dfd-eyebrow { color: var(--dmol-aqua); }
.dmol-section-heading-light > p { color: #d7e5eb; }
.dmol-rehearsal { margin: 0; border-top: 1px solid #557888; }
.dmol-rehearsal > div {
  display: grid;
  grid-template-columns: 11rem minmax(0, 1fr);
  gap: clamp(1.5rem, 6vw, 6rem);
  align-items: baseline;
  padding: clamp(1.4rem, 3vw, 2.4rem) 0;
  border-bottom: 1px solid #557888;
}
.dmol-rehearsal dt { color: var(--dmol-aqua); font-size: .76rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.dmol-rehearsal dd { margin: 0; color: #fff; font: 700 clamp(1.35rem, 2.1vw, 2rem)/1.35 var(--serif); }
.dmol-rehearsal dd span { color: #b9d6df; font-weight: 400; }
.dmol-rehearsal .dmol-exception-voice { border-left: .35rem solid var(--dmol-coral); padding-left: clamp(1rem, 3vw, 2rem); }
.dmol-rehearsal .dmol-exception-voice dt { color: #ff9f84; }
.dmol-rehearsal-result { max-width: 58rem !important; margin: clamp(2.5rem, 6vw, 5rem) 0 0; padding-left: 1.4rem; border-left: .35rem solid var(--dmol-coral); font-size: 1.12rem; }
.dmol-rehearsal-result strong { display: block; margin-bottom: .65rem; color: #fff; font: 700 clamp(1.3rem, 1.8vw, 1.6rem)/1.4 var(--serif); }

.dmol-resolution { background: #fff; }
.dmol-resolutions { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--dmol-rule); }
.dmol-resolutions li {
  display: grid;
  grid-template-columns: 10rem minmax(0, 1fr);
  gap: clamp(1.5rem, 6vw, 6rem);
  align-items: baseline;
  padding: 1.4rem 0;
  border-bottom: 1px solid var(--dmol-rule);
}
.dmol-resolutions span { color: var(--dmol-teal); font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.dmol-resolutions p { margin: 0; font: 700 clamp(1.15rem, 1.8vw, 1.6rem)/1.4 var(--serif); }
.dmol-possible-moves { max-width: 60rem !important; margin: clamp(2.5rem, 6vw, 5rem) 0 0; font-size: 1.08rem; }
.dmol-possible-moves strong { color: var(--dmol-night); }

.dmol-scope { background: var(--dmol-cream); }
.dmol-equation {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: .75rem 1.1rem;
  max-width: none !important;
  margin: 0 0 clamp(4rem, 8vw, 7rem);
  padding: clamp(2rem, 5vw, 4rem) 0;
  border-block: 1px solid var(--dmol-rule);
  color: var(--dmol-night);
  font: 700 clamp(1.4rem, 2.4vw, 2.15rem)/1.3 var(--serif);
}
.dmol-equation b { color: var(--dmol-coral); }
.dmol-equation strong { color: var(--dmol-teal); }
.dmol-scope-notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(3rem, 9vw, 8rem); }
.dmol-scope-notes section { padding-top: 1.2rem; border-top: .3rem solid var(--dmol-teal); }
.dmol-scope-notes h3 { max-width: 16ch; margin: .5rem 0 1rem; }
.dmol-scope-notes p:last-child { margin-bottom: 0; }
.dmol-next {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin-top: clamp(4rem, 9vw, 8rem);
  padding-top: clamp(2rem, 5vw, 4rem);
  border-top: 1px solid var(--dmol-rule);
}
.dmol-next > div { padding-right: clamp(2rem, 6vw, 5rem); }
.dmol-next > div + div { padding-right: 0; padding-left: clamp(2rem, 6vw, 5rem); border-left: 1px solid var(--dmol-rule); }
.dmol-next h3 { max-width: 15ch; margin: .5rem 0 1rem; }
.dmol-contact { display: inline-flex; align-items: center; min-height: 2.75rem; font-weight: 900; }

.dmol-footer .dfd-wrap { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; align-items: center; }
.dmol-footer .dfd-wrap a:first-child { font-weight: 900; text-decoration: none; }
.dmol-footer .dfd-wrap a:last-child { margin-left: auto; }

@media (max-width: 58rem) {
  .dmol-opening-layout,
  .dmol-section-heading { grid-template-columns: 1fr; }
  .dmol-opening-layout { align-items: start; }
  .dmol-opening-cue { max-width: 38rem; }
  .dmol-section-heading { gap: 1.5rem; }
  .dmol-section-heading > p { margin: 0; }
}

@media (max-width: 42rem) {
  .dmol-header .dfd-wrap { padding: 1rem 0; }
  .dmol-header nav { gap: .3rem .9rem; }
  .dmol-header nav a { font-size: .9rem; }
  .dmol-opening { padding-top: 3rem; background: linear-gradient(166deg, #fff 0 69%, var(--dmol-cream) 69%); }
  .dmol-page h1 { font-size: clamp(2.15rem, 9vw, 2.25rem); }
  .dmol-page h2 { font-size: clamp(1.8rem, 7.5vw, 2.15rem); }
  .dmol-signals li,
  .dmol-trigger,
  .dmol-rehearsal > div,
  .dmol-resolutions li { grid-template-columns: 1fr; gap: .55rem; }
  .dmol-rehearsal .dmol-exception-voice { padding-left: 1rem; }
  .dmol-scope-notes,
  .dmol-next { grid-template-columns: 1fr; }
  .dmol-scope-notes { gap: 2.5rem; }
  .dmol-next > div { padding-right: 0; }
  .dmol-next > div + div { margin-top: 2.5rem; padding-top: 2.5rem; padding-left: 0; border-top: 1px solid var(--dmol-rule); border-left: 0; }
  .dmol-next .dfd-button { width: 100%; justify-content: center; text-align: center; }
  .dmol-footer .dfd-wrap { display: grid; }
  .dmol-footer .dfd-wrap a:last-child { margin-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .dmol-page * { scroll-behavior: auto !important; }
}

@media (forced-colors: active) {
  .dmol-opening-cue,
  .dmol-boundary,
  .dmol-rehearsal .dmol-exception-voice,
  .dmol-rehearsal-result { border-color: Highlight; }
  .dmol-signals,
  .dmol-signals li,
  .dmol-rehearsal,
  .dmol-rehearsal > div,
  .dmol-resolutions,
  .dmol-resolutions li,
  .dmol-equation,
  .dmol-scope-notes section,
  .dmol-next { border-color: CanvasText; }
}

@media print {
  .dmol-header,
  .dmol-footer,
  .dmol-opening .dfd-actions { display: none; }
  .dmol-opening,
  .dmol-section,
  .dmol-voices,
  .dmol-scope { padding: 1rem 0; background: #fff !important; color: #000; }
  .dmol-page h1,
  .dmol-page h2,
  .dmol-page h3,
  .dmol-section-heading-light h2,
  .dmol-rehearsal dd,
  .dmol-rehearsal-result strong { color: #000; }
  .dmol-opening-layout,
  .dmol-section-heading,
  .dmol-scope-notes,
  .dmol-next { display: block; }
  .dmol-opening-cue,
  .dmol-next > div + div { margin-top: 1rem; padding-left: 0; border-left: 0; }
  .dmol-rehearsal > div { break-inside: avoid; }
}
