:root {
    --sw-mint: #7EC8B8;
    --sw-mint-soft: rgba(126,200,184,0.10);
    --sw-mint-medium: rgba(126,200,184,0.20);
    --sw-mint-border: rgba(126,200,184,0.25);
    --sw-dark: #2D2A3E;
    --sw-cream: #FFF8F0;
    --sw-cream-dark: #F5EDE2;
    --sw-paper: #FFFCF7;
    --sw-warm-tan: #E8DFD1;
    --sw-text: #2D2A3E;
    --sw-text-light: #5C5672;
    --sw-warm-gray: #8A8298;
    --sw-lavender: #D4C5F0;
    --sw-lavender-soft: #F3EEFA;
    --sw-rose: #E8A0A0;
    --sw-rose-soft: #FDF0F0;
    --sw-amber: #D4A96A;
    --sw-amber-soft: #FBF3E8;
    --sw-sage: #8BBF9F;
    --sw-sage-soft: #EEF7F1;
    --sw-sky: #8CBDD9;
    --sw-sky-soft: #EDF5FA;
    --sw-iucn-lc: #60C659;
    --sw-iucn-nt: #CCE226;
    --sw-iucn-vu: #F9E814;
    --sw-iucn-en: #FC7F3F;
    --sw-iucn-cr: #D81E05;
    --sw-iucn-ex: #2D2A3E;
    --sw-font-ui: 'Quicksand', sans-serif;
    --sw-font-body: 'Source Serif 4', Georgia, serif;
    --sw-radius: 8px 2px 8px 2px;
    --sw-shadow: 4px 4px 0 var(--sw-cream-dark);
}

.sw-tldr {
    background: var(--sw-dark);
    color: var(--sw-cream);
    border-radius: var(--sw-radius);
    padding: 24px 28px;
    margin: 24px 0;
    position: relative;
    box-shadow: var(--sw-shadow);
}

.sw-tldr::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 0;
    border-top: 1.5px solid var(--sw-mint);
    border-bottom: 1.5px solid var(--sw-mint);
    padding-top: 3px;
    border-radius: 8px 2px 0 0;
}

.sw-tldr .sw-blok-label {
    font-family: var(--sw-font-ui);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--sw-mint);
    margin-bottom: 12px;
}

.sw-tldr ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sw-tldr li {
    font-family: var(--sw-font-body);
    font-size: 14px;
    line-height: 1.7;
    color: rgba(255,248,240,0.85);
    padding: 6px 0 6px 20px;
    position: relative;
}

.sw-tldr li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 14px;
    width: 6px;
    height: 6px;
    background: var(--sw-mint);
    border-radius: 50%;
}

.sw-toc {
    background: var(--sw-cream);
    border: 1.5px solid var(--sw-warm-tan);
    border-radius: var(--sw-radius);
    padding: 24px 28px;
    margin: 24px 0;
    box-shadow: var(--sw-shadow);
}

.sw-toc .sw-blok-label {
    font-family: var(--sw-font-ui);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--sw-dark);
    margin-bottom: 16px;
    padding-bottom: 10px;
    position: relative;
}

.sw-toc .sw-blok-label::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 32px;
    height: 0;
    border-top: 1px solid var(--sw-mint);
    border-bottom: 1px solid var(--sw-mint);
    padding-top: 2px;
}

.sw-toc ol {
    list-style: none;
    padding: 0;
    margin: 0;
    counter-reset: toc;
}

.sw-toc li {
    counter-increment: toc;
    padding: 6px 0;
}

.sw-toc li a,
.sw-toc li {
    font-family: var(--sw-font-ui);
    font-size: 13px;
    font-weight: 500;
    color: var(--sw-text-light);
    text-decoration: none;
    display: flex;
    align-items: baseline;
    gap: 10px;
    transition: color 0.2s;
}

.sw-toc li::before {
    content: counter(toc, decimal-leading-zero);
    font-family: var(--sw-font-ui);
    font-size: 10px;
    font-weight: 700;
    color: var(--sw-mint);
    min-width: 20px;
}

.sw-toc li a:hover {
    color: var(--sw-dark);
}

.sw-callout {
    border-radius: var(--sw-radius);
    padding: 20px 24px 20px 32px;
    margin: 24px 0;
    position: relative;
    overflow: hidden;
    box-shadow: var(--sw-shadow);
}

.sw-callout::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 6px;
    clip-path: polygon(0 0,100% 0,100% 10%,40% 14%,100% 18%,100% 28%,40% 32%,100% 36%,100% 46%,40% 50%,100% 54%,100% 64%,40% 68%,100% 72%,100% 82%,40% 86%,100% 90%,100% 100%,0 100%);
}

