/* ===== Font Faces ===== */
@font-face { font-family:'Manrope'; font-style:normal; font-weight:400; font-display:swap; src:url('../fonts/manrope/manrope-400.ttf') format('truetype') }
@font-face { font-family:'Manrope'; font-style:normal; font-weight:600; font-display:swap; src:url('../fonts/manrope/manrope-600.ttf') format('truetype') }
@font-face { font-family:'Manrope'; font-style:normal; font-weight:700; font-display:swap; src:url('../fonts/manrope/manrope-700.ttf') format('truetype') }
@font-face { font-family:'Manrope'; font-style:normal; font-weight:800; font-display:swap; src:url('../fonts/manrope/manrope-800.ttf') format('truetype') }
/* ===== Base ===== */
body { font-family: 'Manrope', sans-serif; background-color: #f7faf4; color: #181d19 }

/* ===== Industrial Shadow ===== */
.industrial-shadow { box-shadow: 0 4px 20px rgba(18, 48, 71, 0.08) }
.raised-shadow { transition: box-shadow 0.3s, transform 0.3s }
.raised-shadow:hover { box-shadow: 0 12px 32px rgba(18, 48, 71, 0.12); transform: translateY(-4px) }

/* ===== Prose ===== */
.prose { font-family: 'Manrope', sans-serif; font-size: 19px; line-height: 1.6; color: #181d19 }
.prose h2 { font-size: 36px; font-weight: 600; line-height: 1.2; letter-spacing: -0.01em; color: #171d17; margin-top: 2em; margin-bottom: .75em }
@media(min-width:1024px) { .prose h2 { font-size: 48px } }
.prose h2:first-child { margin-top: 0 }
.prose h3 { font-size: 24px; font-weight: 600; line-height: 1.4; color: #171d17; margin-top: 2em; margin-bottom: .5em }
.prose h4 { font-size: 21px; font-weight: 600; line-height: 1.5; color: #171d17; margin-top: 1.5em; margin-bottom: .5em }
.prose p { margin-bottom: 1.25em; color: #404942 }
.prose a { color: #1F6B45; text-decoration: underline; text-underline-offset: 3px; transition: color .2s }
.prose a:hover { color: #123047 }
.prose strong { font-weight: 700; color: #181d19 }
.prose ul, .prose ol { margin-bottom: 1.25em; padding-left: 1.5em }
.prose ul { list-style-type: disc }
.prose ol { list-style-type: decimal }
.prose li { margin-bottom: .5em; color: #404942 }
.prose li::marker { color: #1F6B45 }
.prose img { border-radius: 1.25rem; margin-top: 1.5em; margin-bottom: 1.5em }
.prose blockquote { border-left: 3px solid #1F6B45; padding: 1em 1.5em; margin: 1.5em 0; background: #f1f5ef; border-radius: 0 .75rem .75rem 0; color: #404942; font-style: italic }
.prose blockquote p:last-child { margin-bottom: 0 }
.prose table { width: 100%; border-collapse: collapse; margin: 1.5em 0; overflow: hidden; border-radius: .75rem; font-size: 16px }
.prose table th { background: #ecefe9; font-weight: 600; text-align: left; color: #171d17 }
.prose table th, .prose table td { padding: 12px 16px; border-bottom: 1px solid #DDE5DC }
.prose table tr:last-child td { border-bottom: none }
.prose hr { border: none; border-top: 1px solid #DDE5DC; margin: 2em 0 }

/* ===== Table Scroll ===== */
.table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch }
.table-scroll table { min-width: 700px }

/* ===== Border Radius ===== */
.rounded-xl { border-radius: 1rem !important }
.rounded-lg { border-radius: 0.75rem !important }
.rounded-2xl { border-radius: 1.5rem !important }
