:root {
    --primary: #0F172A;
    --primary-hover: #1E293B;
    --secondary: #2563EB;
    --secondary-hover: #1D4ED8;
    --accent-energy: #D97706;
    --accent-energy-light: #FEF3C7;
    --accent-safety-green: #059669;
    --background-main: #F8FAFC;
    --background-subtle: #F1F5F9;
    --background-surface: #FFFFFF;
    --background-surface-elevated: #FFFFFF;
    --text-primary: #0F172A;
    --text-secondary: #475569;
    --text-muted: #64748B;
    --text-inverse: #FFFFFF;
    --border-subtle: #E2E8F0;
    --border-medium: #CBD5E1;
    --border-focus: #2563EB;
    --font-family-headings: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-family-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-family-mono: 'JetBrains Mono', 'Fira Code', monospace;
}

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

html {
    font-family: var(--font-family-body);
    background-color: var(--background-main);
    color: var(--text-primary);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-family-headings);
}

.font-mono {
    font-family: var(--font-family-mono);
}

.text-muted {
    color: #64748B !important;
}

.text-primary-color {
    color: var(--text-primary);
}

.text-secondary-color {
    color: var(--text-secondary);
}

.bg-main {
    background-color: var(--background-main);
}

.bg-surface {
    background-color: var(--background-surface);
}

.border-subtle {
    border-color: var(--border-subtle);
}

.transition-smooth {
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ===== header ===== */
.coregic-header {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.coregic-header nav a,
.coregic-header .js-mobile-menu a {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* ===== hero ===== */
.coregic-hero-section {
    position: relative;
    background-color: #020617;
}

.coregic-hero-section .coregic-hero-video-wrapper {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.coregic-hero-section .coregic-hero-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.coregic-hero-section .coregic-hero-grid-pattern {
    background-image: radial-gradient(rgba(255, 255, 255, 0.15) 1px, transparent 1px);
    background-size: 24px 24px;
}

.coregic-hero-section .coregic-stat-card {
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.3), 0 8px 10px -6px rgba(0, 0, 0, 0.3);
}

.coregic-hero-section .coregic-blob-backdrop {
    filter: blur(16px);
}

/* ===== solutions-grid ===== */
.solutions-grid-section .js-solution-card.is-hidden {
    display: none;
}

.solutions-grid-section .js-filter-btn.active {
    background-color: #0F172A;
    color: #FFFFFF;
    border-color: #0F172A;
}

/* ===== equipment-grid ===== */
.coregic-equipment-section .equipment-card {
    will-change: transform, box-shadow;
}

.coregic-equipment-section .equipment-card:hover {
    transform: translateY(-4px);
}

.coregic-equipment-section .js-filter-btn.active-filter {
    background-color: #0F172A;
    color: #FFFFFF;
    border-color: #0F172A;
}

.coregic-equipment-section .is-hidden-card {
    display: none !important;
}

/* ===== what-we-need ===== */
.block-what-we-need .js-progress-bar {
    transition: width .3s ease-in-out
}

.block-what-we-need input[type="checkbox"]:checked+span {
    color: #0f172a;
    font-weight: 600
}

/* ===== support-sla ===== */
.support-sla-section .support-sla-card {
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.support-sla-section .support-sla-card:hover {
    border-color: #93c5fd;
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.08);
}

.support-sla-section .support-sla-input::placeholder {
    color: #94a3b8;
    opacity: 1;
}

.support-sla-section .support-sla-input:focus {
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

/* ===== stages-milestones ===== */
.stages-milestones-section .js-stage-btn.active {
    background-color: #0F172A;
    border-color: #0F172A;
}

.stages-milestones-section .js-stage-btn.active .text-slate-900 {
    color: #FFFFFF;
}

.stages-milestones-section .js-stage-btn.active span.font-mono {
    background-color: #2563EB;
    color: #FFFFFF;
}

.stages-milestones-section .js-stage-btn.active i {
    color: #93C5FD;
}

.stages-milestones-section .js-stage-pane {
    transition: opacity 0.2s ease-in-out;
}

/* ===== glossary ===== */
.cg-glossary-section .cg-term-card {
    position: relative;
}

.cg-glossary-section .cg-term-card:hover {
    transform: translateY(-3px);
}

/* ===== footer ===== */
#site-footer {
    position: relative;
    background-color: #0F172A;
}

#site-footer .site-footer__nav-link:hover {
    transform: translateX(2px);
}

#site-footer a {
    outline: none;
}

#site-footer a:focus-visible {
    outline: 2px solid #2563EB;
    outline-offset: 2px;
    border-radius: 4px;
}

