:root {
    --bg-primary: #070B12;
    --bg-secondary: #0C121E;
    --bg-tertiary: #121A2B;
    --bg-elevated: #162238;
    --surface-card: #0E1626;
    --surface-card-hover: #141F36;
    --surface-card-active: #182744;
    --text-primary: #F8FAFC;
    --text-secondary: #94A3B8;
    --text-muted: #64748B;
    --accent-primary: #38BDF8;
    --accent-primary-hover: #0EA5E9;
    --accent-secondary: #6366F1;
    --border-subtle: rgba(148, 163, 184, 0.12);
    --border-medium: rgba(148, 163, 184, 0.22);
    --border-highlight: rgba(56, 189, 248, 0.45);
    --font-main: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-mono: 'JetBrains Mono', monospace;
}

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

html {
    color-scheme: dark;
    background-color: #070B12;
    scroll-behavior: smooth;
}

.atlas-body {
    margin: 0;
    padding: 0;
    font-family: var(--font-main);
    background-color: var(--bg-primary);
    color: var(--text-primary);
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.text-muted {
    color: #94A3B8 !important;
}

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

.atlas-container {
    width: 100%;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
}

@media (min-width: 768px) {
    .atlas-container {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

@media (min-width: 1024px) {
    .atlas-container {
        padding-left: 3rem;
        padding-right: 3rem;
    }
}

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

.site-header-block .js-dropdown-menu {
    box-shadow: 0 20px 35px -10px rgba(0, 0, 0, 0.75);
}

/* ===== a_restored_system_is_only_as_ready_as_its_dependencies ===== */
.hero-atlas-section {
    background-color: #070B12;
}

.hero-atlas-section .hero-atlas-glow {
    background: radial-gradient(ellipse 80% 50% at 50% -20%, rgba(56, 189, 248, 0.16), transparent 70%);
}

.hero-atlas-section .hero-blob-wrapper {
    position: relative;
}

.hero-atlas-section .hero-blob-container img {
    display: block;
}

.hero-atlas-section .hero-btn-primary {
    box-shadow: 0 0 20px 2px rgba(56, 189, 248, 0.25);
}

.hero-atlas-section .hero-btn-primary:hover {
    box-shadow: 0 0 25px 4px rgba(56, 189, 248, 0.4);
}

/* ===== core_system_dependencies ===== */
.dependencies-grid .js-dep-card {
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.dependencies-grid .js-dep-card:hover {
    border-color: rgba(56, 189, 248, 0.45);
    box-shadow: 0 0 25px -5px rgba(56, 189, 248, 0.12);
}

/* ===== the_true_cost_of_inaction ===== */
.cost-of-inaction-block input[type="range"]::-webkit-slider-thumb {
    appearance: none;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #38BDF8;
    cursor: pointer;
    border: 2px solid #070B12;
    box-shadow: 0 0 10px rgba(56, 189, 248, 0.4);
}

.cost-of-inaction-block input[type="range"]::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #38BDF8;
    cursor: pointer;
    border: 2px solid #070B12;
    box-shadow: 0 0 10px rgba(56, 189, 248, 0.4);
}

/* ===== questions_for_any_resilience_contractor ===== */
.contractor-questions-section .js-category-btn.active {
    background-color: #38BDF8;
    color: #070B12;
    border-color: #38BDF8;
}

.contractor-questions-section .js-question-card {
    min-height: 100%;
}

.contractor-questions-section .js-details-block {
    display: none;
}

.contractor-questions-section .js-details-block.is-visible {
    display: block;
}

.contractor-questions-section .js-toggle-icon.is-rotated {
    transform: rotate(180deg);
}

/* ===== how_we_map_your_infrastructure_inside ===== */
.inside-process-section .js-process-step.active {
    border-color: rgba(56, 189, 248, 0.55);
    background-color: #0E1626;
    box-shadow: 0 0 20px -5px rgba(56, 189, 248, 0.15);
}

.inside-process-section .js-process-step:focus {
    outline: none;
}

.inside-process-section .js-step-content-pane.hidden {
    display: none;
}

/* ===== what_happens_after_we_start ===== */
.after-start-block .js-timeline-tab.active {
    border-color: #38bdf8;
    background-color: rgba(56, 189, 248, 0.15);
    color: #38bdf8
}

.after-start-block .js-timeline-tab:not(.active) {
    border-color: rgba(148, 163, 184, 0.2);
    background-color: #0e1626;
    color: #94a3b8
}

.after-start-block .js-timeline-panel.hidden {
    display: none
}

.after-start-block .js-timeline-panel.block {
    display: block
}

/* ===== brand_support ===== */
.brand-support-promo-section {
    word-break: break-word;
    hyphens: auto;
}

.brand-support-promo-section a {
    text-decoration: none;
}

/* ===== start_your_mapping_process ===== */
.rda-short-request input::placeholder,
.rda-short-request textarea::placeholder {
    color: #64748B;
    opacity: 1;
}

.rda-short-request input:focus,
.rda-short-request textarea:focus {
    border-color: #38BDF8;
    box-shadow: 0 0 0 1px rgba(56, 189, 248, 0.35);
}

/* ===== footer ===== */
.rda-footer a {
    transition: color 0.15s ease, border-color 0.15s ease
}

.rda-footer img {
    max-width: 44px;
    max-height: 44px
}

/* ===== PAGE: atlas ===== */
.atlas-dependency-section .atlas-filter-btn { transition: none; }
.atlas-dependency-section .atlas-card { transition: none; }
.atlas-dependency-section .atlas-card:hover { border-color: rgba(56, 189, 248, 0.45); box-shadow: 0 0 25px -5px rgba(56, 189, 248, 0.12); }
.atlas-dependency-section .atlas-search-input::placeholder { color: #64748B; opacity: 1; }
.atlas-dependency-section .atlas-card-title { color: #F8FAFC; text-decoration: none; }
.atlas-dependency-section .atlas-card-title:hover { color: #38BDF8; }

/* ===== PAGE: materials ===== */
.materials-section .js-material-card { transition: border-color 0s, box-shadow 0s; }
.materials-section .js-material-card:hover { border-color: rgba(56, 189, 248, 0.45); box-shadow: 0 0 25px -5px rgba(56, 189, 248, 0.12); }
.materials-section input::placeholder { color: #64748B; opacity: 1; }
.materials-section .active-tab { border-color: #38BDF8; background-color: rgba(56, 189, 248, 0.15); color: #38BDF8; }

/* ===== PAGE: featured-case ===== */
.case-details-section .js-tab-pane.hidden {
  display: none;
}
.case-details-section .js-tab-pane:not(.hidden) {
  display: flex;
}
.case-details-section table th,
.case-details-section table td {
  white-space: normal;
  word-break: normal;
}
.case-details-section input[type="checkbox"] {
  cursor: pointer;
}

/* ===== PAGE: macrium-guide ===== */
.guide-container input[type="checkbox"] { accent-color: #38BDF8; }
.guide-container .js-version-btn, .guide-container .js-stage-tab { outline: none; }
.guide-container a { text-decoration: none; }

/* ===== PAGE: brand-support ===== */
.brand-support-content .js-tier-btn.active {
  background-color: rgba(56, 189, 248, 0.15);
  border-color: #38BDF8;
  color: #38BDF8;
}
.brand-support-content .js-check-item.checked {
  border-color: rgba(56, 189, 248, 0.5);
  background-color: rgba(14, 22, 38, 0.9);
}
.brand-support-content .js-check-item.checked .js-check-icon {
  color: #38BDF8;
}

/* ===== PAGE: about ===== */
.about-page-section { font-family: 'Plus Jakarta Sans', sans-serif; }
.about-page-section .js-tab-btn.active { background-color: rgba(56, 189, 248, 0.12); border-color: #38BDF8; color: #38BDF8; }
.about-page-section .js-tab-content.hidden { display: none; }
.about-page-section .js-tab-content.active { display: block; }

/* ===== PAGE: contact ===== */
.contact-page-section .contact-form-input::placeholder {
  color: #64748B;
  opacity: 1;
}
.contact-page-section .contact-form-input:focus {
  box-shadow: 0 0 0 1px rgba(56, 189, 248, 0.45);
}
.contact-page-section select.contact-form-input option {
  background-color: #0C121E;
  color: #F8FAFC;
}

/* ===== PAGE: privacy ===== */
.legal-policy-section {
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background-color: #070B12;
}
.legal-policy-section .font-mono {
  font-family: 'JetBrains Mono', monospace;
}
.legal-policy-section .js-nav-item.active {
  color: #38BDF8;
  background-color: #162238;
  border-left: 2px solid #38BDF8;
}
.legal-policy-section input::placeholder {
  color: #64748B;
  opacity: 1;
}

/* ===== PAGE: terms ===== */
.terms-section { word-break: break-word; }
.terms-section .js-term-article { transition: none; }
.terms-section input::placeholder { color: #64748B; opacity: 1; }
.terms-section .active-nav { color: #38BDF8 !important; background-color: rgba(56, 189, 248, 0.08) !important; border-color: rgba(56, 189, 248, 0.25) !important; }

/* ===== PAGE: disclaimer ===== */
.atlas-disclaimer-wrapper a { transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease; }
.atlas-disclaimer-wrapper h1, .atlas-disclaimer-wrapper h2, .atlas-disclaimer-wrapper h3 { hyphens: auto; word-break: break-word; }
.atlas-disclaimer-wrapper nav a:focus-visible { outline: 2px solid #38BDF8; outline-offset: 2px; }

.comment-node {
    background-color: #0E1626;
    border: 1px solid rgba(148, 163, 184, 0.15);
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5);
}

.comment-node:hover {
    border-color: rgba(56, 189, 248, 0.45);
    box-shadow: 0 0 20px -3px rgba(56, 189, 248, 0.12);
}

.comment-avatar {
    width: 2.75rem;
    height: 2.75rem;
    min-width: 2.75rem;
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    object-fit: cover;
}

.comment-body {
    color: #94A3B8;
    line-height: 1.6;
}

.comment-body p {
    margin-bottom: 0.5rem;
}

.comment-body p:last-child {
    margin-bottom: 0;
}

.comment-action-btn {
    background-color: rgba(7, 11, 18, 0.6);
    border: 1px solid rgba(148, 163, 184, 0.15);
    color: #94A3B8;
}

.comment-action-btn:hover {
    color: #38BDF8;
    border-color: rgba(56, 189, 248, 0.4);
    background-color: rgba(56, 189, 248, 0.08);
}

.comment-role-badge {
    letter-spacing: 0.02em;
}

.reply-thread-container {
    position: relative;
    margin-top: 0.75rem;
}

.reply-comment-card {
    background-color: #0C121E;
    border: 1px solid rgba(148, 163, 184, 0.12);
}

.reply-comment-card:hover {
    border-color: rgba(56, 189, 248, 0.4);
    box-shadow: 0 0 16px -4px rgba(56, 189, 248, 0.1);
}

.comment-avatar {
    width: 2.25rem;
    height: 2.25rem;
    min-width: 2.25rem;
    min-height: 2.25rem;
    object-fit: cover;
}

.reply-comment-card .comment-body {
    color: #94A3B8;
    line-height: 1.55;
}


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

.site-header-block .js-dropdown-menu {
    box-shadow: 0 20px 35px -10px rgba(0, 0, 0, 0.75);
}

.hero-atlas-section {
    background-color: #070B12;
}

.hero-atlas-section .hero-atlas-glow {
    background: radial-gradient(ellipse 80% 50% at 50% -20%, rgba(56, 189, 248, 0.16), transparent 70%);
}

.rda-footer a {
    transition: color 0.15s ease, border-color 0.15s ease;
}

.rda-footer img {
    max-width: 44px;
    max-height: 44px;
}

.atlas-detail-page .atlas-prose-container h2 {
    color: #F8FAFC;
}

.atlas-detail-page .atlas-prose-container h3 {
    color: #F8FAFC;
}

.atlas-detail-page .atlas-prose-container p {
    color: #94A3B8;
}

.atlas-detail-page input::placeholder,
.atlas-detail-page textarea::placeholder {
    color: #64748B;
}

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

.site-header-block .js-dropdown-menu {
    box-shadow: 0 20px 35px -10px rgba(0, 0, 0, 0.75);
}

.material-detail-page .material-hero-glow {
    background: radial-gradient(ellipse 80% 50% at 50% -20%, rgba(56, 189, 248, 0.16), transparent 70%);
}

.material-detail-page .material-prose-body p {
    line-height: 1.7;
}

.material-detail-page input::placeholder,
.material-detail-page textarea::placeholder {
    color: #64748B;
    opacity: 1;
}

.rda-footer a {
    transition: color 0.15s ease, border-color 0.15s ease;
}

.rda-footer img {
    max-width: 44px;
    max-height: 44px;
}