.sw-callout .sw-blok-label {
    font-family: var(--sw-font-ui);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.sw-callout .sw-blok-label svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.sw-callout p {
    font-size: 15px;
    line-height: 1.75;
    color: #3A3650;
    margin: 0;
}

.sw-callout--tip {
    background: var(--sw-mint-soft);
    border: 1.5px solid var(--sw-mint-border);
    border-left: none;
}
.sw-callout--tip::before { background: var(--sw-mint); }
.sw-callout--tip .sw-blok-label { color: #4A9E8E; }

.sw-callout--info {
    background: var(--sw-lavender-soft);
    border: 1.5px solid rgba(212,197,240,0.3);
    border-left: none;
}
.sw-callout--info::before { background: var(--sw-lavender); }
.sw-callout--info .sw-blok-label { color: #8B6FC0; }

.sw-callout--warning {
    background: var(--sw-amber-soft);
    border: 1.5px solid rgba(212,169,106,0.25);
    border-left: none;
}
.sw-callout--warning::before { background: var(--sw-amber); }
.sw-callout--warning .sw-blok-label { color: #A07840; }

.sw-callout--danger {
    background: var(--sw-rose-soft);
    border: 1.5px solid rgba(232,160,160,0.3);
    border-left: none;
}
.sw-callout--danger::before { background: var(--sw-rose); }
.sw-callout--danger .sw-blok-label { color: #B85C5C; }

.sw-definition {
    background: var(--sw-lavender-soft);
    border: 1.5px solid rgba(212,197,240,0.3);
    border-radius: var(--sw-radius);
    padding: 24px 28px;
    margin: 24px 0;
    box-shadow: var(--sw-shadow);
}

.sw-definition .sw-blok-term {
    font-family: var(--sw-font-body);
    font-size: 18px;
    font-weight: 700;
    color: var(--sw-dark);
    margin-bottom: 4px;
}

.sw-definition .sw-blok-badge {
    font-family: var(--sw-font-ui);
    font-size: 8px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #8B6FC0;
    background: rgba(212,197,240,0.3);
    padding: 3px 8px;
    border-radius: 3px;
    margin-left: 10px;
    vertical-align: middle;
}

.sw-definition p {
    font-size: 15px;
    line-height: 1.75;
    color: #3A3650;
    margin-top: 8px;
}

.sw-takeaway {
    background: var(--sw-cream);
    border: 1.5px solid var(--sw-warm-tan);
    border-left: none;
    border-radius: var(--sw-radius);
    padding: 20px 24px 20px 32px;
    margin: 24px 0;
    position: relative;
    overflow: hidden;
    box-shadow: var(--sw-shadow);
}

.sw-takeaway::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 6px;
    background: var(--sw-mint);
    clip-path: polygon(0 0,100% 0,100% 10%,40% 14%,100% 18%,100% 28%,40% 32%,100% 36%,100% 46%,40% 50%,100% 54%,100% 64%,40% 68%,100% 72%,100% 82%,40% 86%,100% 90%,100% 100%,0 100%);
}

.sw-takeaway .sw-blok-label {
    font-family: var(--sw-font-ui);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--sw-mint);
    margin-bottom: 8px;
}

.sw-takeaway p {
    font-family: var(--sw-font-body);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.7;
    color: var(--sw-dark);
    margin: 0;
}

.sw-faq {
    margin: 24px 0;
}

.sw-faq > .sw-blok-label {
    font-family: var(--sw-font-ui);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--sw-dark);
    margin-bottom: 16px;
}

.sw-faq-item {
    border: 1.5px solid var(--sw-warm-tan);
    border-radius: var(--sw-radius);
    margin-bottom: 8px;
    overflow: hidden;
    background: var(--sw-paper);
    box-shadow: 3px 3px 0 var(--sw-cream-dark);
    transition: transform 0.15s, box-shadow 0.15s;
}

.sw-faq-item:hover {
    transform: translate(1px, 1px);
    box-shadow: 2px 2px 0 var(--sw-cream-dark);
}

.sw-faq-question {
    font-family: var(--sw-font-ui);
    font-size: 14px;
    font-weight: 600;
    color: var(--sw-dark);
    padding: 16px 20px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    transition: background 0.2s;
    outline: none;
    -webkit-tap-highlight-color: transparent;
}

.sw-faq-question:hover {
    background: var(--sw-cream);
}

.sw-faq-question::after {
    content: '';
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%237EC8B8' stroke-width='2.5' stroke-linecap='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    transition: transform 0.3s;
}

.sw-faq-item.is-open .sw-faq-question::after {
    transform: rotate(180deg);
}

.sw-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.sw-faq-item.is-open .sw-faq-answer {
    max-height: 500px;
}

.sw-faq-answer-inner {
    padding: 0 20px 16px;
    font-size: 14px;
    line-height: 1.75;
    color: var(--sw-text-light);
    position: relative;
}

.sw-faq-answer-inner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 20px;
    right: 20px;
    height: 0;
    border-top: 1px solid var(--sw-warm-tan);
    border-bottom: 1px solid var(--sw-warm-tan);
    padding-top: 1px;
}

.sw-faq-answer-inner p {
    padding-top: 8px;
    margin: 0;
}

.sw-proscons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin: 24px 0;
}

.sw-proscons-col {
    border-radius: var(--sw-radius);
    padding: 20px 24px;
    box-shadow: var(--sw-shadow);
}

.sw-proscons-col--pro {
    background: var(--sw-sage-soft);
    border: 1.5px solid rgba(139,191,159,0.2);
}

.sw-proscons-col--con {
    background: var(--sw-rose-soft);
    border: 1.5px solid rgba(232,160,160,0.2);
}

.sw-proscons-col .sw-blok-label {
    font-family: var(--sw-font-ui);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 12px;
    padding-bottom: 10px;
    position: relative;
}

.sw-proscons-col .sw-blok-label::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 24px;
    height: 0;
    border-top: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    padding-top: 2px;
    opacity: 0.4;
}

.sw-proscons-col--pro .sw-blok-label { color: #4A8B60; }
.sw-proscons-col--con .sw-blok-label { color: #B85C5C; }

.sw-proscons-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sw-proscons-col li {
    font-size: 14px;
    line-height: 1.7;
    padding: 4px 0 4px 22px;
    position: relative;
    color: #3A3650;
}

.sw-proscons-col--pro li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 11px;
    width: 12px;
    height: 12px;
    background: var(--sw-sage);
    border-radius: 50%;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 6l2 2 4-4' stroke='white' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
}

.sw-proscons-col--con li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 11px;
    width: 12px;
    height: 12px;
    background: var(--sw-rose);
    border-radius: 50%;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.5 3.5l5 5M8.5 3.5l-5 5' stroke='white' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
}

.sw-table-wrap {
    margin: 24px 0;
    overflow-x: auto;
    border-radius: var(--sw-radius);
    box-shadow: var(--sw-shadow);
    border: 1.5px solid var(--sw-warm-tan);
}

.sw-table-wrap table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.sw-table-wrap thead th {
    font-family: var(--sw-font-ui);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--sw-cream);
    background: var(--sw-dark);
    padding: 12px 16px;
    text-align: left;
}

.sw-table-wrap thead tr {
    position: relative;
}

.sw-table-wrap thead tr::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 0;
    border-top: 1px solid var(--sw-mint);
    border-bottom: 1px solid var(--sw-mint);
    padding-top: 2px;
}

.sw-table-wrap tbody td {
    padding: 12px 16px;
    border-bottom: 1px solid var(--sw-warm-tan);
    color: #3A3650;
    line-height: 1.6;
    background: var(--sw-paper);
}

.sw-table-wrap tbody tr:hover td {
    background: var(--sw-cream);
}

.sw-table-wrap .t-check { color: var(--sw-sage); font-weight: 700; }
.sw-table-wrap .t-cross { color: var(--sw-rose); font-weight: 700; }

.sw-stat {
    text-align: center;
    padding: 32px 24px;
    margin: 24px 0;
    background: var(--sw-cream);
    border: 1.5px solid var(--sw-warm-tan);
    border-radius: var(--sw-radius);
    position: relative;
    box-shadow: var(--sw-shadow);
}

.sw-stat::before,
.sw-stat::after {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 0;
    border-top: 1px solid var(--sw-mint);
    border-bottom: 1px solid var(--sw-mint);
    padding-top: 2px;
}

.sw-stat::before { top: 12px; }
.sw-stat::after { bottom: 12px; }

