/* =========================================================
   HS STRATEJİK DANIŞMANLIK — DARK THEME
   Loaded AFTER page-level styles so dark mode is deterministic.
   ========================================================= */

body.dark-theme {
    color-scheme: dark;

    /* Legacy project tokens remapped for dark mode */
    --color-cream: #101315;
    --color-cream-dark: #1B2023;
    --color-dark: #EEEAE3;
    --color-text: #B8B1A7;
    --color-red: #6D3040;
    --color-red-light: #854356;
    --color-yellow: #BFA465;
    --color-white: #F3EFE8;

    /* Explicit semantic dark tokens */
    --dark-bg: #101315;
    --dark-bg-soft: #15191C;
    --dark-surface: #1B2023;
    --dark-surface-raised: #22282C;
    --dark-surface-hover: #272D31;
    --dark-text: #EEEAE3;
    --dark-text-soft: #B8B1A7;
    --dark-text-muted: #8B857D;
    --dark-border: rgba(238, 234, 227, 0.10);
    --dark-border-gold: rgba(191, 164, 101, 0.28);
    --dark-accent: #6D3040;
    --dark-accent-hover: #854356;
    --dark-gold: #BFA465;

    background: var(--dark-bg);
    color: var(--dark-text-soft);
}

/* ---------- Base / typography ---------- */
body.dark-theme h1,
body.dark-theme h2,
body.dark-theme h3,
body.dark-theme h4,
body.dark-theme h5,
body.dark-theme h6 { color: var(--dark-text); }

body.dark-theme ::selection { background: rgba(191, 164, 101, .28); color: var(--dark-text); }
body.dark-theme .section-label,
body.dark-theme .media-eyebrow,
body.dark-theme .certificates-eyebrow,
body.dark-theme .bio-eyebrow,
body.dark-theme .services-eyebrow,
body.dark-theme .contact-eyebrow,
body.dark-theme .section-kicker,
body.dark-theme .bc-eyebrow { color: var(--dark-gold) !important; }
body.dark-theme .thin-divider { border-color: var(--dark-border) !important; }

/* ---------- Global section surfaces ---------- */
body.dark-theme .bg-alt,
body.dark-theme .media-list-section,
body.dark-theme .contact-section,
body.dark-theme .process-wave-section,
body.dark-theme .process-fallback,
body.dark-theme .press-carousel-section {
    background: var(--dark-bg-soft) !important;
}
body.dark-theme .marquee-services-section { background: var(--dark-bg) !important; }
body.dark-theme .marquee-container::before { background: linear-gradient(to right, var(--dark-bg) 0%, transparent 100%) !important; }
body.dark-theme .marquee-container::after { background: linear-gradient(to left, var(--dark-bg) 0%, transparent 100%) !important; }

