:root {
    --font-display: 'DM Sans', system-ui, sans-serif;
    --color-bg-primary: #fff; --color-bg-secondary: #f0f5ff; --color-bg-tertiary: #e3edff;
    --color-text-primary: #10254b; --color-text-secondary: #3e506e; --color-text-muted: #536581;
    --color-accent: #2458d3; --color-accent-hover: #1944ad; --color-accent-glow: rgb(36 88 211 / 12%);
    --color-border: #d9e4f5; --gradient-primary: linear-gradient(115deg, #1944ad, #3779e9);
}
[data-theme="dark"] {
    --color-bg-primary: #0b1830; --color-bg-secondary: #10254b; --color-bg-tertiary: #193761;
    --color-text-primary: #f5f8ff; --color-text-secondary: #bdcde4; --color-text-muted: #adbfda;
    --color-accent: #9bc4ff; --color-accent-hover: #c2dbff; --color-border: #2f466a; --color-card-bg: #142d55;
}
.btn--primary { background: #2458d3; color: #fff; border-radius: 999px; }
.btn--primary:hover { background: #1944ad; color: #fff; }
.btn--outline { border-radius: 999px; }
.nav__logo-monogram, .footer__logo-monogram { background: none; color: inherit; overflow: visible; }
.nav__logo-monogram img, .footer__logo-monogram img { width: 100%; height: 100%; }
.site-header.is-scrolled { background: rgb(255 255 255 / 97%); }
[data-theme="dark"] .site-header.is-scrolled { background: rgb(11 24 48 / 97%); }
.cert-card__verify { display: inline-block; padding: .65rem 0; font-size: .85rem; text-decoration: underline; text-underline-offset: 4px; }
.cert-card__meta { display: block; line-height: 1.7; }
.project-card__desc { line-height: 1.8; }
.project-card__svg-placeholder { background: var(--color-bg-secondary); color: var(--color-accent); }
.project-card__svg-placeholder > span:first-child { font-size: 4rem; opacity: .25; }
a:focus-visible, button:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) { [data-reveal] { opacity: 1; transform: none; } }

/* Keep editorial content visible if JavaScript is unavailable. */
body [data-reveal] { opacity: 1; transform: none; }

.messaging-links { margin: 0 0 1rem; min-width: 0; }
.messaging-links .messaging-links__number { display: inline-flex; align-items: center; min-height: 44px; color: var(--color-text-primary); font-weight: 600; font-size: .9rem; }
.messaging-links__buttons { display: flex; flex-wrap: wrap; gap: .5rem; }
.messaging-links .messaging-button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 44px; padding: .6rem .85rem; border: 1px solid var(--color-border); border-radius: 10px; font-size: .85rem; font-weight: 600; line-height: 1.2; text-decoration: none; background: var(--color-card-bg); transition: background-color 150ms; }
.messaging-links .messaging-button--whatsapp { color: #12673d; border-color: #b2dcc5; background: #edf9f2; }
.messaging-links .messaging-button--telegram { color: #15559b; border-color: #bdd5f0; background: #edf5ff; }
.messaging-links .messaging-button:hover { background: var(--color-bg-tertiary); }
.messaging-button svg { flex-shrink: 0; }
[data-theme="dark"] .messaging-button--whatsapp { color: #a4efc3; background: #12392b; border-color: #32694f; }
[data-theme="dark"] .messaging-button--telegram { color: #b2d6ff; background: #13335a; border-color: #345c89; }
@media (max-width: 360px) { .messaging-links .messaging-button { flex: 1 1 110px; } }
@media (prefers-reduced-motion: reduce) { .messaging-links .messaging-button { transition: none; } }