.sw-stat .sw-stat-number {
    font-family: var(--sw-font-ui);
    font-size: 48px;
    font-weight: 700;
    color: var(--sw-mint);
    line-height: 1;
    margin-bottom: 8px;
}

.sw-stat .sw-stat-desc {
    font-family: var(--sw-font-body);
    font-size: 15px;
    color: var(--sw-dark);
    font-weight: 500;
    margin: 0;
}

.sw-stat .sw-stat-source {
    font-family: var(--sw-font-ui);
    font-size: 11px;
    color: var(--sw-warm-gray);
    margin-top: 6px;
}

.sw-checklist {
    background: var(--sw-cream);
    border: 1.5px solid var(--sw-warm-tan);
    border-radius: var(--sw-radius);
    padding: 24px 28px;
    margin: 24px 0;
    box-shadow: var(--sw-shadow);
}

.sw-checklist .sw-blok-label {
    font-family: var(--sw-font-ui);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--sw-dark);
    margin-bottom: 14px;
    padding-bottom: 10px;
    position: relative;
}

.sw-checklist .sw-blok-label::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 24px;
    height: 0;
    border-top: 1px solid var(--sw-mint);
    border-bottom: 1px solid var(--sw-mint);
    padding-top: 2px;
}

.sw-checklist ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sw-checklist li {
    font-size: 14px;
    line-height: 1.7;
    padding: 6px 0 6px 28px;
    position: relative;
    color: #3A3650;
}

.sw-checklist li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 16px;
    height: 16px;
    border: 2px solid var(--sw-mint);
    border-radius: 3px;
}

.sw-checklist li.is-checked::before {
    background: var(--sw-mint);
    border-color: var(--sw-mint);
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 8l3 3 5-5' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

.sw-quote {
    padding: 28px 32px;
    margin: 24px 0;
    background: var(--sw-dark);
    border-radius: var(--sw-radius);
    position: relative;
    box-shadow: var(--sw-shadow);
}

.sw-quote::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 0;
    border-top: 1.5px solid var(--sw-mint);
    border-bottom: 1.5px solid var(--sw-mint);
    padding-top: 3px;
    border-radius: 8px 2px 0 0;
}

.sw-quote::after {
    content: '';
    position: absolute;
    top: 20px;
    left: 28px;
    width: 28px;
    height: 20px;
    opacity: 0.15;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 28 20' fill='%237EC8B8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 20V8.57C0 3.05 3.73 0 9.33 0v4.76c-3.11 0-4.66 1.52-4.66 4.57h4.66V20H0zm14.67 0V8.57c0-5.52 3.73-8.57 9.33-8.57v4.76c-3.11 0-4.67 1.52-4.67 4.57h4.67V20h-9.33z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
}

.sw-quote .sw-quote-text {
    font-family: var(--sw-font-body);
    font-size: 17px;
    font-style: italic;
    line-height: 1.8;
    color: var(--sw-cream);
    margin-bottom: 16px;
    padding-top: 12px;
}

.sw-quote .sw-quote-author {
    font-family: var(--sw-font-ui);
    font-size: 12px;
    font-weight: 600;
    color: var(--sw-mint);
    margin: 0;
}

.sw-quote .sw-quote-role {
    font-family: var(--sw-font-ui);
    font-size: 11px;
    color: rgba(255,248,240,0.5);
    margin-top: 2px;
}

.sw-timeline {
    margin: 24px 0;
    padding-left: 28px;
    position: relative;
}

.sw-timeline::before {
    content: '';
    position: absolute;
    left: 8px;
    top: 8px;
    bottom: 8px;
    width: 0;
    border-left: 1px solid var(--sw-mint);
    border-right: 1px solid var(--sw-mint);
    padding-left: 2px;
}

.sw-timeline-step {
    position: relative;
    padding: 0 0 28px 24px;
}

.sw-timeline-step:last-child {
    padding-bottom: 0;
}

.sw-timeline-step::before {
    content: '';
    position: absolute;
    left: -24px;
    top: 6px;
    width: 16px;
    height: 16px;
    background: var(--sw-paper);
    border: 2.5px solid var(--sw-mint);
    border-radius: 50%;
    z-index: 1;
}

.sw-timeline-step .sw-step-title {
    font-family: var(--sw-font-ui);
    font-size: 14px;
    font-weight: 700;
    color: var(--sw-dark);
    margin-bottom: 4px;
}

.sw-timeline-step p {
    font-size: 14px;
    line-height: 1.7;
    color: var(--sw-text-light);
    margin: 0;
}

.sw-cta-banner {
    background: var(--sw-dark);
    border-radius: var(--sw-radius);
    padding: 32px;
    margin: 24px 0;
    text-align: center;
    position: relative;
    overflow: hidden;
    box-shadow: var(--sw-shadow);
}

.sw-cta-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 0;
    border-top: 1.5px solid var(--sw-mint);
    border-bottom: 1.5px solid var(--sw-mint);
    padding-top: 3px;
}

.sw-cta-banner::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 0;
    border-top: 1.5px solid rgba(126,200,184,0.15);
    border-bottom: 1.5px solid rgba(126,200,184,0.15);
    padding-top: 3px;
}

.sw-cta-banner h3 {
    font-family: var(--sw-font-ui);
    font-size: 20px;
    font-weight: 700;
    color: var(--sw-cream);
    margin-bottom: 8px;
}

.sw-cta-banner > p {
    font-size: 14px;
    color: rgba(255,248,240,0.7);
    margin-bottom: 20px;
}

.sw-cta-banner-btn {
    display: inline-block;
    font-family: var(--sw-font-ui);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: #2D2A3E !important;
    background: var(--sw-mint);
    padding: 12px 28px;
    border-radius: var(--sw-radius);
    text-decoration: none;
    box-shadow: 3px 3px 0 rgba(0,0,0,0.25);
    transition: transform 0.15s, box-shadow 0.15s;
}

.sw-cta-banner-btn:hover {
    transform: translate(1px, 1px);
    box-shadow: 2px 2px 0 rgba(0,0,0,0.25);
    color: #2D2A3E !important;
}

.sw-separator {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 36px 0;
    color: var(--sw-mint);
    border: none;
    background: none;
}

.sw-separator::before,
.sw-separator::after {
    content: '';
    flex: 1;
    max-width: 60px;
    height: 0;
    border-top: 1px solid var(--sw-mint);
    border-bottom: 1px solid var(--sw-mint);
    padding-top: 2px;
}

.sw-separator svg {
    width: 14px;
    height: 14px;
}