/* ---------- Header / navigation ---------- */
body.dark-theme .site-header,
body.dark-theme .contact-page-header {
    background: rgba(16, 19, 21, .94) !important;
    border-bottom: 1px solid var(--dark-border) !important;
    box-shadow: 0 8px 28px rgba(0,0,0,.22) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
body.dark-theme .logo { filter: brightness(0) invert(1) opacity(.92) !important; }
body.dark-theme .nav-link { color: #D8D3CB; }
body.dark-theme .nav-link:hover { color: var(--dark-text); }
body.dark-theme .nav-link::after { background: var(--dark-gold); }
body.dark-theme .theme-toggle-btn { color: #D8D3CB; }
body.dark-theme .hamburger span { background: #D8D3CB; }
body.dark-theme .nav-btn-primary {
    background: var(--dark-accent) !important;
    color: var(--dark-text) !important;
    border-color: rgba(191,164,101,.35) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.18) !important;
}
body.dark-theme .nav-btn-primary:hover {
    background: var(--dark-gold) !important;
    color: #17191B !important;
    border-color: var(--dark-gold) !important;
}
body.dark-theme .mega-menu {
    background: #171B1E !important;
    border-top-color: var(--dark-gold) !important;
    box-shadow: 0 24px 55px rgba(0,0,0,.42) !important;
}
body.dark-theme .mega-menu-info p,
body.dark-theme .mega-menu-links a { color: var(--dark-text-soft); }
body.dark-theme .mega-menu-links a:hover { color: var(--dark-gold); }

@media (max-width: 768px) {
    body.dark-theme .main-nav { background: #101315 !important; }
    body.dark-theme .mega-menu { background: transparent !important; box-shadow: none !important; }
    body.dark-theme .mega-menu-links a { color: rgba(238,234,227,.72); }
}

/* ---------- Buttons ---------- */
body.dark-theme .btn-primary { background: var(--dark-accent); color: var(--dark-text); }
body.dark-theme .btn-primary:hover { background: var(--dark-accent-hover); box-shadow: 0 8px 24px rgba(0,0,0,.22); }
body.dark-theme .btn-secondary {
    background: var(--dark-surface-raised);
    color: var(--dark-text);
    border-color: var(--dark-border);
    box-shadow: none;
}
body.dark-theme .btn-secondary:hover { background: var(--dark-surface-hover); }
body.dark-theme .btn-outline { border-color: rgba(191,164,101,.34); color: var(--dark-text); }
body.dark-theme .btn-outline:hover { background: var(--dark-text); border-color: var(--dark-text); color: #17191B; }
body.dark-theme .btn-text,
body.dark-theme .card-link,
body.dark-theme .services-footer-link { color: #C7AF95; border-color: rgba(198,139,155,.58); }
body.dark-theme .btn-text:hover,
body.dark-theme .services-footer-link:hover { color: var(--dark-gold); border-color: var(--dark-gold); }

/* ---------- Homepage hero ---------- */
body.dark-theme .hero-slider { background: #0B0D0F; }
body.dark-theme .slide-overlay {
    background: linear-gradient(90deg, rgba(8,10,11,.94) 0%, rgba(10,12,14,.76) 43%, rgba(10,12,14,.34) 100%) !important;
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}
body.dark-theme .hero-title { color: #F4F0E8; }
body.dark-theme .hero-desc { color: rgba(244,240,232,.83); }

/* ---------- Homepage services: remove giant pink circles ---------- */
body.dark-theme .circle-item {
    background: linear-gradient(145deg, #1A1E21, #20252A) !important;
    color: var(--dark-text) !important;
    border: 1px solid rgba(191,164,101,.22) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.18) !important;
}
body.dark-theme .circle-item::after {
    content: '';
    position: absolute;
    inset: 9px;
    border-radius: 50%;
    border: 1px solid rgba(109,48,64,.24);
    pointer-events: none;
}
body.dark-theme .circle-item:hover,
body.dark-theme .circle-item:focus-visible {
    background: linear-gradient(145deg, #202428, #2A2225) !important;
    border-color: rgba(191,164,101,.42) !important;
    box-shadow: 0 18px 42px rgba(0,0,0,.28) !important;
}
body.dark-theme .circle-title { color: var(--dark-text) !important; }
body.dark-theme .circle-desc { color: var(--dark-text-soft) !important; }
body.dark-theme .circle-link-text { color: var(--dark-gold) !important; }

/* ---------- Process / magnifier ---------- */
body.dark-theme .process-wave-section,
body.dark-theme .process-fallback { background: #14181B !important; }
body.dark-theme .process-step-item { color: var(--dark-text-muted) !important; }
body.dark-theme .process-step-item.active { color: var(--dark-gold) !important; }
body.dark-theme .mag-inner-content {
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
}
body.dark-theme .process-active-wave-label { color: var(--dark-text) !important; }
body.dark-theme #processWavePath { stroke: rgba(191,164,101,.34) !important; }
body.dark-theme .process-static-waypoint { fill: #B8B1A7 !important; opacity: .42 !important; }

/* ---------- Privacy band ---------- */
body.dark-theme .privacy-section {
    background:
        radial-gradient(circle at 82% 16%, rgba(191,164,101,.09), transparent 30%),
        linear-gradient(135deg, #17191B 0%, #21191C 58%, #17191B 100%) !important;
    color: var(--dark-text);
    border-top: 1px solid rgba(191,164,101,.13);
    border-bottom: 1px solid rgba(191,164,101,.13);
}
body.dark-theme .privacy-section::before { opacity: .045 !important; }
body.dark-theme .privacy-title { color: var(--dark-text); }
body.dark-theme .privacy-desc { color: var(--dark-text-soft); }
body.dark-theme .privacy-section .btn-outline-cream { border-color: rgba(191,164,101,.46); color: var(--dark-text); }
body.dark-theme .privacy-section .btn-outline-cream:hover { background: var(--dark-gold); border-color: var(--dark-gold); color: #17191B; }

/* ---------- Generic cards / lists ---------- */
body.dark-theme .cert-item,
body.dark-theme .form-wrapper,
body.dark-theme .map-info-panel,
body.dark-theme .press-story-card,
body.dark-theme .contact-form-surface,
body.dark-theme .location-shell,
body.dark-theme .sidebar-nav-box {
    background: var(--dark-surface) !important;
    border-color: var(--dark-border) !important;
    box-shadow: 0 18px 48px rgba(0,0,0,.22) !important;
}
body.dark-theme .cert-placeholder,
body.dark-theme .map-iframe-wrapper { background: var(--dark-bg-soft) !important; border-color: var(--dark-border) !important; }
body.dark-theme .media-row,
body.dark-theme .contact-method-row,
body.dark-theme .about-principles li,
body.dark-theme .principle-row,
body.dark-theme .closing-links-row,
body.dark-theme .closing-link,
body.dark-theme .scope-item,
body.dark-theme .flow-step { border-color: var(--dark-border) !important; }
body.dark-theme .media-row:hover,
body.dark-theme .contact-method-row:hover,
body.dark-theme .closing-link:hover { background: rgba(255,255,255,.025) !important; }
body.dark-theme .cm-label,
body.dark-theme .contact-trust-note,
body.dark-theme .form-note,
body.dark-theme .form-checkbox label { color: var(--dark-text-muted) !important; }

/* ---------- Forms ---------- */
body.dark-theme .form-group label,
body.dark-theme .contact-page .form-group label { color: #D8D3CB !important; }
body.dark-theme .form-group input,
body.dark-theme .form-group select,
body.dark-theme .form-group textarea,
body.dark-theme .contact-page .form-group input,
body.dark-theme .contact-page .form-group select,
body.dark-theme .contact-page .form-group textarea {
    background: #181C1F !important;
    border-color: rgba(238,234,227,.13) !important;
    color: var(--dark-text) !important;
    caret-color: var(--dark-gold);
}
body.dark-theme .form-group input::placeholder,
body.dark-theme .form-group textarea::placeholder,
body.dark-theme .contact-page .form-group input::placeholder,
body.dark-theme .contact-page .form-group textarea::placeholder { color: #77736D !important; opacity: 1; }
body.dark-theme .form-group input:focus,
body.dark-theme .form-group select:focus,
body.dark-theme .form-group textarea:focus,
body.dark-theme .contact-page .form-group input:focus,
body.dark-theme .contact-page .form-group select:focus,
body.dark-theme .contact-page .form-group textarea:focus {
    background: #1C2124 !important;
    border-color: rgba(191,164,101,.72) !important;
    box-shadow: 0 0 0 3px rgba(191,164,101,.10) !important;
}
body.dark-theme select option { background: #181C1F; color: var(--dark-text); }
body.dark-theme .contact-page .form-note,
body.dark-theme .contact-page .form-submit-row .form-status-note { color: var(--dark-text-muted) !important; }

/* ---------- Homepage press carousel ---------- */
body.dark-theme .press-carousel-section { background: var(--dark-bg-soft) !important; }
body.dark-theme .press-story-card { background: var(--dark-surface) !important; border-color: var(--dark-border-gold) !important; }
body.dark-theme .press-story-copy { background: linear-gradient(145deg, #1B2023, #181C1F) !important; }
body.dark-theme .press-story-progress-btn { background: rgba(238,234,227,.10) !important; }
body.dark-theme .press-story-nav button { background: var(--dark-surface-raised) !important; border-color: var(--dark-border) !important; color: var(--dark-gold) !important; }
body.dark-theme .press-story-nav button:hover { background: var(--dark-accent) !important; color: var(--dark-text) !important; }
body.dark-theme .press-all-link { color: #C7AF95; border-color: rgba(215,178,188,.46); }

/* ---------- Media page ---------- */
body.dark-theme.media-page,
body.dark-theme .media-page-main { background: var(--dark-bg); }
body.dark-theme .media-hero {
    background:
        radial-gradient(circle at 82% 24%, rgba(191,164,101,.09), transparent 29%),
        linear-gradient(145deg, #101315 0%, #15191C 72%, #1A1D20 100%) !important;
    border-bottom-color: var(--dark-border-gold) !important;
}
body.dark-theme .media-archive { background: linear-gradient(180deg, #15191C, #111416) !important; }
body.dark-theme .media-entry { border-color: var(--dark-border) !important; }
body.dark-theme .media-entry:hover { background: rgba(255,255,255,.025) !important; }
body.dark-theme .media-entry-featured { background: linear-gradient(120deg, rgba(109,48,64,.15), rgba(27,32,35,.92)) !important; border-color: var(--dark-border-gold) !important; }
body.dark-theme .media-entry:hover h3 { color: #C7AF95; }
body.dark-theme .media-entry:hover .media-entry-action { background: var(--dark-surface-raised) !important; border-color: rgba(191,164,101,.46) !important; }
body.dark-theme .media-contact {
    background: linear-gradient(135deg, #181A1C 0%, #261B1F 100%) !important;
    border-top: 1px solid rgba(191,164,101,.14);
}
body.dark-theme .media-contact small { color: rgba(238,234,227,.58); }
body.dark-theme .media-contact p { color: rgba(238,234,227,.72); }
body.dark-theme .media-contact .btn { background: #F0ECE4; color: #4F2530; border-color: #F0ECE4; }
body.dark-theme .media-contact .btn:hover { background: transparent; color: var(--dark-text); border-color: rgba(238,234,227,.62); }

/* ---------- Certificates page ---------- */
body.dark-theme.certificates-page,
body.dark-theme .certificates-page-main { background: var(--dark-bg); }
body.dark-theme .certificates-hero {
    background:
        radial-gradient(circle at 82% 24%, rgba(191,164,101,.09), transparent 29%),
        linear-gradient(145deg, #101315 0%, #15191C 72%, #1A1D20 100%) !important;
    border-bottom-color: var(--dark-border-gold) !important;
}
body.dark-theme .certificates-archive { background: linear-gradient(180deg, #15191C, #111416) !important; }
body.dark-theme .certificate-empty-state {
    background: rgba(27,32,35,.72) !important;
    border-color: rgba(191,164,101,.25) !important;
}
body.dark-theme .certificate-paper {
    background:
        linear-gradient(rgba(109,48,64,.18), rgba(109,48,64,.18)) 32px 46px / 72px 1px no-repeat,
        linear-gradient(rgba(191,164,101,.20), rgba(191,164,101,.20)) 32px 70px / 138px 1px no-repeat,
        linear-gradient(rgba(191,164,101,.13), rgba(191,164,101,.13)) 32px 88px / 116px 1px no-repeat,
        linear-gradient(155deg, #22272B, #191D20) !important;
    border-color: rgba(191,164,101,.28) !important;
    box-shadow: 0 18px 45px rgba(0,0,0,.23) !important;
}
body.dark-theme .certificate-technical-note { color: var(--dark-text-muted) !important; }
body.dark-theme .certificate-card {
    background: var(--dark-surface) !important;
    border-color: var(--dark-border-gold) !important;
    box-shadow: 0 18px 42px rgba(0,0,0,.24) !important;
}
body.dark-theme .certificate-card:hover { border-color: rgba(191,164,101,.55) !important; }
body.dark-theme .certificate-card-thumb { background: var(--dark-bg-soft) !important; border-bottom-color: var(--dark-border) !important; }
body.dark-theme .certificate-card h3 { color: var(--dark-text) !important; }
body.dark-theme .certificate-card-info { color: var(--dark-text-soft) !important; }
body.dark-theme .certificate-card-meta { color: var(--dark-gold) !important; }
body.dark-theme .certificate-card-action { color: #C7AF95 !important; }

/* ---------- About page ---------- */
body.dark-theme.about-page,
body.dark-theme .about-page-main { background: var(--dark-bg); }
body.dark-theme .bio-hero {
    background:
        radial-gradient(circle at 80% 20%, rgba(191,164,101,.07), transparent 28%),
        linear-gradient(145deg, #101315 0%, #15191C 74%, #1B1D20 100%) !important;
    border-bottom-color: var(--dark-border-gold) !important;
}
body.dark-theme .bio-frame-img-wrap { border-color: rgba(191,164,101,.18) !important; box-shadow: 0 22px 60px rgba(0,0,0,.28) !important; }
body.dark-theme .approach-block { border-top-color: var(--dark-border) !important; }
body.dark-theme .approach-block:hover { border-top-color: var(--dark-gold) !important; }
body.dark-theme .closing-link:hover { background: rgba(255,255,255,.025) !important; }
body.dark-theme .closing-link:hover .cl-title { color: #C7AF95 !important; }

/* ---------- Services listing ---------- */
body.dark-theme.services-page,
body.dark-theme .services-page-main { background: var(--dark-bg); }
body.dark-theme .services-hero {
    background:
        radial-gradient(circle at 84% 28%, rgba(191,164,101,.09), transparent 28%),
        linear-gradient(145deg, #101315 0%, #15191C 72%, #1A1D20 100%) !important;
    border-bottom-color: var(--dark-border-gold) !important;
}
body.dark-theme .services-catalog { background: linear-gradient(180deg, #15191C, #111416) !important; }
body.dark-theme .service-card {
    background: linear-gradient(155deg, #1B2023, #171B1E) !important;
    border-color: var(--dark-border) !important;
    box-shadow: 0 12px 34px rgba(0,0,0,.18) !important;
}
body.dark-theme .service-card:hover {
    border-color: rgba(191,164,101,.34) !important;
    box-shadow: 0 20px 50px rgba(0,0,0,.28) !important;
}
body.dark-theme .service-card::before { background: linear-gradient(90deg, var(--dark-gold), var(--dark-accent)) !important; }
body.dark-theme .card-number { color: rgba(191,164,101,.17) !important; }
body.dark-theme .service-card:hover .card-number { color: rgba(109,48,64,.34) !important; }
body.dark-theme .service-card-link { border-color: var(--dark-border) !important; color: #D7D1C9 !important; }
body.dark-theme .service-card:hover .service-card-link { color: #C7AF95 !important; }
body.dark-theme .services-cta {
    background: linear-gradient(135deg, #181A1C 0%, #261B1F 100%) !important;
    border-top: 1px solid rgba(191,164,101,.14);
}
body.dark-theme .services-cta small { color: rgba(238,234,227,.58); }
body.dark-theme .services-cta p { color: rgba(238,234,227,.72); }
body.dark-theme .services-cta .btn { background: #F0ECE4; color: #4F2530; border-color: #F0ECE4; }
body.dark-theme .services-cta .btn:hover { background: transparent; color: var(--dark-text); border-color: rgba(238,234,227,.62); }

/* ---------- Service detail ---------- */
body.dark-theme.service-detail-page,
body.dark-theme .service-detail-main { background: var(--dark-bg); }
body.dark-theme.service-detail-page {
    --detail-line: rgba(238,234,227,.10);
    --detail-gold-line: rgba(191,164,101,.28);
    --detail-surface: rgba(27,32,35,.90);
}
body.dark-theme .service-hero {
    background:
        radial-gradient(circle at var(--hero-glow-x,82%) 34%, rgba(191,164,101,.09), transparent 28%),
        linear-gradient(140deg, #101315 0%, #15191C 68%, #1A1D20 100%) !important;
    border-bottom-color: var(--dark-border-gold) !important;
}
body.dark-theme .hero-route-main,
body.dark-theme .pattern-route-muted { stroke: rgba(109,48,64,.32) !important; }
body.dark-theme .hero-route-secondary,
body.dark-theme .pattern-route-gold { stroke: rgba(191,164,101,.30) !important; }
body.dark-theme .hero-route-fine,
body.dark-theme .hero-calibration,
body.dark-theme .pattern-grid-line { stroke: rgba(238,234,227,.07) !important; }
body.dark-theme .hero-node-red,
body.dark-theme .pattern-node-red { fill: rgba(109,48,64,.70) !important; }
body.dark-theme .hero-node-gold,
body.dark-theme .pattern-node-gold { fill: rgba(191,164,101,.72) !important; }
body.dark-theme .sh-watermark { color: rgba(191,164,101,.055) !important; }
body.dark-theme .service-figure { background: #171B1E !important; border-color: rgba(191,164,101,.18) !important; box-shadow: 0 18px 55px rgba(0,0,0,.26) !important; }
body.dark-theme .service-figure::after { background: linear-gradient(135deg, rgba(255,255,255,.01), rgba(109,48,64,.07)), linear-gradient(0deg, rgba(0,0,0,.18), transparent) !important; }
body.dark-theme .image-fallback { background: radial-gradient(circle at 70% 28%, rgba(191,164,101,.10), transparent 32%), linear-gradient(135deg, #1B2023, #15191C) !important; }
body.dark-theme .service-layout { background: rgba(17,20,22,.96) !important; }
body.dark-theme .scope-route .scope-marker { background: var(--dark-surface-raised) !important; }
body.dark-theme .privacy-box {
    background: linear-gradient(90deg, rgba(109,48,64,.14), rgba(27,32,35,.72)) !important;
    border-left-color: var(--dark-accent) !important;
}
body.dark-theme .privacy-box p { color: var(--dark-text-soft) !important; }
body.dark-theme .sidebar-nav-box {
    background: radial-gradient(circle at 112% -8%, rgba(191,164,101,.08), transparent 32%), #1B2023 !important;
}
body.dark-theme .sidebar-nav-box::before { border-color: rgba(109,48,64,.28) !important; }
body.dark-theme .sidebar-menu a:hover { background: #22272A !important; color: var(--dark-text) !important; }
body.dark-theme .sidebar-menu a.active { background: #262024 !important; color: #C7AF95 !important; }
body.dark-theme .sidebar-cta-box {
    background: linear-gradient(140deg, #251A1E, #301E24) !important;
    border-color: rgba(191,164,101,.20) !important;
}
body.dark-theme .sidebar-cta-box .sidebar-cta-label { color: rgba(238,234,227,.58); }
body.dark-theme .sidebar-cta-box p { color: rgba(238,234,227,.80); }
body.dark-theme .sidebar-cta-box .btn { background: #F0ECE4; color: #4F2530; border-color: #F0ECE4; }
body.dark-theme .sidebar-cta-box .btn:hover { background: var(--dark-gold); color: #17191B; border-color: var(--dark-gold); }
body.dark-theme .bottom-cta-section {
    background: radial-gradient(circle at 86% 30%, rgba(191,164,101,.08), transparent 25%), linear-gradient(135deg, #15191C 0%, #111416 100%) !important;
    border-top-color: var(--dark-border-gold) !important;
}

/* ---------- Contact page ---------- */
body.dark-theme.contact-page,
body.dark-theme .contact-page-main { background: var(--dark-bg); }
body.dark-theme .contact-hero {
    background:
        radial-gradient(circle at 80% 22%, rgba(191,164,101,.08), transparent 28%),
        linear-gradient(142deg, #101315 0%, #15191C 72%, #1A1D20 100%) !important;
    border-bottom-color: var(--dark-border-gold) !important;
}
body.dark-theme .contact-hero-note { border-left-color: rgba(191,164,101,.50) !important; }
body.dark-theme .contact-hero-note strong { color: #C7AF95 !important; }
body.dark-theme .contact-workspace,
body.dark-theme .location-section { background: #13171A !important; }
body.dark-theme .contact-channel-list { border-color: var(--dark-border-gold) !important; }
body.dark-theme .contact-channel { border-color: var(--dark-border) !important; color: var(--dark-text); }
body.dark-theme a.contact-channel:hover { color: #C7AF95; }
body.dark-theme .contact-protocol p { border-color: var(--dark-border) !important; }
body.dark-theme .contact-form-surface {
    background: linear-gradient(145deg, #1B2023, #181C1F) !important;
    border-color: var(--dark-border) !important;
}
body.dark-theme .contact-form-surface::before { background: linear-gradient(90deg, var(--dark-gold), var(--dark-accent)) !important; }
body.dark-theme .location-shell { background: var(--dark-surface) !important; border-color: var(--dark-border) !important; }
body.dark-theme .location-map iframe { filter: grayscale(.18) brightness(.68) contrast(1.08) saturate(.72) !important; }
body.dark-theme .location-copy {
    background: linear-gradient(145deg, #21191C, #2D1D23) !important;
}
body.dark-theme .location-copy small { color: rgba(238,234,227,.56); }
body.dark-theme .location-copy h2 { color: var(--dark-text); }
body.dark-theme .location-copy > p { color: rgba(238,234,227,.74); }
body.dark-theme .location-facts { border-color: rgba(238,234,227,.12); }
body.dark-theme .location-facts p { border-color: rgba(238,234,227,.09); color: rgba(238,234,227,.84); }
body.dark-theme .location-copy a { color: var(--dark-text); border-color: rgba(191,164,101,.44); }
body.dark-theme .offices-section { background: var(--dark-bg-soft) !important; border-color: var(--dark-border-gold) !important; }
body.dark-theme .office-card h3 { color: var(--dark-text); }
body.dark-theme .office-card address { color: var(--dark-text-soft); }
body.dark-theme .office-flag { background: var(--dark-surface-raised); border-color: var(--dark-border-gold); }

/* ---------- Decorative patterns: visible, never dominant ---------- */
body.dark-theme .media-hero-pattern,
body.dark-theme .media-archive-pattern,
body.dark-theme .certificates-hero-pattern,
body.dark-theme .certificates-archive-pattern,
body.dark-theme .bio-hero-pattern,
body.dark-theme .services-hero-pattern,
body.dark-theme .services-catalog-pattern,
body.dark-theme .contact-hero-pattern,
body.dark-theme .press-carousel-pattern,
body.dark-theme .detail-page-pattern,
body.dark-theme .hero-pattern-layer,
body.dark-theme .bottom-cta-pattern,
body.dark-theme .footer-pattern { opacity: .52 !important; }

/* ---------- Footer ---------- */
body.dark-theme .site-footer {
    background:
        radial-gradient(circle at 82% 15%, rgba(191,164,101,.055), transparent 29%),
        linear-gradient(138deg, #101315 0%, #171719 52%, #21191C 100%) !important;
    border-top: 1px solid rgba(191,164,101,.12);
}
body.dark-theme .footer-desc,
body.dark-theme .footer-nav a,
body.dark-theme .footer-contact p { color: rgba(238,234,227,.68); }
body.dark-theme .footer-contact-link { color: var(--dark-text); }
body.dark-theme .footer-bottom { border-top-color: rgba(238,234,227,.10); }
body.dark-theme .footer-primary-link { background: rgba(255,255,255,.035); border-color: rgba(191,164,101,.42); color: var(--dark-text); }
body.dark-theme .footer-primary-link:hover { background: var(--dark-gold); color: #17191B; }

/* ---------- Accessibility / focus ---------- */
body.dark-theme a:focus-visible,
body.dark-theme button:focus-visible,
body.dark-theme input:focus-visible,
body.dark-theme select:focus-visible,
body.dark-theme textarea:focus-visible {
    outline-color: var(--dark-gold);
}


/* Mobile replacement surfaces in dark mode */
body.dark-theme .process-mobile-section { background: var(--dark-bg-soft) !important; }
body.dark-theme .process-mobile-head p,
body.dark-theme .process-mobile-card p { color: var(--dark-text-soft) !important; }
body.dark-theme .process-mobile-card { background: var(--dark-surface) !important; border-color: var(--dark-border) !important; }
body.dark-theme .process-mobile-card h3 { color: var(--dark-text) !important; }
body.dark-theme .process-mobile-card > span { color: var(--dark-gold) !important; }
