/* ─── Reset ─────────────────────────────────────────────────────────────────── */
*, *::before, *::after {
  box-sizing: border-box;
}

ol { margin: 0; padding: 0; }

/* ─── Base ──────────────────────────────────────────────────────────────────── */
html, body {
  margin: 0;
  padding: 0;
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f172a 100%);
  background-attachment: fixed;
  color: #e2e8f0;
  font-family: 'Segoe UI', system-ui, Helvetica, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ─── Page container (.c42 is the doc body) ─────────────────────────────────── */
.c42 {
  max-width: 900px;
  margin: 40px auto;
  padding: 48px 56px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid #334155;
  border-radius: 16px;
  box-shadow: 0 4px 40px rgba(0, 0, 0, 0.4);
}

/* ─── Headings ──────────────────────────────────────────────────────────────── */

/* Title (.c23 span inside .title) */
.title {
  padding: 0 0 24px;
  margin: 0 0 32px;
  border-bottom: 2px solid #334155;
  text-align: left;
  page-break-after: avoid;
}

.c23 {
  font-size: 2.2rem;
  font-weight: 800;
  background: linear-gradient(135deg, #14b8a6 0%, #f59e0b 50%, #14b8a6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  vertical-align: baseline;
  font-family: inherit;
}

/* H1 */
h1, .c25 {
  margin: 40px 0 12px;
  padding: 0;
  line-height: 1.2;
  page-break-after: avoid;
  orphans: 2;
  widows: 2;
  text-align: left;
}

.c19 {
  font-size: 1.7rem;
  font-weight: 700;
  background: linear-gradient(135deg, #14b8a6 0%, #f59e0b 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  vertical-align: baseline;
  font-family: inherit;
}

/* H2 */
h2, .c6 {
  margin: 36px 0 12px;
  padding: 0 0 8px;
  line-height: 1.25;
  page-break-after: avoid;
  border-bottom: 1px solid #1e293b;
}

.c0 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #14b8a6;
  vertical-align: baseline;
  font-family: inherit;
  -webkit-text-fill-color: #14b8a6;
}

/* H3 */
h3, .c22 {
  margin: 28px 0 10px;
  padding: 0;
  line-height: 1.3;
  page-break-after: avoid;
}

.c10 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #f59e0b;
  vertical-align: baseline;
  font-family: inherit;
  -webkit-text-fill-color: #f59e0b;
}

/* H4 */
h4, .c8, .c3, .c24 {
  margin: 20px 0 8px;
  padding: 0;
  line-height: 1.3;
  page-break-after: avoid;
}

.c17 {
  font-size: 0.95rem;
  font-weight: 600;
  color: #5eead4;
  vertical-align: baseline;
  font-family: inherit;
  -webkit-text-fill-color: #5eead4;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* ─── Body text ─────────────────────────────────────────────────────────────── */
p {
  margin: 0 0 10px;
  color: #cbd5e1;
  font-family: inherit;
  font-size: 0.95rem;
}

/* Word doc paragraph containers */
.c4, .c16, .c30, .c32 {
  padding: 0;
  line-height: 1.7;
  text-align: left;
  margin-bottom: 8px;
}

.c39 {
  padding: 0;
  line-height: 1.7;
  text-align: center;
  margin-bottom: 6px;
  color: #cbd5e1;
}

/* Spacer paragraphs — collapse them */
.c2, .c9, .c31 {
  display: none;
}

/* ─── Inline text styles ────────────────────────────────────────────────────── */
.c1 {
  color: #cbd5e1;
  font-weight: 400;
  font-family: inherit;
  font-size: inherit;
  vertical-align: baseline;
}

.c7 {
  color: #e2e8f0;
  font-weight: 700;
  font-family: inherit;
  font-size: inherit;
  vertical-align: baseline;
}

.c14 {
  font-weight: 700;
  color: #f59e0b;
}

.c36 {
  color: #94a3b8;
  font-style: italic;
  font-family: inherit;
  font-size: inherit;
  vertical-align: baseline;
}

.c38 {
  font-style: italic;
}

/* Diagram/callout text (Template → Instance labels) */
.c29 {
  font-size: 1.1rem;
  font-weight: 700;
  color: #14b8a6;
  font-family: inherit;
  vertical-align: baseline;
}

/* ─── Links ─────────────────────────────────────────────────────────────────── */
a {
  color: #14b8a6;
  text-decoration: none;
  transition: color 0.2s ease;
}

a:hover {
  color: #f59e0b;
}

.c27 {
  color: #14b8a6;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-color: rgba(20, 184, 166, 0.5);
}

.c26 {
  color: inherit;
  text-decoration: inherit;
}

/* ─── Lists ─────────────────────────────────────────────────────────────────── */
ul {
  list-style-type: disc !important;
  padding-left: 28px;
  margin: 8px 0 16px;
}

li {
  color: #cbd5e1;
  font-size: 0.95rem;
  margin-bottom: 6px;
  line-height: 1.65;
}

/* Suppress Word's custom bullet pseudo-elements */
li::before,
li.li-bullet-0::before {
  display: none !important;
  content: none !important;
}

/* Word list containers */
.c18 {
  padding: 0;
  margin: 8px 0;
}

.c13 {
  margin-left: 20px;
}

.c34 {
  margin-left: 20px;
}

/* Kill all the Word-doc lst-kix_* list overrides */
[class*="lst-kix_"] {
  list-style-type: disc !important;
}

/* ─── Tables ─────────────────────────────────────────────────────────────────── */
table.c21 {
  border-spacing: 0;
  border-collapse: collapse;
  width: 100%;
  margin: 20px 0;
  background: rgba(255, 255, 255, 0.02);
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #334155;
}

/* All table cell variants from Word export — unified dark style */
td[class], th[class] {
  padding: 14px 18px !important;
  vertical-align: top !important;
  border: none !important;
  border-bottom: 1px solid #1e293b !important;
  width: auto !important;
}


/* ─── Images ─────────────────────────────────────────────────────────────────── */
img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  border: 1px solid #334155;
}

/* Word image wrapper spans */
span[style*="overflow: hidden"] {
  display: inline-block;
  max-width: 100%;
  border-radius: 8px;
  overflow: hidden !important;
  border: 1px solid #334155;
}

span[style*="overflow: hidden"] img {
  width: 100% !important;
  height: auto !important;
  border: none;
}

/* ─── Orphans / widows helper ───────────────────────────────────────────────── */
.c28 {
  orphans: 2;
  widows: 2;
}

/* ─── Paragraph alignment variants ─────────────────────────────────────────── */
.c43 {
  text-align: center;
  padding-bottom: 8px;
}

.c44 { text-align: right; }
.c52 { text-align: right; }
.c41 { text-align: right; }
.c49 { text-align: right; }

/* ─── Responsive ─────────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .c42 {
    margin: 16px;
    padding: 28px 24px;
    border-radius: 12px;
  }

  table.c21 {
    display: block;
    overflow-x: auto;
  }

  td[class], th[class] {
    min-width: 200px;
  }
}

@media (max-width: 480px) {
  .c42 {
    margin: 8px;
    padding: 20px 16px;
  }

  .c23 { font-size: 1.6rem; }
  .c19 { font-size: 1.3rem; }
}
