@page {
  size: Letter;
  margin: 0.45in 0.5in 0.5in;
}

:root {
  --print-ink: #14221c;
  --print-charcoal: #1d2a25;
  --print-cream: #f7f2e7;
  --print-paper: #fffdf8;
  --print-gold: #b9872f;
  --print-green: #285d47;
  --print-line: #cfc6b5;
  --print-muted: #4f5c56;
}

* {
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
  box-shadow: none !important;
}

html,
body {
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
  color: var(--print-ink) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 9pt;
  line-height: 1.35;
}

body::before,
.skip-link,
.site-header,
.storage-notice,
.hero,
.assessment,
.report-heading,
.empty-report,
.report-actions,
footer,
button,
.primary-nav {
  display: none !important;
}

main,
.report,
#reportContent {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

#reportContent.is-hidden {
  display: none !important;
}

.print-only {
  display: block !important;
}

.print-report-header {
  display: flex !important;
  align-items: center;
  gap: 0.22in;
  min-height: 0.72in;
  margin: 0 0 0.18in;
  padding: 0 0 0.16in;
  border-bottom: 2px solid var(--print-gold);
}

.print-logo-frame {
  display: block;
  width: 1.32in;
  height: 0.64in;
  overflow: hidden;
  border-radius: 7px;
  background: #160f09;
}

.print-logo-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 50%;
}

