/* One graphite visual system for every public route. Loaded after the legacy component CSS. */
:root { color-scheme: dark; }
body.black-site { --ink: #f4f4f4; --accent: #f4f4f4; --paper: #0b0b0b; background: #050505; color: #e8e8e8; }
.black-site h1, .black-site h2, .black-site h3, .black-site h4, .black-site h5 { color: #fff; }
.black-site a { color: inherit; }
.black-site .site-header, .black-site .business-subnav, .black-site .nav.open { background: #050505; border-color: #343434; }
.black-site .site-header .brand, .black-site .locale-footer .brand { background: none; padding: 0; border: 0; }
.black-site .nav, .black-site .nav a, .black-site .nav-group summary, .black-site .business-subnav a { color: #eee; }
.black-site .nav-panel { background: #181818; border-color: #393939; }
.black-site .nav-panel a:hover, .black-site .menu-toggle { background: #252525; }
.black-site .language-picker, .black-site .language-picker select { background: #171717; color: #eee; border-color: #444; }
.black-site .nav-cta, .black-site .button-primary, .black-site .button-white { background: #fff; color: #111; border-color: #fff; }
.black-site .button-text, .black-site .inline-link, .black-site .eyebrow { color: #dedede; }
.black-site .section-space { scroll-margin-top: 92px; }

/* International homes: localized type stays live and readable over one shared dark asset. */
.black-site .campaign-hero, .black-site .locale-trust, .black-site .locale-download { background: #0b0b0b; color: #f4f4f4; }
.dark-locale-art { min-height: min(62vw, 650px); background: #070707 url('/assets/hero-global-dark.png') center/cover no-repeat; display: flex; align-items: center; }
.dark-locale-art-copy { width: min(660px, 52%); margin-left: max(5%, calc((100vw - 1380px)/2)); padding: 70px 16px 70px 0; display: flex; flex-direction: column; gap: 22px; }
.dark-locale-kicker { color: #a9a9a9; font-size: 12px; font-weight: 750; letter-spacing: .24em; }
.dark-locale-title { color: #fff; font-weight: 800; line-height: 1.08; letter-spacing: -.055em; font-size: clamp(40px, 5.2vw, 82px); text-wrap: balance; }
.dark-locale-subtitle { color: #ccc; font-size: clamp(15px, 1.35vw, 21px); line-height: 1.6; max-width: 550px; }
.dark-business-art { background-position: 66% center; }
.black-site .campaign-actions, .black-site .carousel-toolbar { background: #090909; border-color: #333; color: #ddd; }
.black-site .campaign-actions p, .black-site .locale-section-head p, .black-site .download-note { color: #bdbdbd; }
.black-site .campaign-actions p span { color: #bdbdbd; }
.black-site .carousel-toolbar button, .black-site .carousel-selectors button[aria-pressed=true] { color: #eee; border-color: #555; }
.black-site .carousel-selectors button[aria-pressed=true] { border-bottom-color: #fff; }
.black-site .annual-art { background: radial-gradient(circle at 70% 50%, #272727, #080808 58%); }
.black-site .annual-content h2, .black-site .annual-content > p { color: #fff; }
.black-site .annual-content img { filter: grayscale(1); opacity: .12; }

/* Guides and business pages. */
.black-site .feature-page-hero, .black-site .reading-hero { background: linear-gradient(90deg, #090909 0%, #090909eb 57%, #08080863 100%), url('/assets/hero-global-dark.png') right center/auto 100% no-repeat; }
.black-site .feature-page-hero { border-bottom: 1px solid #313131; }
.black-site .feature-page-hero p:not(.eyebrow), .black-site .guide-copy p { color: #bdbdbd; }
.black-site .reading-hero { border-radius: 0; }
.black-site .feature-overview, .black-site .feature-soft, .black-site .travel-section, .black-site .team-section, .black-site .inquiry-section, .black-site .business-teaser, .black-site .personal-stories, .black-site .use-cases { background: #0c0c0c; }
.black-site .business-security, .black-site .security, .black-site .final-cta { background: #111; }
.black-site .overview-grid article, .black-site .travel-grid article, .black-site .locale-card, .black-site .business-cards article, .black-site .inquiry-layout aside, .black-site .personal-story-grid article, .black-site .case-card, .black-site .annual-offer, .black-site .device-links a, .black-site .platform-card { background: #191919; color: #eee; border: 1px solid #373737; }
.black-site .locale-card:hover, .black-site .business-cards article:hover { border-color: #777; }
.black-site .article-contact, .black-site .ip-diagram, .black-site .ip-endpoints span, .black-site .ip-system { background: #1b1b1b; border-color: #3b3b3b; color: #eee; }
.black-site .ip-center { background: #080808; border: 1px solid #4c4c4c; }
.black-site :is(.reading-intro, .reading-date, .reading-section p, .article-contact p, .locale-section-head p, .locale-card p, .locale-trust p, .travel-grid p, .overview-grid p, .business-section-head p, .business-cards p, .section-description, .inquiry-layout p, .inquiry-layout aside p, .onboarding-grid p, .case-card p, .annual-offer p, .download-note, .availability-list details p) { color: #bdbdbd; }
.black-site :is(.card-number, .card-link, .travel-grid span, .overview-grid article>span, .locale-price) { color: #eee; }
.black-site :is(.reading-grid, .reading-section, .reading-toc a, .scope-list, .scope-list article, .availability-list details, .feature-subnav, .footer-links, .footer-legal) { border-color: #383838; }
.black-site .availability-list summary>span { background: #292929; color: #ddd; }

/* Legal content and long-form blog articles. */
.black-site .legal-meta, .black-site .legal-summary>div, .black-site .legal-note, .black-site .callout, .black-site .summary-box, .black-site .diagram, .black-site .toc-details { background: #1b1b1b; color: #e7e7e7; border-color: #3c3c3c; }
.black-site .legal-body strong, .black-site .prose strong, .black-site .legal-meta dd, .black-site .toc-details>summary { color: #fff; }
.black-site .legal-summary b { color: #eee; }
.black-site .legal-body :is(p,li,dd), .black-site .prose :is(p,li,dd), .black-site .legal-note p, .black-site .callout p { color: #d0d0d0; }
.black-site .legal-body a, .black-site .prose a, .black-site .comparison-notes a { color: #fff; text-decoration-color: #888; }
.black-site .doc-action, .black-site .blog-filter button, .black-site .blog-tag, .black-site .scope-items li { background: #262626; color: #eee; border-color: #555; }
.black-site .blog-filter button[aria-pressed=true] { background: #f4f4f4; color: #101010; }
.black-site .table-wrap { border-color: #444; }
.black-site .table-wrap :is(th,td), .black-site .compare-col, .black-site .stat-grid>div, .black-site .flow>li, .black-site .net-path .node { background: #171717; color: #e6e6e6; border-color: #414141; }
.black-site .table-wrap td:first-child, .black-site .scope-label, .black-site .flow strong, .black-site .net-path .node strong, .black-site .compare-col h4, .black-site .stat-grid dt, .black-site .timeline strong { color: #fff; }
.black-site .blog-card-link, .black-site .blog-cover { background: #171717; color: #f1f1f1; border-color: #383838; }
.black-site .blog-cover img, .black-site .blog-card-media img { filter: grayscale(1) brightness(.82); }
.black-site .blog-card-body :is(p,span), .black-site .blog-meta, .black-site .blog-date { color: #bdbdbd; }
.black-site .prose code { background: #292929; color: #f3f3f3; }
.black-site .callout-warn, .black-site .callout-tip { background: #222; border-color: #555; }
.black-site .layers>li, .black-site .scope { background: #232323; color: #eee; border-color: #555; }
.black-site .layers strong, .black-site .scope strong { color: #fff; }
.black-site .blog-cta { background: #111; border: 1px solid #444; }
.black-site .blog-cta:after { filter: grayscale(1); }

/* Footer and exceptions that remain light for their intended hierarchy. */
.black-site .locale-footer { background: #050505; color: #bbb; border-color: #393939; }
.black-site .footer-top p, .black-site .footer-links a, .black-site .footer-legal a, .black-site .business-info, .black-site .footer-bottom { color: #aaa; }
.black-site .footer-legal strong, .black-site .business-info b { color: #eee; }
.black-site .plan-card.featured, .black-site .comparison-price-card { background: #f8f8f8; color: #111; }
.black-site .plan-card.featured :is(h3,p,strong,li), .black-site .comparison-price-card :is(h3,p,strong) { color: #111; }

@media (max-width: 820px) {
  .black-site .nav.open { background: #151515; }
  .black-site .nav-panel { background: #242424; }
  .dark-locale-art { min-height: 660px; background-position: 63% bottom; }
  .dark-locale-art-copy { width: 78%; margin-left: 6%; align-self: flex-start; padding-top: 65px; }
}
@media (max-width: 650px) {
  .dark-locale-art { min-height: 690px; background-size: auto 70%; background-position: 55% bottom; }
  .dark-locale-art-copy { width: 88%; padding-top: 52px; gap: 13px; }
  .dark-locale-title { font-size: clamp(35px, 9vw, 52px); }
  .dark-locale-subtitle { font-size: 14px; }
  .black-site .feature-page-hero, .black-site .reading-hero { background-size: auto 80%; background-position: right bottom; }
}
@media print {
  :root { color-scheme: light; }
  body.black-site { background: #fff !important; color: #000 !important; }
  .black-site .legal-body :is(p,li,dd), .black-site .prose :is(p,li,dd) { color: #000 !important; }
}
