/* Unified presentation layer for Bureau "We Are!" HTML decks. */
:root {
  --orange: var(--gold);
  --orange-dim: rgba(215, 164, 10, .14);
  --deck-bg: #111827;
  --deck-line: rgba(215, 164, 10, .18);
  --deck-soft: rgba(14, 30, 64, .055);
  --deck-shadow: 0 24px 80px rgba(0, 0, 0, .62);
  --deck-radius: 8px;
  --deck-h1: 38px;
  --deck-h2: 31px;
  --deck-body: 14.5px;
  --deck-body-strong: 15px;
  --deck-secondary: 13.5px;
  --deck-label: 12.5px;
  --deck-leading-tight: 1.2;
  --deck-leading-body: 1.58;
  --deck-leading-secondary: 1.48;
}

html,
body {
  font-family: "Montserrat", sans-serif !important;
  letter-spacing: 0 !important;
}

#app {
  background:
    radial-gradient(900px 460px at 82% 18%, rgba(215, 164, 10, .09), transparent 58%),
    var(--deck-bg) !important;
}

#stage {
  border-radius: var(--deck-radius) !important;
  border: 1px solid rgba(215, 164, 10, .18) !important;
  box-shadow: var(--deck-shadow) !important;
  background: var(--white) !important;
}

#progress {
  background: var(--gold) !important;
  height: 4px !important;
}

#chapter-nav {
  position: absolute;
  top: 14px;
  left: 18px;
  right: 18px;
  z-index: 8;
  display: flex;
  align-items: center;
  gap: 7px;
  pointer-events: none;
}

.chapter-dot {
  height: 5px;
  flex: 1;
  border-radius: 999px;
  background: rgba(255, 255, 255, .18);
  transition: background .2s, flex .2s;
}

.chapter-dot.is-active {
  flex: 1.35;
  background: var(--gold);
}

.deck-chapter {
  position: absolute;
  top: 24px;
  right: 28px;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(215, 164, 10, .22);
  background: rgba(14, 30, 64, .05);
  color: var(--gold);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.slide-cover .deck-chapter,
.slide-closing .deck-chapter,
[class*="white"] ~ .deck-chapter {
  background: rgba(255, 255, 255, .06);
}

#controls {
  gap: 12px !important;
}

.ctrl-btn,
#pdf-btn {
  border-radius: 6px !important;
  min-height: 42px !important;
  padding: 10px 18px !important;
  font-size: 14px !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.ctrl-btn:hover,
#pdf-btn,
#pdf-btn:hover {
  background: var(--gold) !important;
  color: var(--navy) !important;
}

.ctrl-btn:disabled,
#pdf-btn:disabled {
  opacity: .45 !important;
  cursor: not-allowed !important;
  transform: none !important;
}

.ctrl-btn:focus-visible,
#pdf-btn:focus-visible,
.s15-link:focus-visible {
  outline: 3px solid rgba(215, 164, 10, .55) !important;
  outline-offset: 3px !important;
}

.slide {
  letter-spacing: 0 !important;
}

/* Shared slide families */
.slide-cover,
.slide-closing {
  background: linear-gradient(135deg, var(--navy-deep) 0%, var(--navy) 100%) !important;
}

.slide-cover::before,
.slide-closing::before {
  height: 10px;
}

.slide-compact {
  --deck-body: 13.5px;
  --deck-body-strong: 14px;
  --deck-secondary: 12.75px;
}

.slide-compact .s-title {
  font-size: 28px !important;
  margin-bottom: 14px !important;
}

.slide-compact .s-title em {
  font-size: 14px !important;
  margin-top: 4px !important;
}

.slide-compact .s14-cols,
.slide-compact .s14-content {
  gap: 14px !important;
}

.slide-compact .s14-rec,
.slide-compact .s14-step,
.slide-compact .s14-partner-block,
.slide-compact .s14-contact {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

/* Dense recommendation grid: keep all six cards fully visible at 16:9. */
#s12 .s12-inner {
  padding-top: 34px !important;
  padding-bottom: 32px !important;
}