.coregic-header {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.coregic-header nav a,
.coregic-header .js-mobile-menu a {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.coregic-category-hero {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.coregic-category-hero h1 {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.coregic-category-hero__pattern {
    background-image: radial-gradient(rgba(255, 255, 255, 0.15) 1px, transparent 1px);
    background-size: 24px 24px;
}

.coregic-articles-section {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.coregic-articles-section h2,
.coregic-articles-section h3 {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.coregic-articles-section .js-filter-btn.active-filter {
    background-color: #0F172A;
    color: #FFFFFF;
    border-color: #0F172A;
}

.coregic-articles-section .js-filter-btn:not(.active-filter) {
    background-color: #FFFFFF;
    color: #475569;
    border-color: #E2E8F0;
}

.coregic-articles-section .js-filter-btn:not(.active-filter):hover {
    background-color: #F8FAFC;
    color: #0F172A;
    border-color: #CBD5E1;
}

#site-footer {
    position: relative;
    background-color: #0F172A;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

#site-footer .site-footer__nav-link:hover {
    transform: translateX(2px);
}

#site-footer a {
    outline: none;
}

#site-footer a:focus-visible {
    outline: 2px solid #2563EB;
    outline-offset: 2px;
    border-radius: 4px;
}


/* ===== PAGE: about-and-contact ===== */
.about-contact-page .about-contact-page__input::placeholder, .about-contact-page .about-contact-page__textarea::placeholder { color: #94A3B8; opacity: 1; } .about-contact-page .about-contact-page__input:focus, .about-contact-page .about-contact-page__textarea:focus, .about-contact-page .about-contact-page__select:focus { border-color: #2563EB; box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15); }

/* ===== PAGE: privacy ===== */
.privacy-page-block { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }
.privacy-page-block h1, .privacy-page-block h2, .privacy-page-block h3 { font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }
.privacy-page-block .js-toc-link.active { background-color: #2563EB; color: #FFFFFF; }
.privacy-page-block .js-toc-link.active i { color: #FFFFFF; }
.privacy-page-block .js-policy-section { scroll-margin-top: 2rem; }

/* ===== PAGE: terms ===== */
.legal-terms-section { box-sizing: border-box; }
.legal-terms-section .js-nav-link.active-nav { background-color: #2563EB; color: #FFFFFF; font-weight: 600; }
.legal-terms-section .js-terms-section { scroll-margin-top: 2rem; }

/* ===== PAGE: disclaimer ===== */
.disclaimer-section {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.disclaimer-section h1, 
.disclaimer-section h2, 
.disclaimer-section h3 {
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.disclaimer-section .font-mono {
  font-family: 'JetBrains Mono', 'Fira Code', monospace;
}

.disclaimer-section .js-nav-btn.active {
  background-color: #0F172A;
  color: #FFFFFF;
}

.disclaimer-section article:target {
  outline: 2px solid #2563EB;
  outline-offset: 2px;
}

.comment-card.main-comment {
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

.comment-card.main-comment:hover {
    border-color: #cbd5e1;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05);
}

.comment-avatar {
    width: 2.75rem;
    height: 2.75rem;
    object-fit: cover;
    user-select: none;
}

.comment-body p {
    color: #475569;
    line-height: 1.625;
}

.comment-action-btn {
    color: #64748b;
}

.comment-action-btn:hover {
    color: #2563eb;
}

.reply-thread-container {
    border-left: 2px solid #e2e8f0;
}

.comment-card.reply-comment {
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
}

.reply-comment .comment-avatar {
    width: 2.25rem;
    height: 2.25rem;
    object-fit: cover;
    user-select: none;
}

.reply-comment .comment-body p {
    color: #475569;
    line-height: 1.55;
}

.reply-comment .comment-action-btn {
    color: #64748b;
}

.reply-comment .comment-action-btn:hover {
    color: #2563eb;
}


/* ===== PAGE TEMPLATE: voltage-protection-solutions ===== */
.coregic-header {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.coregic-header nav a,
.coregic-header .js-mobile-menu a {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.coregic-detail-hero .coregic-hero-grid-pattern {
    background-image: radial-gradient(rgba(255, 255, 255, 0.15) 1px, transparent 1px);
    background-size: 24px 24px;
}

.coregic-detail-main .coregic-article-body h2,
.coregic-detail-main .coregic-article-body h3 {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.coregic-detail-main .coregic-article-body p {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    line-height: 1.7;
}

#site-footer {
    position: relative;
    background-color: #0F172A;
}

#site-footer .site-footer__nav-link:hover {
    transform: translateX(2px);
}

#site-footer a {
    outline: none;
}

#site-footer a:focus-visible {
    outline: 2px solid #2563EB;
    outline-offset: 2px;
    border-radius: 4px;
}

/* ===== PAGE TEMPLATE: protection-solutions-equipment ===== */
.coregic-header {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.coregic-header nav a,
.coregic-header .js-mobile-menu a {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.coregic-detail-hero .coregic-hero-grid-pattern {
    background-image: radial-gradient(rgba(255, 255, 255, 0.15) 1px, transparent 1px);
    background-size: 24px 24px;
}

.coregic-detail-main .coregic-article-body h2,
.coregic-detail-main .coregic-article-body h3 {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.coregic-detail-main .coregic-article-body p {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    line-height: 1.7;
}

#site-footer {
    position: relative;
    background-color: #0F172A;
}

#site-footer .site-footer__nav-link:hover {
    transform: translateX(2px);
}

#site-footer a {
    outline: none;
}

#site-footer a:focus-visible {
    outline: 2px solid #2563EB;
    outline-offset: 2px;
    border-radius: 4px;
}

/* ===== PAGE TEMPLATE: voltage-protection-guides ===== */
.coregic-header {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.coregic-header nav a,
.coregic-header .js-mobile-menu a {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.coregic-detail-hero .coregic-hero-grid-pattern {
    background-image: radial-gradient(rgba(255, 255, 255, 0.15) 1px, transparent 1px);
    background-size: 24px 24px;
}

.coregic-detail-main .coregic-article-body h2,
.coregic-detail-main .coregic-article-body h3 {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.coregic-detail-main .coregic-article-body p {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    line-height: 1.7;
}

#site-footer {
    position: relative;
    background-color: #0F172A;
}

#site-footer .site-footer__nav-link:hover {
    transform: translateX(2px);
}

#site-footer a {
    outline: none;
}

#site-footer a:focus-visible {
    outline: 2px solid #2563EB;
    outline-offset: 2px;
    border-radius: 4px;
}