.sw-sources {
    background: var(--sw-cream);
    border: 1.5px solid var(--sw-warm-tan);
    border-radius: var(--sw-radius);
    padding: 20px 24px;
    margin: 24px 0;
    position: relative;
}

.sw-sources::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 0;
    border-top: 1px solid var(--sw-warm-tan);
    border-bottom: 1px solid var(--sw-warm-tan);
    padding-top: 2px;
    border-radius: 8px 2px 0 0;
}

.sw-sources .sw-blok-label {
    font-family: var(--sw-font-ui);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--sw-dark);
    margin-bottom: 12px;
}

.sw-sources ol {
    padding-left: 20px;
    margin: 0;
}

.sw-sources li {
    font-size: 12px;
    line-height: 1.7;
    color: var(--sw-warm-gray);
    padding: 3px 0;
}

.sw-sources a {
    color: var(--sw-text-light);
    text-decoration: underline;
    text-decoration-color: var(--sw-mint);
}

.sw-species {
    border: 1.5px solid var(--sw-warm-tan);
    border-radius: var(--sw-radius);
    overflow: hidden;
    margin: 24px 0;
    box-shadow: var(--sw-shadow);
    position: relative;
}

.sw-species::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--sw-mint);
    z-index: 1;
}

.sw-species .sw-species-img {
    width: 100%;
    height: 200px;
    background: linear-gradient(135deg, var(--sw-mint-soft), var(--sw-lavender-soft));
    display: flex;
    align-items: center;
    justify-content: center;
}

.sw-species .sw-species-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sw-species-body {
    padding: 24px;
    background: var(--sw-paper);
}

.sw-species-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 16px;
    flex-wrap: wrap;
    gap: 8px;
}

.sw-species-name {
    font-family: var(--sw-font-body);
    font-size: 22px;
    font-weight: 700;
    color: var(--sw-dark);
    margin: 0;
}

.sw-species-latin {
    font-style: italic;
    font-size: 13px;
    color: var(--sw-warm-gray);
    font-weight: 400;
}

.sw-species-iucn {
    font-family: var(--sw-font-ui);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    padding: 4px 10px;
    border-radius: 3px;
    color: white;
    white-space: nowrap;
    display: inline-block;
}

.sw-species-iucn--lc { background: var(--sw-iucn-lc); color: var(--sw-dark); }
.sw-species-iucn--nt { background: var(--sw-iucn-nt); color: var(--sw-dark); }
.sw-species-iucn--vu { background: var(--sw-iucn-vu); color: var(--sw-dark); }
.sw-species-iucn--en { background: var(--sw-iucn-en); }
.sw-species-iucn--cr { background: var(--sw-iucn-cr); }
.sw-species-iucn--ex { background: var(--sw-iucn-ex); }

.sw-species-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.sw-species-field {
    padding: 10px 14px;
    background: var(--sw-cream);
    border-radius: 6px;
    border: 1px solid var(--sw-warm-tan);
    transition: transform 0.15s, box-shadow 0.15s, border-color 0.2s, background 0.2s;
    cursor: default;
}

.sw-species-field:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(126,200,184,0.12);
    border-color: var(--sw-mint-border);
    background: var(--sw-paper);
}

.sw-species-field-label {
    font-family: var(--sw-font-ui);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--sw-warm-gray);
    margin-bottom: 2px;
}

.sw-species-field-value {
    font-family: var(--sw-font-ui);
    font-size: 13px;
    font-weight: 600;
    color: var(--sw-dark);
}

.sw-species-taxonomy {
    margin-top: 16px;
    padding-top: 16px;
    position: relative;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.sw-species-taxonomy::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 0;
    border-top: 1px solid var(--sw-warm-tan);
    border-bottom: 1px solid var(--sw-warm-tan);
    padding-top: 2px;
}

.sw-species-tax-item {
    font-family: var(--sw-font-ui);
    font-size: 11px;
    color: var(--sw-warm-gray);
}

.sw-species-tax-item strong {
    color: var(--sw-text-light);
}

.sw-compare {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin: 24px 0;
}

.sw-compare-card {
    border: 1.5px solid var(--sw-warm-tan);
    border-radius: var(--sw-radius);
    padding: 20px;
    text-align: center;
    background: var(--sw-paper);
    box-shadow: var(--sw-shadow);
    position: relative;
}

.sw-compare-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--sw-mint);
    border-radius: 8px 2px 0 0;
}

.sw-compare-icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--sw-cream);
    border: 1.5px solid var(--sw-warm-tan);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 12px;
    overflow: hidden;
}

.sw-compare-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.sw-compare-name {
    font-family: var(--sw-font-ui);
    font-size: 15px;
    font-weight: 700;
    color: var(--sw-dark);
    margin-bottom: 4px;
}

.sw-compare-latin {
    font-family: var(--sw-font-body);
    font-style: italic;
    font-size: 12px;
    color: var(--sw-warm-gray);
    margin-bottom: 12px;
}

.sw-compare-card ul {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: left;
}

.sw-compare-card li {
    font-size: 13px;
    padding: 4px 0;
    color: var(--sw-text-light);
    border-bottom: 1px solid var(--sw-cream);
}

.sw-compare-card li:last-child {
    border-bottom: none;
}

.sw-compare-card li strong {
    font-family: var(--sw-font-ui);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--sw-warm-gray);
}

.sw-funfact {
    background: linear-gradient(135deg, var(--sw-mint-soft), var(--sw-lavender-soft));
    border: 1.5px solid var(--sw-mint-border);
    border-radius: var(--sw-radius);
    padding: 24px 28px;
    margin: 24px 0;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    box-shadow: var(--sw-shadow);
}

.sw-funfact-icon {
    width: 44px;
    height: 44px;
    min-width: 44px;
    background: var(--sw-mint);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 2px 2px 0 var(--sw-cream-dark);
}

.sw-funfact-icon svg {
    width: 22px;
    height: 22px;
    color: var(--sw-dark);
}

.sw-funfact .sw-blok-label {
    font-family: var(--sw-font-ui);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--sw-mint);
    margin-bottom: 4px;
}

.sw-funfact p {
    font-family: var(--sw-font-body);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.7;
    color: var(--sw-dark);
    margin: 0;
}

.sw-study {
    border: 1.5px solid var(--sw-warm-tan);
    border-left: none;
    border-radius: var(--sw-radius);
    padding: 20px 24px 20px 32px;
    margin: 24px 0;
    background: var(--sw-paper);
    box-shadow: var(--sw-shadow);
    position: relative;
    overflow: hidden;
}

