/* Dark presentation for the existing editorial, service and contact pages.
   Color-only overrides: preserve layouts, controls, copy and branded artwork. */
body.premium-site.premium-internal:not(.premium-demo) .premium-content {
  color: var(--premium-ink);
  color-scheme: dark;
}

/* Keep typography inside previews and palette samples under its own styling. */
body.premium-site.premium-internal:not(.premium-demo) .premium-content :is(p,li,dd,dt):not(:where(.project-visual *, .portfolio-cover *, .ks-proof-visual *, .ks-hero-preview *, .pj-color-strip *, .pj-swatch *, .ks-restyling-before *, .ks-restyling-after *)) {
  color: var(--premium-muted);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content :is(h1,h2,h3,h4,strong,b,summary):not(:where(.project-visual *, .portfolio-cover *, .ks-proof-visual *, .ks-hero-preview *, .pj-color-strip *, .pj-swatch *, .ks-restyling-before *, .ks-restyling-after *)) {
  color: var(--premium-ink);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content a:not(:where(.project-visual *, .portfolio-cover *, .ks-proof-visual *, .ks-hero-preview *, .pj-color-strip *, .pj-swatch *, .ks-restyling-before *, .ks-restyling-after *)) {
  color: var(--premium-ink);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content :is(.ks-eyebrow,.eyebrow,.pj-kicker,.ks-legal-kicker,.back,.ks-service-crumbs,.pj-perception,.pj-note,.ks-price-extra,.ks-package-scope,.ks-first-month,.ks-quote-subtotal,.ks-proof-note,.payment-facts,.payment-guide-note) {
  color: var(--premium-muted);
  border-color: var(--premium-line);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content :is(.ks-service-crumbs a,.ks-service-crumbs > span,.ks-proof-head > p,.ks-service-areas a,.ks-price-value span,.ks-price-value small,.ks-local-service-process li > span,.ks-geo-story-grid > article > span,.ks-local-method li > span,.ks-seo-explainer-copy li > span,.ks-social-method-flow article > span) {
  color: var(--premium-muted);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content :is(.orbit-hero,.ks-service-intro,.ks-pricing-intro,.ks-italy-hero,.ks-local-hero,.page-intro,.pj-hero) > p:not(.ks-eyebrow):not(.eyebrow):not(.pj-kicker) {
  color: var(--premium-muted);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content figure > figcaption,
body.premium-site.premium-internal:not(.premium-demo) .premium-content .ks-seo-explainer figcaption {
  color: var(--premium-muted);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content li::marker {
  color: var(--premium-muted);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content .ks-service-crumbs > span::before {
  border-color: var(--premium-muted);
}

/* Service, resource and project-description cards. Swatches and cover images
   are deliberately absent from this list. */
body.premium-site.premium-internal:not(.premium-demo) .premium-content :is(.orbit-card,.ks-price-card,.ks-service-offers > article,.ks-service-grid > article,.ks-local-services > a,.ks-local-services > article,.resource-card,.ks-quote-example,.pj-catalog-card,.ks-proof-card,.ks-geo-story-grid > article,.ks-method > ol > li,.ks-trust-commitments article,.ks-local-service-process li,.pj-type,.pj-flow > *,details) {
  background: var(--dark-surface) !important;
  border-color: var(--premium-line) !important;
  color: var(--premium-ink);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content :is(.orbit-card,.ks-price-card,.ks-service-offers > article,.resource-card,.pj-catalog-card,.ks-proof-card):hover {
  background: var(--dark-raised) !important;
  border-color: #697487 !important;
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content :is(.ks-price-notice,.ks-rate-note,.ks-budget-note,.ks-scope-guide,.ks-collaboration-note,.ks-city-disclosure,.resources-assurance,.ks-local-note,.ks-small-note,.ks-price-estimate,.ks-legal-identity,.ks-pay-path > div,.ks-local-address,.ks-seo-explainer,.ks-social-method,.ks-social-method-result,.resources-map,.pj-note,.resources-method li > span) {
  background: var(--dark-raised) !important;
  border-color: var(--premium-line) !important;
  color: var(--premium-muted);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content :is(.ks-social-method-flow > *, .resources-node) {
  background: var(--dark-surface);
  border-color: var(--premium-line);
  color: var(--premium-ink);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content :is(.resources-node small,.resources-assurance span) {
  color: var(--premium-muted);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content .resources-assurance a {
  border-color: var(--premium-line);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content .resources-assurance a:is(:hover,:focus-visible) {
  background: var(--dark-surface);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content .ks-price-notice .ks-pay-path {
  background: var(--dark-surface);
  border-color: var(--premium-line);
  color: var(--premium-muted);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content .ks-price-notice .ks-pay-path b {
  color: var(--premium-ink);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content :is(.ks-section,.pj-section,.resources-guides,.resources-method,.resources-cta,.ks-proof-showcase,.ks-geo-story,.ks-city-editorial,.ks-local-service-process,.ks-local-method li,.ks-service-faq article,.ks-trust-commitments,.ks-price-terms,.ks-seo-explainer-copy li,.resources-map-ring,.pj-color) {
  border-color: var(--premium-line) !important;
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content :is(.ks-service-brief,.ks-service-brief ul,.ks-service-brief .ks-actions) {
  color: var(--premium-muted);
}
body.premium-site.premium-internal:not(.premium-demo) .ks-geo-hub {
  background: var(--dark-surface);
  border-color: var(--premium-line) !important;
  color: var(--premium-ink);
}

/* Links and labels around the project artwork. */
body.premium-site.premium-internal:not(.premium-demo) .premium-content :is(.ks-inline-link,.pj-demo-link,.pj-reason-link,.text-button,.ks-proof-demo,.ks-proof-note a,.ks-local-services a,.resource-card > strong,.resource-card-go,.ks-proof-copy h3,.ks-proof-copy strong,.ks-proof-showcase,.ks-proof-card,.pj-color-title,.pj-flow-title) {
  color: var(--premium-ink);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content .ks-proof-demo {
  border-color: var(--premium-line);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content :is(.ks-proof-demo,.ks-proof-note a):hover {
  color: var(--premium-lime);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content :is(.pj-proof-chip,.pj-proof-legend,.pj-real-badge,.pj-concept-badge) {
  background: var(--dark-raised);
  border-color: var(--premium-line);
  color: var(--premium-muted);
}
/* Legacy concept/real labels set their foreground with !important. Keep the
   same labels and artwork; override only the surrounding site's contrast. */
body.premium-site.premium-internal:not(.premium-demo) .premium-content .pj-hero > .pj-proof-chip {
  color: var(--premium-muted) !important;
}

/* Legal reading panes used an important translucent white background.
   Use an opaque surface so light headings remain readable in both locales. */
body.premium-site.premium-internal:not(.premium-demo) .premium-content .ks-legal-main.orbit-reading {
  background: var(--premium-paper) !important;
  border-color: var(--premium-line) !important;
  color: var(--premium-muted);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content .ks-legal-meta {
  background: var(--dark-raised);
  color: var(--premium-muted);
  border-color: var(--premium-line);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content .ks-legal-meta > span {
  color: var(--premium-muted);
}

/* Guide annotations and decorative arrows belong to the editorial chrome. */
body.premium-site.premium-internal:not(.premium-demo) .premium-content :is(.seo-guide-hero aside,.seo-guide-page .ks-local-service-promise) {
  background: var(--dark-raised);
  border-color: var(--premium-line);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content .seo-metric-strip {
  background: var(--dark-surface);
  border-color: var(--premium-line);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content .seo-metric-strip > span {
  color: var(--premium-muted);
  border-color: var(--premium-line);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content .resource-card-go > b {
  background: var(--dark-raised);
  color: var(--premium-ink);
}
/* Local-service intros and the Italy city catalog still carried translucent
   light gradients. Keep their copy, images and layout, with solid dark bases. */
body.premium-site.premium-internal:not(.premium-demo) .premium-content .ks-local-service-hero {
  background: var(--premium-paper) !important;
  border-color: var(--premium-line) !important;
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content .ks-local-service-hero > aside {
  background: var(--dark-raised) !important;
  border-color: var(--premium-line) !important;
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content .ks-city-list > article {
  background: var(--dark-surface) !important;
  border-color: var(--premium-line) !important;
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content :is(.ks-price-nav > a,.pj-nav > a,.ks-coverage-links > div a) {
  border-color: var(--premium-line);
  color: var(--premium-ink);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content :is(.ks-price-nav > a,.pj-nav > a,.ks-coverage-links > div a):hover {
  background: var(--dark-raised);
  border-color: #697487;
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content .ks-restyling-preview-copy {
  background: var(--dark-surface);
  border-color: var(--premium-line);
  color: var(--premium-muted);
}

/* Captions are presentation chrome; leave the actual preview screens alone. */
body.premium-site.premium-internal:not(.premium-demo) .premium-content .ks-hero-preview-caption,
body.premium-site.premium-internal:not(.premium-demo) .premium-content .ks-hero-preview--software .ks-hero-preview-caption {
  background: var(--dark-surface);
  color: var(--premium-ink);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content .ks-hero-preview-caption :is(strong,b,p),
body.premium-site.premium-internal:not(.premium-demo) .premium-content .ks-hero-preview--software .ks-hero-preview-caption :is(strong,b) {
  color: var(--premium-ink);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content .ks-hero-preview-caption small,
body.premium-site.premium-internal:not(.premium-demo) .premium-content .ks-hero-preview--software .ks-hero-preview-caption small {
  color: var(--premium-lime);
}

/* Contact fields and payment information inherit the same dark surfaces. */
body.premium-site.premium-internal:not(.premium-demo) :is(.glass-form,.contact-aside,.payment-roadmap > article,.payment-roadmap > li,.payment-method-card) {
  background: var(--dark-surface) !important;
  border-color: var(--premium-line);
  color: var(--premium-ink);
}
body.premium-site.premium-internal:not(.premium-demo) :is(.contact-payment-guide,.contact-steps,.contact-business-card,.cart-choice-confirmation,.payment-method-badge,.form-privacy,.contact-direct-actions .contact-phone,.contact-direct-actions .contact-email) {
  background: var(--dark-raised);
  border-color: var(--premium-line);
  color: var(--premium-muted);
}
body.premium-site.premium-internal:not(.premium-demo) :is(.payment-guide-head,.payment-guide-note,.contact-steps li,.contact-form-heading,.contact-business-card nav) {
  border-color: var(--premium-line);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content :is(.glass-form label,.contact-phone,.contact-email,.payment-guide-head h2 > span) {
  color: var(--premium-ink);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content :is(.contact-aside,.contact-steps) :is(small,a > span,li > span) {
  color: var(--premium-muted);
}
body.premium-site.premium-internal:not(.premium-demo) .glass-form :is(input,textarea,select) {
  background: var(--premium-paper);
  border-color: #697487;
  color: var(--premium-ink);
  caret-color: var(--premium-lime);
  accent-color: var(--premium-lime);
  color-scheme: dark;
}
body.premium-site.premium-internal:not(.premium-demo) .glass-form :is(input,textarea)::placeholder {
  color: var(--premium-muted);
  opacity: 1;
}
body.premium-site.premium-internal:not(.premium-demo) .glass-form :is(input,textarea,select):focus {
  border-color: var(--premium-lime);
  box-shadow: 0 0 0 3px #c4f45533;
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content :is(.ks-proof-card,.ks-proof-card-main,.ks-proof-demo,.ks-proof-note a,.rate-pill):focus-visible {
  outline-color: var(--premium-lime);
}

/* Preserve readable dark lettering on all existing lime actions and markers. */
body.premium-site.premium-internal:not(.premium-demo) .premium-content :is(.ks-package-request,.ks-button,.ks-package-button,.button,.pj-action,.pj-pdf,.ks-proof-copy > span,.service-emblem,.resource-card-num,.resources-map-core,.resources-node > span,.payment-selected-pill,.payment-roadmap > article > span,.payment-roadmap > li > span) {
  background: var(--premium-lime) !important;
  border-color: var(--premium-lime);
  color: var(--dark-on-accent) !important;
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content :is(.ks-button,.ks-package-button,.button,.pj-action,.pj-pdf,.resources-map-core,.payment-selected-pill,.ks-proof-copy > span) :is(strong,b,small,span) {
  color: var(--dark-on-accent) !important;
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content :is(.ks-button,.button,.pj-pdf):hover {
  background: #b9e54f !important;
  border-color: #b9e54f;
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content .ks-request-content > * {
  color: var(--premium-ink) !important;
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content .rate-pill {
  background: var(--dark-raised) !important;
  border-color: var(--premium-line);
  color: var(--premium-ink) !important;
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content .rate-pill :is(i,b,.ico) {
  color: var(--premium-ink) !important;
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content .rate-pill .txt > span {
  color: var(--premium-muted);
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content .rate-pill .cta {
  background: var(--premium-lime);
  border-color: var(--premium-lime);
  color: var(--dark-on-accent) !important;
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content .rate-pill .cta :is(i,b,span) {
  color: var(--dark-on-accent) !important;
}
body.premium-site.premium-internal:not(.premium-demo) .premium-content .rate-pill:hover .cta {
  background: #b9e54f;
  border-color: #b9e54f;
}