#s12 .s12-recs {
  gap: 12px !important;
  margin-top: 14px !important;
}

#s12 .s12-rec {
  padding: 16px 18px !important;
}

#s12 .s12-rec-en {
  margin-bottom: 6px !important;
}

#s12 .s12-rec-body {
  line-height: 1.48 !important;
}

#s12 .s12-timeline {
  margin-top: 6px !important;
}

#s12 .s12-timeline svg {
  width: 16px !important;
  height: 16px !important;
}

#s13.slide-compact .s13-inner {
  padding: 30px 44px !important;
}

#s13.slide-compact .s13-content {
  gap: 18px !important;
  margin-top: 12px !important;
}

#s13.slide-compact .s13-left {
  gap: 10px !important;
}

#s13.slide-compact .s13-art10 {
  padding: 18px !important;
}

#s13.slide-compact .s13-art10-title {
  margin-bottom: 10px !important;
}

#s13.slide-compact .s13-criteria {
  gap: 7px !important;
}

#s13.slide-compact .s13-criterion {
  gap: 10px !important;
}

#s13.slide-compact .s13-right {
  gap: 8px !important;
}

#s13.slide-compact .s13-risk {
  padding: 12px 15px !important;
}

#s13.slide-compact .s13-rabat {
  padding: 10px 15px !important;
}

#s13.slide-compact .s13-criterion-body,
#s13.slide-compact .s13-risk-body,
#s13.slide-compact .s13-rabat p {
  font-size: 12.5px !important;
  line-height: 1.45 !important;
}

.slide-cover .s-title,
.slide-closing .s-title {
  color: var(--white) !important;
}

.slide-underfilled.slide-closing .s15-inner {
  width: min(940px, calc(100% - 96px)) !important;
  max-width: 940px !important;
}

.slide-underfilled.slide-closing .s15-links {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  margin-top: 4px !important;
}

.slide-underfilled.slide-closing .s15-link {
  justify-content: center !important;
}

.slide-underfilled.slide-closing .s15-note,
.slide-underfilled.slide-closing .s15-coe {
  width: 100% !important;
  border-top: 1px solid rgba(215, 164, 10, .18) !important;
  padding-top: 16px !important;
  margin-top: 24px !important;
}

.slide-underfilled.slide-closing .s15-emblem,
.slide-underfilled.slide-closing img[alt="We Are! icon"] {
  margin-bottom: 20px !important;
}

.slide-pause::before {
  height: 10px !important;
}

.slide-pause .s-title {
  margin-bottom: 22px !important;
}

.slide-bridge::before {
  background: linear-gradient(90deg, var(--gold), rgba(215, 164, 10, .42), transparent) !important;
}

.slide-bridge .s-title {
  margin-bottom: 22px !important;
}

.slide-sequence-policy::before {
  background: linear-gradient(90deg, var(--gold), rgba(215, 164, 10, .2), transparent) !important;
}

.slide-sequence-test::before {
  background: linear-gradient(90deg, #efb90d, rgba(239, 185, 13, .24), transparent) !important;
}

.slide-sequence-action::before {
  background: linear-gradient(90deg, var(--white), var(--gold), rgba(215, 164, 10, .18), transparent) !important;
}

.slide-sequence-policy .s-label,
.slide-sequence-test .s-label,
.slide-sequence-action .s-label {
  letter-spacing: 1.15px !important;
}

.slide-family-meta {
  position: absolute;
  top: 28px;
  right: 28px;
  z-index: 3;
  color: rgba(255, 255, 255, .44);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}


.slide::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 8px;
  background: linear-gradient(90deg, var(--gold), rgba(215, 164, 10, 0));
  opacity: .95;
  pointer-events: none;
  z-index: 2;
}

.slide::after {
  content: "";
  position: absolute;
  right: 28px;
  bottom: 24px;
  width: 68px;
  height: 2px;
  background: var(--gold);
  opacity: .62;
  pointer-events: none;
}

.s-title,
[class$="-title"] {
  letter-spacing: 0 !important;
}

.s-title {
  font-size: var(--deck-h2) !important;
  line-height: var(--deck-leading-tight) !important;
  margin-bottom: 18px !important;
}