.print-report-header p {
  margin: 0 0 2px;
  color: var(--print-green);
  font-size: 7pt;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.print-report-header h1 {
  margin: 0;
  color: var(--print-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 23pt;
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1.05;
}

.print-section {
  position: relative;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

.page-heatmap,
.page-priorities,
.page-interpretation,
.page-action {
  break-before: page;
  page-break-before: always;
  padding-top: 0.02in !important;
}

.card-label,
.section-number {
  margin: 0 0 4px !important;
  color: var(--print-green) !important;
  font-size: 7pt !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

.executive-summary {
  display: grid !important;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 0.18in 0.28in;
  padding: 0.3in !important;
  border: 1px solid #243c31 !important;
  border-radius: 15px !important;
  background: var(--print-ink) !important;
  color: #ffffff !important;
}

.executive-narrative h3 {
  margin: 0.06in 0 0.1in !important;
  color: #ffffff !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 25pt !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.02 !important;
}

.executive-narrative > p:last-child {
  margin: 0 !important;
  color: #f4efe5 !important;
  font-size: 9.2pt !important;
  line-height: 1.5 !important;
}

.executive-metrics {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  align-content: start;
  gap: 0 !important;
  margin: 0 !important;
}

.executive-metrics div {
  min-height: 0.58in;
  padding: 0.08in 0.08in 0.08in 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.22) !important;
}

.executive-metrics dt {
  color: #e6c983 !important;
  font-size: 6.4pt !important;
  font-weight: 800 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

.executive-metrics dd {
  margin: 3px 0 0 !important;
  color: #ffffff !important;
  font-size: 8.4pt !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

.report-key {
  color: var(--print-ink) !important;
  background: var(--print-cream) !important;
  border: 1px solid var(--print-line) !important;
  border-radius: 11px !important;
}

.index-key {
  grid-column: 1 / -1;
  margin-top: 0.06in !important;
  padding: 0.16in 0.18in !important;
}

.key-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.2in;
  padding-bottom: 0.07in;
  border-bottom: 1px solid var(--print-line);
}

.key-heading p {
  margin: 0;
  color: var(--print-green);
  font-size: 6.4pt;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.key-heading h4 {
  margin: 0;
  color: var(--print-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 13pt;
  font-weight: 400;
}

.key-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}

.key-list-index {
  grid-template-columns: 1fr 1fr;
  column-gap: 0.18in;
}

.key-list article {
  padding: 0.08in 0;
  border-bottom: 1px solid #ddd4c4;
  break-inside: avoid;
  page-break-inside: avoid;
}

.key-list article:last-child,
.key-list-index article:nth-last-child(-n+2) {
  border-bottom: 0;
}

.key-list strong {
  color: var(--print-gold);
  font-size: 7pt;
  font-weight: 800;
}

.key-list h5 {
  margin: 1px 0 2px;
  color: var(--print-ink);
  font-size: 8pt;
  line-height: 1.2;
}

.key-list p {
  margin: 2px 0 0;
  color: #34423c;
  font-size: 7.1pt;
  line-height: 1.3;
}

.block-heading {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 0.25in !important;
  margin: 0 0 0.16in !important;
  padding: 0 0 0.12in !important;
  border-bottom: 2px solid var(--print-gold);
}

.block-heading h3,
.action-intro h3 {
  margin: 0 !important;
  color: var(--print-ink) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 23pt !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.05 !important;
}

.block-heading > p {
  max-width: 3.2in !important;
  margin: 0 !important;
  color: var(--print-muted) !important;
  font-size: 8pt !important;
  line-height: 1.35 !important;
  text-align: right;
}

.heatmap {
  border: 1px solid var(--print-line);
  border-radius: 9px;
  overflow: hidden !important;
}

.heatmap-head,
.heatmap-row {
  display: grid !important;
  grid-template-columns: 1.15fr 0.78fr 0.85fr 1.1fr 0.42fr !important;
  gap: 0 !important;
  align-items: center !important;
}

.heatmap-head {
  padding: 0 !important;
  background: var(--print-ink) !important;
  color: #ffffff !important;
}

.heatmap-head span {
  padding: 0.09in 0.08in;
  color: #ffffff !important;
  font-size: 6.3pt !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
}

.heatmap-row {
  min-height: 0.46in !important;
  padding: 0 !important;
  border-top: 1px solid var(--print-line) !important;
  background: #ffffff !important;
  break-inside: avoid;
  page-break-inside: avoid;
}

.heatmap-row > div {
  min-width: 0;
  padding: 0.08in !important;
}

.domain-name strong {
  color: var(--print-ink) !important;
  font-size: 8.6pt !important;
}

.domain-name small {
  display: none !important;
}

.score-cell {
  display: flex !important;
  align-items: center !important;
  gap: 0.06in !important;
}

.score-cell > strong,
.gap-cell > strong {
  color: var(--print-ink) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 12pt !important;
  font-weight: 400 !important;
}

.score-track {
  display: block !important;
  width: 0.42in !important;
  height: 4px !important;
  background: #ded7ca !important;
}

.badge {
  display: inline-flex !important;
  padding: 4px 6px !important;
  border: 1px solid currentColor !important;
  font-size: 6.1pt !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.gap-cell {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 3px !important;
}

.priority-rank {
  width: 0.32in !important;
  height: 0.32in !important;
  background: var(--print-ink) !important;
  color: #ffffff !important;
  font-size: 7pt !important;
}

.heatmap-keys {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 0.14in;
  margin-top: 0.16in;
}

.heatmap-keys .report-key {
  padding: 0.13in 0.15in !important;
}

.heatmap-keys .key-heading {
  display: block;
}

.heatmap-keys .key-heading h4 {
  margin-top: 2px;
}

.priority-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0.13in !important;
}

.priority-card,
.priority-card.featured {
  display: grid !important;
  grid-template-columns: 0.5in 1fr 1.15fr !important;
  column-gap: 0.16in !important;
  align-items: start !important;
  min-height: 1.48in !important;
  padding: 0.18in 0.2in !important;
  border: 1px solid var(--print-line) !important;
  border-top: 4px solid var(--print-gold) !important;
  border-radius: 10px !important;
  background: var(--print-paper) !important;
  color: var(--print-ink) !important;
  break-inside: avoid !important;
  page-break-inside: avoid !important;
}

.priority-top {
  grid-column: 1 !important;
  grid-row: 1 / 4 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0.08in !important;
}
.priority-top > span:first-child {
  color: var(--print-gold) !important;
  font-size: 16pt !important;
}

.priority-card h4 {
  grid-column: 2 / 4 !important;
  margin: 0 0 0.08in !important;
  color: var(--print-ink) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 17pt !important;
  font-weight: 400 !important;
}

.priority-why { grid-column: 2 !important; }
.priority-why > small,
.recommended-move small {
  color: var(--print-green) !important;
  font-size: 6.2pt !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.priority-why p,
.priority-card.featured .priority-why p,
.expected,
.priority-card.featured .expected {
  margin: 3px 0 0 !important;
  color: #2f3c36 !important;
  font-size: 7.6pt !important;
  line-height: 1.35 !important;
}

.recommended-move,
.priority-card.featured .recommended-move {
  grid-column: 3 !important;
  margin: 0 !important;
  padding: 0.1in !important;
  border: 1px solid #b7cabe !important;
  border-radius: 7px !important;
  background: #e7f0ea !important;
  color: var(--print-green) !important;
}

.recommended-move strong {
  color: var(--print-green) !important;
  font-size: 8pt !important;
}

.expected {
  grid-column: 2 / 4 !important;
  margin-top: 0.1in !important;
  padding-top: 0.08in !important;
  border-top: 1px solid var(--print-line) !important;
}
.expected strong {
  color: var(--print-ink) !important;
}

.interpretation-list details,
.interpretation-list details:not([open]) {
  display: block !important;
  margin: 0 0 0.1in !important;
  border: 1px solid var(--print-line) !important;
  border-radius: 9px !important;
  background: #ffffff !important;
  break-inside: avoid !important;
  page-break-inside: avoid !important;
}

.interpretation-list summary {
  display: grid !important;
  grid-template-columns: 0.34in 1fr auto !important;
  align-items: center !important;
  gap: 0.08in !important;
  padding: 0.1in 0.12in !important;
  border-bottom: 1px solid var(--print-line) !important;
  list-style: none !important;
  cursor: default !important;
}

.interpretation-list summary::-webkit-details-marker,
.interpretation-list summary::marker,
.interpretation-list summary i {
  display: none !important;
  content: "" !important;
}

.interpretation-list summary strong {
  color: var(--print-ink) !important;
  font-size: 10pt !important;
}

.interpret-index {
  color: var(--print-gold) !important;
  font-size: 11pt !important;
}

.interpretation-list details > .interpret-body,
.interpretation-list details:not([open]) > .interpret-body {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0.07in !important;
  padding: 0.1in 0.12in 0.12in !important;
}

.interpret-body > div {
  padding: 0.08in !important;
  border-radius: 6px !important;
  background: var(--print-cream) !important;
}

.interpret-body > .interpret-outcome {
  grid-column: 1 / -1 !important;
  background: #e8f0eb !important;
}

.interpret-body small {
  color: var(--print-green) !important;
  font-size: 6.1pt !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
}

.interpret-body p {
  margin: 2px 0 0 !important;
  color: #2e3b35 !important;
  font-size: 7.2pt !important;
  line-height: 1.3 !important;
}

.page-action {
  display: grid !important;
  grid-template-columns: 0.72fr 1.28fr !important;
  gap: 0.3in !important;
  padding: 0.3in !important;
  border: 1px solid #d2b66f !important;
  border-top: 5px solid var(--print-gold) !important;
  border-radius: 14px !important;
  background: var(--print-cream) !important;
}

.action-intro > p:last-child {
  color: #39463f !important;
  font-size: 9pt !important;
  line-height: 1.45 !important;
}

.timeline article {
  display: grid !important;
  grid-template-columns: 0.38in 1fr !important;
  gap: 0.1in !important;
  padding: 0.12in 0 !important;
  border-top: 1px solid var(--print-line) !important;
  break-inside: avoid !important;
  page-break-inside: avoid !important;
}

.timeline article:first-child {
  border-top: 0 !important;
  padding-top: 0 !important;
}

.timeline article > span {
  width: 0.32in !important;
  height: 0.32in !important;
  background: var(--print-ink) !important;
  color: #ffffff !important;
  font-size: 6.5pt !important;
}

.timeline small {
  color: var(--print-green) !important;
  font-size: 6.2pt !important;
  font-weight: 800 !important;
}

.timeline h4 {
  margin: 1px 0 3px !important;
  color: var(--print-ink) !important;
  font-size: 9.5pt !important;
}

.timeline p {
  margin: 0 !important;
  color: #34413b !important;
  font-size: 7.6pt !important;
  line-height: 1.35 !important;
}

.print-confidential {
  margin-top: 0.18in;
  padding-top: 0.08in;
  border-top: 1px solid var(--print-line);
  color: #59645f;
  font-size: 6.5pt;
  letter-spacing: 0.04em;
}

.print-confidential span:last-child {
  float: right;
}

p,
li {
  orphans: 3;
  widows: 3;
}

/* Pilot mode print isolation */
#surveyMode,
.mode-navigation,
.respondent-hero,
.facilitator-hero,
.facilitator-tools,
.roster-section,
.submission-confirmation {
  display: none !important;
}
#facilitatorMode {
  display: block !important;
}
