/* Shared light-theme content / legal pages */
:root {
    --font-sans: "Rubik", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
    --brand: #1e4ed8;
    --brand-hover: #1b46c4;
    --ink: #0f172a;
    --body: #1f2937;
    --muted: #475569;
    --line: #cbd5e1;
    --surface: #ffffff;
    --surface-soft: #f1f5f9;
    --canvas: #f6f7f9;
}
html { scroll-behavior: smooth; }
body {
    font-family: var(--font-sans);
    overflow-x: hidden;
    background: var(--canvas);
    color: var(--body);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.bg-canvas { background: var(--canvas) !important; }
.bg-surface { background: var(--surface) !important; }
.bg-surface-soft { background: var(--surface-soft) !important; }
.text-ink { color: var(--ink) !important; }
.text-body { color: var(--body) !important; }
.text-muted { color: var(--muted) !important; }
.border-line { border-color: var(--line) !important; }
.soft-elev { box-shadow: none; }
.scrollbar-hide::-webkit-scrollbar { display: none; }
.scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }
.hero-light {
    background: linear-gradient(135deg, #f7faff 0%, #eef4ff 52%, #f8fafc 100%);
}
.hero-dark {
    background: #0a1930;
    color: #e2e8f0;
}
.btn-primary {
    background: var(--brand);
    border-color: var(--brand);
    color: #fff;
}
.btn-primary:hover {
    background: var(--brand-hover);
    border-color: var(--brand-hover);
}
.btn-secondary {
    background: rgba(147, 197, 253, 0.14);
    border: 1px solid rgba(147, 197, 253, 0.32);
    color: #1E4ED8;
}
.btn-secondary:hover {
    background: #1E4ED8;
    border-color: #1E4ED8;
    color: #fff;
}
summary { list-style: none; }
summary::-webkit-details-marker { display: none; }
summary::marker { content: ""; }
.rowlink {
    display: block;
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease, opacity 0.2s ease;
}
.rowlink:hover { color: #1e4ed8; }
.rowlink:focus-visible {
    outline: 2px solid #1e4ed8;
    outline-offset: 2px;
    border-radius: 0.375rem;
}
.cert-card {
    background: #ffffff;
    border: 1px solid rgba(147, 197, 253, 0.28);
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: none;
}
.cert-card-head {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: #1E4ED8;
    padding: 0.65rem 1.25rem;
    border-bottom: 1px solid rgba(147, 197, 253, 0.22);
}
.cert-card-body {
    padding: 0.85rem 1.25rem;
    font-size: 0.875rem;
    line-height: 1.7;
    color: #374151;
}
.content-hero-inner {
    padding-top: 1.25rem;
    padding-bottom: 0.5rem;
}
@media (min-width: 640px) {
    .content-hero-inner {
        padding-top: 2rem;
        padding-bottom: 1rem;
    }
}
@media (max-width: 639px) {
    .hero-unified .utility-hero-inner.content-hero-inner {
        padding-top: 1.25rem !important;
        padding-bottom: 0.5rem !important;
    }
}
.reveal {
    opacity: 0;
    transform: translateY(10px);
    animation: fade-up 520ms ease-out forwards;
}
.reveal-1 { animation-delay: 60ms; }
.reveal-2 { animation-delay: 140ms; }
.reveal-3 { animation-delay: 220ms; }
@keyframes fade-up {
    to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
    .reveal { opacity: 1; transform: none; animation: none; }
}
.scroll-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 600ms cubic-bezier(.22, 1, .36, 1), transform 600ms cubic-bezier(.22, 1, .36, 1);
}
.scroll-reveal.in-view {
    opacity: 1;
    transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
    .scroll-reveal { opacity: 1; transform: none; transition: none; }
}