.s-title em,
.s15-title span {
  display: inline-block !important;
  margin-top: 6px !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  opacity: .66 !important;
  font-weight: 500 !important;
}

.s-label,
.badge,
.s1-law-tag,
.s2-key-title,
.s5-ft,
.s6-sev-title,
.s8-trend-title,
.s11-block-title,
.s12-num,
.s13-col-hdr,
.s14-col-title {
  color: var(--gold) !important;
  font-size: var(--deck-label) !important;
  letter-spacing: 1px !important;
}

.badge,
.project-tag,
.s3-tag,
.s5-chip,
.s12-risk {
  border-radius: 999px !important;
}

.s1-title {
  font-size: var(--deck-h1) !important;
  line-height: var(--deck-leading-tight) !important;
  color: var(--gold) !important;
}

.s1-sub,
.s1-en,
.s15-sub {
  font-size: 16px !important;
  line-height: 1.62 !important;
}

.s1-logo-text,
.s1-meta-row,
.s1-card-lbl,
.s1-note p,
.s2-item-text,
.s2-src-text,
.s2-key-body,
.s2-principle p,
.s3-stream-body,
.s3-def p,
.s3-card-body,
.s3-note p,
.s4-finding-body,
.s4-step-body,
.s4-art17 p,
.s4-key p,
.s5-body,
.s5-tool,
.s6-item,
.s6-rel-row,
.s7-ob-body,
.s7-no p,
.s7-case,
.s8-body,
.s8-conclusion p,
.s9-norm,
.s9-issue-body,
.s9-ok-body,
.s9-coe,
.s10-cell,
.s10-note p,
.s11-block-body,
.s11-list li,
.s11-verdict p,
.s12-card-body,
.s12-rec-body,
.s13-pt,
.s13-quote-block p,
.s13-risk-body,
.s13-rabat p,
.s13-verdict p,
.s14-rec,
.s14-step-body,
.s14-footer p,
.s14-contact-row {
  font-size: var(--deck-body) !important;
  line-height: var(--deck-leading-body) !important;
}

.s1-meta-row,
.s2-src-text strong,
.s2-key-body strong,
.s3-stream-title,
.s3-card-title,
.s4-finding-title,
.s4-step-title,
.s5-body strong,
.s6-col-title,
.s7-ob-title,
.s7-no strong,
.s8-body strong,
.s9-norm strong,
.s9-issue-body strong,
.s9-ok-body strong,
.gap-title,
.s11-block-title,
.s12-card-title,
.s14-rec strong,
.s14-step-title {
  font-size: var(--deck-body-strong) !important;
  line-height: 1.35 !important;
}

.s1-card-num {
  font-size: 44px !important;
  color: var(--gold) !important;
}

.s15-title {
  color: var(--gold) !important;
  font-size: 42px !important;
  line-height: 1.16 !important;
}

.s15-emblem {
  background: var(--gold) !important;
  color: var(--navy) !important;
}

.s15-links {
  gap: 12px !important;
}

.s15-link {
  border-color: rgba(215, 164, 10, .28) !important;
  border-radius: 8px !important;
  color: var(--white) !important;
  min-height: 44px !important;
}

.s15-link span,
.s15-link svg {
  color: var(--gold) !important;
}

.s1-card,
.s1-note,
.s2-item,
.s2-src,
.s2-key-item,
.s4-finding,
.s7-ob,
.s9-issue,
.s9-ok,
.s11-block,
.s13-pt,
.s14-contact-row,
.s15-link {
  align-items: flex-start !important;
}

.s1-card,
.s2-src,
.s2-key-item,
.s3-card,
.s3-stream,
.s4-finding,
.s4-step,
.s7-ob,
.s9-issue,
.s9-ok,
.s11-block,
.s12-card,
.s14-step,
.s14-rec {
  background-clip: padding-box !important;
}

