:root {
  color-scheme: light;
  --page-surface: #ffffff;
  --page-background: #f4fbfe;
  --page-text: #14233c;
  --page-muted: #526276;
  --page-border: #d8e5ed;
}
html[data-theme="dark"] { color-scheme: dark; --page-surface: #172438; --page-background: #0c1523; --page-text: #eef5fc; --page-muted: #bfccd9; --page-border: #35465b; --heading-color: 211 75% 96%; --body-color: 212 28% 80%; --section-bg: 215 45% 10%; --border-color: 215 26% 28%; }
html[data-theme="dark"] body { background: var(--page-background); color: var(--page-muted); }
html[data-theme="dark"] :is(h1,h2,h3,h4,h5,h6,.banner-content__title,.section-heading__title,.accordion-button,.video-preview__text,.happy-user__title) { color: var(--page-text); }
html[data-theme="dark"] :is(.navbar,.navbar-collapse,.header.fixed-header,.happy-user,.thumb-card,.service-card,.work-card,.testimonial-item,.accordion-item,.accordion-button,.cookies-card) { background-color: var(--page-surface); color: var(--page-text); }
html[data-theme="dark"] :is(.banner-section,.banner-section::before,.about-section,.services-section,.features,.work-us,.faq,.brand,.section-bg,.section-bg-light,.newsletter) { background-color: var(--page-background); }
html[data-theme="dark"] :is(.nav-link,.lang-select,.contact-list__link,.contact-list__item,.follow-social-list__text,.follow-social-list__link,.navbar-toggler,.tab-pane__text,.service-card__desc,.work-card__desc,.accordion-body,.happy-user__desc) { color: var(--page-muted); }
html[data-theme="dark"] .nav-link.active, html[data-theme="dark"] a:hover { color: #39c6ff; }
html[data-theme="dark"] :is(input,textarea,select,.form--control) { background-color: var(--page-surface); color: var(--page-text); border-color: var(--page-border); }
html[data-theme="dark"] :is(input,textarea)::placeholder { color: #aebed0; }
html[data-theme="dark"] :is(.footer-area,.bottom-footer) { background-color: #080f1b; }
html[data-theme="dark"] .navbar-brand.logo { background: #fff; border-radius: 8px; padding: 5px 8px; }
html[data-theme="dark"] .preloader { background: var(--page-background); }
.theme-toggle { position: fixed; bottom: 20px; left: 20px; z-index: 1040; display: inline-flex; align-items: center; gap: 9px; padding: 11px 16px; border: 1px solid var(--page-border); border-radius: 30px; background: var(--page-surface); color: var(--page-text); font: 500 14px/1.4 var(--body-font), sans-serif; box-shadow: 0 4px 20px #0002; cursor: pointer; }
.theme-toggle svg { width: 19px; height: 19px; flex-shrink: 0; }
.theme-toggle:hover { border-color: #00a6f7; }
:is(.theme-toggle,.page-link-button,.faq-search,.contact-field,summary):focus-visible { outline: 3px solid #00a6f7; outline-offset: 4px; }
.skip-link { position: fixed; top: -100px; left: 15px; z-index: 2000; background: var(--page-surface); color: var(--page-text); padding: 12px; border: 2px solid #00a6f7; }
.skip-link:focus { top: 12px; }
.page-hero { padding: 90px 0 65px; background: var(--page-background); border-bottom: 1px solid var(--page-border); }
.inner-page .header { position: relative; top: auto; margin: 12px 0; }
.page-hero h1 { font-size: clamp(2.5rem,6vw,4.5rem); margin: 12px 0 18px; }
.page-hero p { max-width: 660px; font-size: 1.125rem; color: var(--page-muted); }
.page-eyebrow { color: #007cb9; font-size: .85rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; }
html[data-theme="dark"] .page-eyebrow { color: #59ceff; }
.page-content { padding: 75px 0 90px; flex: 1; }
.page-card { padding: 32px; border: 1px solid var(--page-border); border-radius: 20px; background: var(--page-surface); height: 100%; }
.page-card h2 { font-size: clamp(1.6rem,3vw,2.25rem); }
.page-card h3 { font-size: 1.45rem; }
.page-card p + p { margin-top: 16px; }
.page-photo { width: 100%; max-height: 440px; object-fit: contain; }
.page-link-button { display: inline-flex; align-items: center; justify-content: center; padding: 13px 24px; border-radius: 8px; border: 1px solid transparent; background: #007cb9; color: white; font-weight: 600; cursor: pointer; text-decoration: none; }
.page-link-button:hover { background: #006495; color: white !important; }
.page-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 24px; }
.page-note { color: var(--page-muted); font-size: .95rem; }
.page-content a:not(.page-link-button) { color: #007cb9; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
html[data-theme="dark"] .page-content a:not(.page-link-button) { color: #59ceff; }
.faq-wrap { max-width: 900px; margin: auto; }
.faq-search,.contact-field { width: 100%; padding: 13px 16px; border: 1px solid var(--page-border); border-radius: 8px; background: var(--page-surface); color: var(--page-text); }
.faq-search { margin: 8px 0 12px; }
.faq-entry { padding: 0 24px; background: var(--page-surface); border: 1px solid var(--page-border); border-radius: 12px; margin-top: 14px; }
.faq-entry summary { padding: 23px 0; cursor: pointer; color: var(--page-text); font-family: var(--heading-font); font-size: 1.2rem; font-weight: 600; }
.faq-entry p { padding-bottom: 24px; }
.contact-form label { display: block; margin-bottom: 8px; color: var(--page-text); font-weight: 600; }
.contact-form .field-group { margin-bottom: 22px; }
.contact-form textarea { min-height: 160px; resize: vertical; }
.contact-form .page-note { margin-bottom: 20px; }
.public-footer { background: #101e32; color: #d6e1ed; padding: 45px 0 80px; margin-top: auto; }
.public-footer a { color: #d6e1ed; text-decoration: none; }
.public-footer a:hover { color: #59ceff; }
.public-footer nav { display: flex; flex-wrap: wrap; gap: 24px; margin: 20px 0; }
.public-footer p { color: #bfccd9; }
[hidden] { display: none !important; }
@media(max-width:767px) { .page-hero { padding: 55px 0 40px; } .page-content { padding: 40px 0 60px; } .page-card { padding: 24px; } .theme-toggle { left: 12px; bottom: 12px; padding: 10px 13px; } }

/* Dark surfaces must override the original template's light !important rules. */
html[data-theme="dark"] .section-bg-light { background-color: var(--page-background) !important; }
html[data-theme="dark"] .features .feature-card,
html[data-theme="dark"] .service-card,
html[data-theme="dark"] .testimonial-item { background-color: var(--page-surface); border-color: var(--page-border); }
html[data-theme="dark"] .custom--accordion .accordion-item,
html[data-theme="dark"] .custom--accordion .accordion-button:not(.collapsed) { background-color: var(--page-surface) !important; }
html[data-theme="dark"] .custom--accordion .accordion-button,
html[data-theme="dark"] .custom--accordion .accordion-body,
html[data-theme="dark"] .custom--accordion .accordion-collapse { background-color: var(--page-surface); color: var(--page-text); }
html[data-theme="dark"] :is(.feature-card__desc,.testimonial-item__desc,.testimonial-item__designation,.faq-content__desc,.faq .section-heading__desc,.service-list__desc,.section-heading__desc,.brand-section-heading) { color: var(--page-muted); }
html[data-theme="dark"] :is(.feature-card__title,.service-card__heading,.service-list__title,.testimonial-item__name) { color: var(--page-text); }
html[data-theme="dark"] .section-heading__subtitle { color: #59ceff; }
html[data-theme="dark"] .features .feature-card:hover::after { background-color: #1e3b52; }
html[data-theme="dark"] .features .feature-card:hover :is(.feature-card__title,.feature-card__desc,.feature-card__desc .link) { color: var(--page-text); }
html[data-theme="dark"] .custom--accordion .accordion-button::after { color: #59ceff; }