.sw-study::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 6px;
    background: var(--sw-lavender);
    clip-path: polygon(0 0,100% 0,100% 10%,40% 14%,100% 18%,100% 28%,40% 32%,100% 36%,100% 46%,40% 50%,100% 54%,100% 64%,40% 68%,100% 72%,100% 82%,40% 86%,100% 90%,100% 100%,0 100%);
}

.sw-study .sw-blok-badge {
    font-family: var(--sw-font-ui);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #8B6FC0;
    background: var(--sw-lavender-soft);
    padding: 3px 8px;
    border-radius: 3px;
    display: inline-block;
    margin-bottom: 10px;
}

.sw-study h4 {
    font-family: var(--sw-font-body);
    font-size: 16px;
    font-weight: 600;
    color: var(--sw-dark);
    line-height: 1.5;
    margin-bottom: 8px;
}

.sw-study .sw-study-meta {
    font-family: var(--sw-font-ui);
    font-size: 12px;
    color: var(--sw-warm-gray);
    margin-bottom: 12px;
}

.sw-study .sw-study-finding {
    font-size: 14px;
    line-height: 1.7;
    color: #3A3650;
    padding: 12px 16px;
    background: var(--sw-lavender-soft);
    border-radius: 6px;
    margin-bottom: 10px;
    border: 1px solid rgba(212,197,240,0.2);
}

.sw-study .sw-study-finding-label {
    font-family: var(--sw-font-ui);
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #8B6FC0;
    margin-bottom: 4px;
}

.sw-study .sw-study-doi {
    font-family: var(--sw-font-ui);
    font-size: 11px;
}

.sw-study .sw-study-doi a {
    color: var(--sw-mint);
    text-decoration: none;
}

.sw-study .sw-study-doi a:hover {
    text-decoration: underline;
}

.sw-vet-warning {
    border: 2px solid var(--sw-rose);
    border-radius: var(--sw-radius);
    padding: 20px 24px;
    margin: 24px 0;
    background: var(--sw-rose-soft);
    display: flex;
    align-items: flex-start;
    gap: 14px;
    box-shadow: var(--sw-shadow);
}

.sw-vet-warning-icon {
    width: 36px;
    height: 36px;
    min-width: 36px;
    background: var(--sw-rose);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 2px 2px 0 rgba(232,160,160,0.3);
}

.sw-vet-warning-icon svg {
    width: 18px;
    height: 18px;
    color: white;
}

.sw-vet-warning .sw-blok-label {
    font-family: var(--sw-font-ui);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #B85C5C;
    margin-bottom: 4px;
}

.sw-vet-warning p {
    font-size: 14px;
    line-height: 1.7;
    color: #3A3650;
    margin: 0;
}

.sw-product {
    border: 1.5px solid var(--sw-warm-tan);
    border-radius: var(--sw-radius);
    overflow: hidden;
    margin: 24px 0;
    display: flex;
    background: var(--sw-paper);
    box-shadow: var(--sw-shadow);
    position: relative;
}

.sw-product::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--sw-mint);
    z-index: 1;
}

.sw-product-img {
    width: 160px;
    min-height: 160px;
    background: var(--sw-cream);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-right: 1.5px solid var(--sw-warm-tan);
    overflow: hidden;
}

.sw-product-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sw-product-body {
    padding: 20px 24px;
    flex: 1;
}

.sw-product .sw-blok-badge {
    font-family: var(--sw-font-ui);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--sw-mint);
    background: var(--sw-mint-soft);
    border: 1px solid var(--sw-mint-border);
    padding: 3px 8px;
    border-radius: 3px;
    display: inline-block;
    margin-bottom: 8px;
}

.sw-product h4 {
    font-family: var(--sw-font-ui);
    font-size: 16px;
    font-weight: 700;
    color: var(--sw-dark);
    margin-bottom: 4px;
}

.sw-product-stars {
    color: var(--sw-amber);
    font-size: 13px;
    margin-bottom: 8px;
    letter-spacing: 2px;
}

.sw-product-body > p {
    font-size: 13px;
    line-height: 1.7;
    color: var(--sw-text-light);
    margin-bottom: 14px;
}

.sw-product-cta {
    display: inline-block;
    font-family: var(--sw-font-ui);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: #2D2A3E !important;
    background: var(--sw-mint);
    padding: 8px 20px;
    border-radius: var(--sw-radius);
    text-decoration: none !important;
    box-shadow: 2px 2px 0 #2D2A3E;
    transition: transform 0.15s, box-shadow 0.15s;
}

.sw-product-cta:hover {
    transform: translate(1px, 1px);
    box-shadow: 1px 1px 0 #2D2A3E;
    color: #2D2A3E !important;
}

.sw-conservation {
    border: 1.5px solid var(--sw-warm-tan);
    border-radius: var(--sw-radius);
    padding: 20px 24px;
    margin: 24px 0;
    background: var(--sw-paper);
    box-shadow: var(--sw-shadow);
    position: relative;
}

.sw-conservation::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 0;
    border-top: 1px solid var(--sw-warm-tan);
    border-bottom: 1px solid var(--sw-warm-tan);
    padding-top: 2px;
    border-radius: 8px 2px 0 0;
}

.sw-conservation .sw-blok-label {
    font-family: var(--sw-font-ui);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--sw-dark);
    margin-bottom: 14px;
}

.sw-conservation-scale {
    display: flex;
    gap: 3px;
    margin-bottom: 14px;
    height: 28px;
}

.sw-conservation-level {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--sw-font-ui);
    font-size: 9px;
    font-weight: 700;
    color: white;
    border-radius: 3px;
    opacity: 0.35;
    transition: opacity 0.2s;
}

.sw-conservation-level:first-child { border-radius: 6px 3px 3px 6px; }
.sw-conservation-level:last-child { border-radius: 3px 6px 6px 3px; }