.s1-card,
.s1-note,
.s2-item,
.s2-src,
.s2-key-item,
.s3-stream,
.s3-card,
.s4-finding,
.s4-step,
.s5-level,
.s6-col,
.s7-ob,
.s7-no,
.s7-cases,
.s8-layer,
.s9-issue,
.s9-ok,
.s9-coe,
.s10-table,
.s11-block,
.s11-verdict,
.s12-card,
.s12-rec,
.s13-quote-block,
.s13-verdict,
.s14-rec,
.s14-step,
.s14-contact,
.s14-partner-block {
  border-radius: 8px !important;
}

.s3-stream,
.s3-card,
.s12-card,
.s12-rec,
.s14-step,
.s14-contact,
.s14-rec {
  box-shadow: 0 2px 16px rgba(14, 30, 64, .08) !important;
}

.s3-stream,
.s3-card,
.s12-card {
  border-top-color: var(--gold) !important;
}

.s1-card,
.s3-stream,
.s3-card,
.s8-card,
.s12-card {
  min-height: 0 !important;
}

.s1-card,
.s5-metric,
.s8-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.s14-rec,
.s14-col-title,
.s6-col-title {
  border-color: var(--gold) !important;
}

.s2-left,
.s9-left,
.s1-left {
  border-right-color: rgba(215, 164, 10, .18) !important;
}

.s5-level,
.s8-layer,
.s9-table,
.s10-table {
  border-color: rgba(14, 30, 64, .12) !important;
}

.s9-cell,
.s10-cell {
  padding: 15px 18px !important;
  word-break: normal !important;
}

.s9-row.header .s9-cell,
.s10-row.header .s10-cell {
  background: var(--navy) !important;
  color: var(--gold) !important;
  font-size: 12.5px !important;
}

.gap-body,
.s10-cell-val,
.s12-card-en,
.s14-step-en {
  font-size: var(--deck-secondary) !important;
  line-height: var(--deck-leading-secondary) !important;
}

/* Bilingual hierarchy: Ukrainian is primary, English is secondary. */
.s1-logo-text span,
.s1-meta-row span span,
.s1-sub,
.s1-en,
.s3-stream-en,
.s7-code-def em,
.s8-card-sub,
.s10-cell-en,
.s11-step-en,
.s12-rec-en,
.s14-step-en,
.s15-sub em,
.s15-note,
.s15-coe {
  font-size: var(--deck-secondary) !important;
  line-height: var(--deck-leading-secondary) !important;
}

.s-title em,
.s15-title span,
.s1-en,
.s3-stream-en,
.s7-code-def em,
.s10-cell-en,
.s11-step-en,
.s12-rec-en,
.s14-step-en,
.s15-sub em {
  color: inherit !important;
  opacity: .64 !important;
  font-style: italic !important;
  font-weight: 500 !important;
}

.slide-evidence .s-title em,
.slide-comparison .s-title em,
.slide-matrix .s-title em,
.slide-evidence .s3-stream-en,
.slide-evidence .s12-rec-en,
.slide-evidence .s14-step-en,
.slide-comparison .s10-cell-en,
.slide-matrix .s10-cell-en {
  color: var(--text-light) !important;
  opacity: 1 !important;
}

.s8-bar-lbl,
.s8-card-sub,
.s15-note,
.s15-coe {
  font-size: 13px !important;
}