.sw-conservation-level--lc { background: var(--sw-iucn-lc); color: #2D2A3E; }
.sw-conservation-level--nt { background: var(--sw-iucn-nt); color: #2D2A3E; }
.sw-conservation-level--vu { background: var(--sw-iucn-vu); color: #2D2A3E; }
.sw-conservation-level--en { background: var(--sw-iucn-en); }
.sw-conservation-level--cr { background: var(--sw-iucn-cr); }
.sw-conservation-level--ex { background: var(--sw-iucn-ex); }

.sw-conservation-level.is-active {
    opacity: 1;
    transform: scaleY(1.15);
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.sw-conservation p {
    font-size: 14px;
    line-height: 1.7;
    color: var(--sw-text-light);
}

.sw-conservation .sw-conservation-link {
    display: inline-block;
    margin-top: 8px;
    font-family: var(--sw-font-ui);
    font-size: 11px;
    font-weight: 600;
    color: var(--sw-mint);
    text-decoration: none;
}

.sw-conservation .sw-conservation-link:hover {
    text-decoration: underline;
}

@media (max-width: 600px) {
    .sw-proscons,
    .sw-compare {
        grid-template-columns: 1fr;
    }

    .sw-product {
        flex-direction: column;
    }

    .sw-product-img {
        width: 100%;
        height: 140px;
        border-right: none;
        border-bottom: 1.5px solid var(--sw-warm-tan);
    }

    .sw-species-grid {
        grid-template-columns: 1fr;
    }

    .sw-funfact {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
}

.sw-tldr,
.sw-toc,
.sw-callout,
.sw-definition,
.sw-takeaway,
.sw-checklist,
.sw-quote,
.sw-funfact,
.sw-study,
.sw-vet-warning,
.sw-sources,
.sw-conservation,
.sw-stat {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sw-tldr:hover,
.sw-toc:hover,
.sw-callout:hover,
.sw-definition:hover,
.sw-takeaway:hover,
.sw-checklist:hover,
.sw-quote:hover,
.sw-funfact:hover,
.sw-study:hover,
.sw-vet-warning:hover,
.sw-sources:hover,
.sw-conservation:hover,
.sw-stat:hover {
    transform: translate(1px, 1px);
    box-shadow: 3px 3px 0 var(--sw-cream-dark);
}

.sw-species,
.sw-product {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sw-species:hover,
.sw-product:hover {
    transform: translate(1px, 1px);
    box-shadow: 3px 3px 0 var(--sw-cream-dark);
}

.sw-table-wrap {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sw-table-wrap:hover {
    transform: translate(1px, 1px);
    box-shadow: 3px 3px 0 var(--sw-cream-dark);
}

.sw-proscons-col {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sw-proscons-col:hover {
    transform: translate(1px, 1px);
    box-shadow: 3px 3px 0 var(--sw-cream-dark);
}

.sw-compare-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sw-compare-card:hover {
    transform: translate(1px, 1px);
    box-shadow: 3px 3px 0 var(--sw-cream-dark);
}

.sw-timeline-step {
    transition: transform 0.2s ease;
}

.sw-timeline-step:hover {
    transform: translateX(4px);
}

.sw-timeline-step:hover .sw-step-title {
    color: var(--sw-mint);
}

.sw-timeline-step::before {
    transition: background 0.2s, border-color 0.2s, transform 0.2s;
}

.sw-timeline-step:hover::before {
    background: var(--sw-mint);
    border-color: var(--sw-mint);
    transform: scale(1.2);
}

.sw-separator svg {
    transition: transform 0.4s ease;
}

.sw-separator:hover svg {
    transform: rotate(90deg);
}

.sw-separator::before,
.sw-separator::after {
    transition: max-width 0.3s ease;
    max-width: 60px;
}

.sw-separator:hover::before,
.sw-separator:hover::after {
    max-width: 100px;
}

.sw-stat-number {
    transition: transform 0.2s ease, color 0.2s ease;
}

.sw-stat:hover .sw-stat-number {
    transform: scale(1.05);
}

.sw-species-iucn {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sw-species-iucn:hover {
    transform: scale(1.08);
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.sw-compare-icon {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sw-compare-card:hover .sw-compare-icon {
    transform: scale(1.08);
    box-shadow: 0 4px 12px rgba(126,200,184,0.2);
}

.sw-funfact-icon {
    transition: transform 0.3s ease;
}

.sw-funfact:hover .sw-funfact-icon {
    transform: rotate(-8deg) scale(1.08);
}

.sw-vet-warning-icon {
    transition: transform 0.3s ease;
}

.sw-vet-warning:hover .sw-vet-warning-icon {
    transform: scale(1.12);
}

.sw-article__tag {
    transition: background 0.2s, color 0.2s, transform 0.15s, box-shadow 0.15s;
}

.sw-article__tag:hover {
    transform: translateY(-2px);
    box-shadow: 0 3px 8px rgba(126,200,184,0.15);
}

.sw-toc li a {
    transition: color 0.2s, transform 0.15s;
}

.sw-toc li a:hover {
    transform: translateX(4px);
}

.sw-sources li {
    transition: background 0.2s;
    padding: 4px 6px;
    margin: 0 -6px;
    border-radius: 3px;
}

.sw-sources li:hover {
    background: rgba(126,200,184,0.06);
}

.sw-conservation-level {
    transition: opacity 0.2s, transform 0.2s, box-shadow 0.2s;
    cursor: default;
}

.sw-conservation-level:hover {
    opacity: 0.7 !important;
    transform: scaleY(1.1);
}

.sw-conservation-level.is-active:hover {
    opacity: 1 !important;
    transform: scaleY(1.2);
}

.sw-cta-banner-btn,
.sw-product-cta {
    position: relative;
    overflow: hidden;
}

.sw-cta-banner-btn::after,
.sw-product-cta::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: rgba(255,255,255,0.3);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: width 0.4s ease, height 0.4s ease, opacity 0.4s ease;
    opacity: 0;
}

.sw-cta-banner-btn:active::after,
.sw-product-cta:active::after {
    width: 200px;
    height: 200px;
    opacity: 0;
}

.sw-checklist li {
    transition: background 0.2s, padding-left 0.2s;
    border-radius: 4px;
    margin: 0 -8px;
    padding-left: 36px;
    padding-right: 8px;
}

.sw-checklist li:hover {
    background: rgba(126,200,184,0.06);
}

.sw-proscons-col li {
    transition: transform 0.15s;
}

.sw-proscons-col li:hover {
    transform: translateX(4px);
}

.sw-ripple-container {
    position: relative;
    overflow: hidden;
}

.sw-ripple {
    position: absolute;
    border-radius: 50%;
    background: transparent;
    pointer-events: none;
    z-index: 5;
}

.sw-ripple::before,
.sw-ripple::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 50%;
    border: 1.5px solid var(--sw-mint);
    transform: translate(-50%, -50%);
    opacity: 0;
}

.sw-ripple::before {
    animation: sw-ripple-ring 0.7s ease-out forwards;
}

.sw-ripple::after {
    animation: sw-ripple-ring 0.7s 0.15s ease-out forwards;
}

.sw-ripple-third {
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 50%;
    border: 1px solid var(--sw-mint);
    transform: translate(-50%, -50%);
    opacity: 0;
    animation: sw-ripple-ring 0.7s 0.3s ease-out forwards;
}

@keyframes sw-ripple-ring {
    0% {
        width: 0;
        height: 0;
        opacity: 0.5;
    }
    100% {
        width: 120px;
        height: 120px;
        opacity: 0;
    }
}

body.sw-dark .sw-tldr {
    background: #1A1728;
    box-shadow: 4px 4px 0 rgba(0,0,0,0.3);
}

body.sw-dark .sw-tldr li {
    color: #FFF8F0;
}

body.sw-dark .sw-toc {
    box-shadow: 4px 4px 0 rgba(0,0,0,0.3);
}

body.sw-dark .sw-toc li a,
body.sw-dark .sw-toc li {
    color: #FFF8F0;
}

body.sw-dark .sw-toc li a:hover {
    color: var(--sw-mint);
}

body.sw-dark .sw-callout {
    box-shadow: 4px 4px 0 rgba(0,0,0,0.3);
}

body.sw-dark .sw-callout--tip {
    background: rgba(126,200,184,0.06);
    border-color: rgba(126,200,184,0.15);
}

body.sw-dark .sw-callout--info {
    background: rgba(155,142,196,0.06);
    border-color: rgba(155,142,196,0.15);
}

body.sw-dark .sw-callout--warning {
    background: rgba(212,169,106,0.06);
    border-color: rgba(212,169,106,0.15);
}

body.sw-dark .sw-callout--danger {
    background: rgba(232,160,160,0.06);
    border-color: rgba(232,160,160,0.15);
}

body.sw-dark .sw-callout p,
body.sw-dark .sw-definition p,
body.sw-dark .sw-takeaway p,
body.sw-dark .sw-study .sw-study-finding,
body.sw-dark .sw-vet-warning p,
body.sw-dark .sw-product-body > p,
body.sw-dark .sw-checklist li,
body.sw-dark .sw-proscons-col li,
body.sw-dark .sw-compare-card li,
body.sw-dark .sw-table-wrap tbody td,
body.sw-dark .sw-conservation p,
body.sw-dark .sw-timeline-step p,
body.sw-dark .sw-faq-answer-inner p {
    color: #FFF8F0;
}

body.sw-dark .sw-callout--tip .sw-blok-label { color: var(--sw-mint); }
body.sw-dark .sw-callout--info .sw-blok-label { color: #B8A6E0; }
body.sw-dark .sw-callout--warning .sw-blok-label { color: #E0C080; }
body.sw-dark .sw-callout--danger .sw-blok-label { color: #E8A0A0; }

body.sw-dark .sw-definition {
    background: rgba(155,142,196,0.06);
    border-color: rgba(155,142,196,0.15);
    box-shadow: 4px 4px 0 rgba(0,0,0,0.3);
}

body.sw-dark .sw-definition .sw-blok-badge {
    color: #B8A6E0;
    background: rgba(155,142,196,0.15);
}

body.sw-dark .sw-takeaway {
    box-shadow: 4px 4px 0 rgba(0,0,0,0.3);
}

body.sw-dark .sw-faq-item {
    background: var(--sw-paper);
    box-shadow: 3px 3px 0 rgba(0,0,0,0.3);
}

body.sw-dark .sw-faq-item:hover {
    box-shadow: 2px 2px 0 rgba(0,0,0,0.3);
}

body.sw-dark .sw-faq-question {
    color: var(--sw-dark);
}

body.sw-dark .sw-faq-question:hover {
    background: rgba(126,200,184,0.06);
}

body.sw-dark .sw-faq-answer-inner::before {
    border-color: rgba(255,248,240,0.08);
}

body.sw-dark .sw-proscons-col {
    box-shadow: 4px 4px 0 rgba(0,0,0,0.3);
}

body.sw-dark .sw-proscons-col--pro {
    background: rgba(139,191,159,0.06);
    border-color: rgba(139,191,159,0.15);
}

body.sw-dark .sw-proscons-col--con {
    background: rgba(232,160,160,0.06);
    border-color: rgba(232,160,160,0.15);
}

body.sw-dark .sw-proscons-col--pro .sw-blok-label { color: #8BBF9F; }
body.sw-dark .sw-proscons-col--con .sw-blok-label { color: #E8A0A0; }

body.sw-dark .sw-table-wrap {
    box-shadow: 4px 4px 0 rgba(0,0,0,0.3);
}

body.sw-dark .sw-table-wrap thead th {
    background: #1A1728;
    color: #FFF8F0;
}

body.sw-dark .sw-table-wrap tbody td {
    background: var(--sw-paper);
    border-color: rgba(255,248,240,0.08);
}

body.sw-dark .sw-table-wrap tbody tr:hover td {
    background: rgba(126,200,184,0.06);
}

body.sw-dark .sw-table-wrap .t-check { color: #8BBF9F; }
body.sw-dark .sw-table-wrap .t-cross { color: #E8A0A0; }

body.sw-dark .sw-stat {
    box-shadow: 4px 4px 0 rgba(0,0,0,0.3);
}

body.sw-dark .sw-stat .sw-stat-desc {
    color: #FFF8F0;
}

body.sw-dark .sw-checklist {
    box-shadow: 4px 4px 0 rgba(0,0,0,0.3);
}

body.sw-dark .sw-checklist li:hover {
    background: rgba(126,200,184,0.04);
}

body.sw-dark .sw-quote {
    background: #1A1728;
    box-shadow: 4px 4px 0 rgba(0,0,0,0.3);
}

body.sw-dark .sw-quote .sw-quote-text {
    color: #FFF8F0;
}

body.sw-dark .sw-quote .sw-quote-role {
    color: #FFF8F0;
}

body.sw-dark .sw-cta-banner {
    background: #1A1728;
    box-shadow: 4px 4px 0 rgba(0,0,0,0.3);
}

body.sw-dark .sw-cta-banner h3 {
    color: #FFF8F0;
}

body.sw-dark .sw-cta-banner > p {
    color: #FFF8F0;
}

body.sw-dark .sw-cta-banner-btn {
    color: #2D2A3E !important;
    box-shadow: 3px 3px 0 rgba(0,0,0,0.4);
}

body.sw-dark .sw-cta-banner-btn:hover {
    color: #2D2A3E !important;
    box-shadow: 2px 2px 0 rgba(0,0,0,0.4);
}

body.sw-dark .sw-separator {
    color: rgba(126,200,184,0.5);
}

body.sw-dark .sw-separator::before,
body.sw-dark .sw-separator::after {
    border-color: rgba(126,200,184,0.3);
}

body.sw-dark .sw-sources {
    border-color: rgba(255,248,240,0.08);
}

body.sw-dark .sw-sources::before {
    border-color: rgba(255,248,240,0.08);
}

body.sw-dark .sw-sources li {
    color: #FFF8F0;
}

body.sw-dark .sw-sources a {
    color: #FFF8F0;
    text-decoration-color: rgba(126,200,184,0.4);
}

body.sw-dark .sw-sources li:hover {
    background: rgba(126,200,184,0.04);
}

body.sw-dark .sw-species {
    box-shadow: 4px 4px 0 rgba(0,0,0,0.3);
}

body.sw-dark .sw-species-body {
    background: var(--sw-paper);
}

body.sw-dark .sw-species-name {
    color: #FFF8F0;
}

body.sw-dark .sw-species-latin {
    color: #FFF8F0;
}

body.sw-dark .sw-species-field {
    background: rgba(255,248,240,0.03);
    border-color: rgba(255,248,240,0.06);
}

body.sw-dark .sw-species-field:hover {
    background: rgba(126,200,184,0.06);
    border-color: rgba(126,200,184,0.15);
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

body.sw-dark .sw-species-field-value {
    color: #FFF8F0;
}

body.sw-dark .sw-species-taxonomy::before {
    border-color: rgba(255,248,240,0.08);
}

body.sw-dark .sw-compare-card {
    background: var(--sw-paper);
    box-shadow: 4px 4px 0 rgba(0,0,0,0.3);
}

body.sw-dark .sw-compare-name {
    color: #FFF8F0;
}

body.sw-dark .sw-compare-latin {
    color: #FFF8F0;
}

body.sw-dark .sw-compare-icon {
    background: rgba(255,248,240,0.04);
    border-color: rgba(255,248,240,0.08);
}

body.sw-dark .sw-compare-card li {
    border-color: rgba(255,248,240,0.08);
}

body.sw-dark .sw-compare-card li strong {
    color: #FFF8F0;
}

body.sw-dark .sw-funfact {
    background: linear-gradient(135deg, rgba(126,200,184,0.06), rgba(155,142,196,0.06));
    border-color: rgba(126,200,184,0.15);
    box-shadow: 4px 4px 0 rgba(0,0,0,0.3);
}

body.sw-dark .sw-funfact p {
    color: #FFF8F0;
}

body.sw-dark .sw-funfact-icon {
    box-shadow: 2px 2px 0 rgba(0,0,0,0.3);
}

body.sw-dark .sw-study {
    background: var(--sw-paper);
    box-shadow: 4px 4px 0 rgba(0,0,0,0.3);
}

body.sw-dark .sw-study .sw-blok-badge {
    color: #B8A6E0;
    background: rgba(155,142,196,0.1);
}

body.sw-dark .sw-study h4 {
    color: #FFF8F0;
}

body.sw-dark .sw-study .sw-study-finding {
    background: rgba(155,142,196,0.06);
    border-color: rgba(155,142,196,0.1);
}

body.sw-dark .sw-study .sw-study-finding-label {
    color: #B8A6E0;
}

body.sw-dark .sw-vet-warning {
    background: rgba(232,160,160,0.06);
    border-color: rgba(232,160,160,0.25);
    box-shadow: 4px 4px 0 rgba(0,0,0,0.3);
}

body.sw-dark .sw-vet-warning .sw-blok-label {
    color: #E8A0A0;
}

body.sw-dark .sw-vet-warning-icon {
    box-shadow: 2px 2px 0 rgba(0,0,0,0.3);
}

body.sw-dark .sw-product {
    background: var(--sw-paper);
    box-shadow: 4px 4px 0 rgba(0,0,0,0.3);
}

body.sw-dark .sw-product-img {
    background: rgba(255,248,240,0.04);
    border-color: rgba(255,248,240,0.08);
}

body.sw-dark .sw-product .sw-blok-badge {
    color: var(--sw-mint);
    background: rgba(126,200,184,0.08);
    border-color: rgba(126,200,184,0.15);
}

body.sw-dark .sw-product h4 {
    color: #FFF8F0;
}

body.sw-dark .sw-product-stars {
    color: #D4A96A;
}

body.sw-dark .sw-product-cta {
    color: #2D2A3E !important;
    box-shadow: 2px 2px 0 rgba(0,0,0,0.4);
}

body.sw-dark .sw-product-cta:hover {
    color: #2D2A3E !important;
    box-shadow: 1px 1px 0 rgba(0,0,0,0.4);
}

body.sw-dark .sw-conservation {
    background: var(--sw-paper);
    box-shadow: 4px 4px 0 rgba(0,0,0,0.3);
}

body.sw-dark .sw-conservation::before {
    border-color: rgba(255,248,240,0.08);
}

body.sw-dark .sw-conservation .sw-conservation-link {
    color: var(--sw-mint);
}

body.sw-dark .sw-conservation-level {
    opacity: 0.7;
}

body.sw-dark .sw-conservation-level.is-active {
    opacity: 1;
}

body.sw-dark .sw-conservation-level--ex {
    background: #5C5672;
}

body.sw-dark .sw-species-img {
    background: linear-gradient(135deg, rgba(126,200,184,0.08), rgba(155,142,196,0.08));
}

body.sw-dark .sw-tldr:hover,
body.sw-dark .sw-toc:hover,
body.sw-dark .sw-callout:hover,
body.sw-dark .sw-definition:hover,
body.sw-dark .sw-takeaway:hover,
body.sw-dark .sw-checklist:hover,
body.sw-dark .sw-quote:hover,
body.sw-dark .sw-funfact:hover,
body.sw-dark .sw-study:hover,
body.sw-dark .sw-vet-warning:hover,
body.sw-dark .sw-sources:hover,
body.sw-dark .sw-conservation:hover,
body.sw-dark .sw-stat:hover,
body.sw-dark .sw-species:hover,
body.sw-dark .sw-product:hover,
body.sw-dark .sw-table-wrap:hover,
body.sw-dark .sw-proscons-col:hover,
body.sw-dark .sw-compare-card:hover {
    box-shadow: 3px 3px 0 rgba(0,0,0,0.4);
}

body.sw-dark .sw-timeline::before {
    border-color: rgba(126,200,184,0.3);
}

body.sw-dark .sw-timeline-step::before {
    background: var(--sw-paper);
    border-color: var(--sw-mint);
}

body.sw-dark .sw-timeline-step:hover::before {
    background: var(--sw-mint);
}

body.sw-dark .sw-step-title {
    color: #FFF8F0;
}