.s7-case span:first-child,
.s13-pt .ico,
.s6-rel-row span:first-child {
  color: var(--gold) !important;
  width: 20px !important;
  min-width: 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.s13-pt .ico {
  margin-top: 1px !important;
}

.s6-rel-row span:first-child {
  font-weight: 800 !important;
}

.s10-table,
.s9-table {
  background: var(--white) !important;
}

.s10-row,
.s9-row {
  min-height: 74px !important;
}

.slide-matrix .s9-table,
.slide-matrix .s10-table {
  overflow: hidden !important;
  border: 1px solid rgba(14, 30, 64, .14) !important;
  box-shadow: 0 2px 16px rgba(14, 30, 64, .06) !important;
}

.slide-matrix .s9-row,
.slide-matrix .s10-row {
  min-height: 82px !important;
}

.slide-matrix .s9-row.header,
.slide-matrix .s10-row.header {
  min-height: 52px !important;
}

.slide-matrix .s9-row:not(.header) .s9-cell:first-child,
.slide-matrix .s10-row:not(.header) .s10-cell:first-child {
  background: rgba(14, 30, 64, .045) !important;
}

.slide-matrix .s9-row:not(.header) .s9-cell:last-child,
.slide-matrix .s10-row:not(.header) .s10-cell:last-child {
  background: rgba(215, 164, 10, .06) !important;
}

.slide-matrix .s9-row:not(.header) .s9-cell:last-child,
.slide-matrix .s10-row:not(.header) .s10-cell:last-child,
.slide-matrix .s10-row:not(.header) .s10-cell:last-child .gap-body {
  color: var(--navy) !important;
  font-weight: 600 !important;
}

.slide-matrix .s10-row:not(.header) .s10-cell:first-child .gap-title {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 24px !important;
  padding: 3px 8px !important;
  margin-bottom: 7px !important;
  border-radius: 999px !important;
  background: rgba(14, 30, 64, .08) !important;
}

.slide-matrix .s9-row.header .s9-cell,
.slide-matrix .s10-row.header .s10-cell {
  letter-spacing: .9px !important;
}

.slide-matrix .s10-note,
.slide-matrix .s9-note {
  margin-top: 14px !important;
}

.st-p,
.st-l,
.st-g,
.s12-risk,
.hdr-bad,
.hdr-good {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 26px !important;
  border-radius: 999px !important;
  padding: 4px 10px !important;
  line-height: 1.3 !important;
}

.st-p {
  background: rgba(215, 164, 10, .14) !important;
  color: #8a6200 !important;
}

.st-l {
  background: rgba(200, 81, 27, .12) !important;
  color: #9a3d12 !important;
}

.st-g,
.s12-risk,
.hdr-bad {
  background: rgba(248, 113, 113, .12) !important;
  color: #b33b3b !important;
}

.hdr-good {
  background: rgba(74, 222, 128, .12) !important;
  color: #23884e !important;
}

.s5-level,
.s8-layer {
  min-height: 72px !important;
}

.s5-lbl,
.s8-name,
.s5-tool,
.s8-status {
  padding: 14px 12px !important;
}

.s5-levels,
.s8-layers,
.s10-table {
  gap: 0 !important;
}

.s3-streams,
.s12-cards,
.s14-cols,
.s13-compare,
.s6-cols {
  gap: 18px !important;
}

.s11-grid,
.s2-items,
.s7-left,
.s7-right,
.s13-col,
.s14-col {
  gap: 12px !important;
}

.s14-footer,
.s2-principle,
.s3-note,
.s6-rel,
.s8-conclusion,
.s10-note,
.s11-verdict,
.s13-verdict {
  border-left: 4px solid var(--gold) !important;
}

.s14-footer,
.s11-verdict,
.s13-verdict,
.s2-principle,
.s3-note,
.s6-rel,
.s8-conclusion,
.s10-note {
  padding: 14px 18px !important;
}

.s15-inner {
  max-width: 900px !important;
}

.s15-note,
.s15-coe {
  font-size: 12.5px !important;
  line-height: 1.5 !important;
}

.s15-note {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.s5-chip,
.st-p,
.st-l,
.st-g,
.tag-binding,
.tag-soft,
.tag-eu {
  font-size: 12.5px !important;
}

.orange,
.s1-law-tag,
.s12-num,
.s12-risk,
.s14-rec strong {
  color: var(--gold) !important;
}

.orange-bar {
  background: var(--gold) !important;
}

[style*="color:var(--orange)"] {
  color: var(--gold) !important;
}

[style*="background:var(--orange)"] {
  background: var(--gold) !important;
  color: var(--navy) !important;
}

[style*="border:1px solid rgba(200,81,27"],
[style*="border-left:3px solid var(--orange)"],
[style*="border-top:3px solid var(--orange)"],
[style*="border-bottom:2px solid var(--orange)"] {
  border-color: var(--gold) !important;
}

svg {
  flex-shrink: 0;
}

@media print {
  .slide::before,
  .slide::after {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
}
