/* Main WallPrint — neutral white / black theme
   Changes color surfaces only; layout, spacing, content and behavior remain untouched. */

:root {
  --mwp-paper: #FFFFFF;
  --mwp-paper-soft: #FFFFFF;
  --mwp-paper-deep: #FFFFFF;
  --mwp-paper-ink: #111113;
  --mwp-paper-muted: #5F5B52;
  --mwp-paper-line: rgba(17, 17, 19, .18);
  --mwp-paper-line-soft: rgba(17, 17, 19, .10);
}

html {
  background: var(--mwp-paper);
  color-scheme: light;
}

/* Shared full-screen navigation */
.global-menu {
  --global-menu-paper: var(--mwp-paper);
}

/* Homepage */
body.home-page {
  --mwp-bg: var(--mwp-paper);
  --mwp-bg-soft: var(--mwp-paper-deep);
  --mwp-panel: var(--mwp-paper-soft);
  --mwp-panel-2: #FFFFFF;
  --mwp-text: var(--mwp-paper-ink);
  --mwp-muted: var(--mwp-paper-muted);
  --mwp-line: var(--mwp-paper-line);
  --mwp-line-soft: var(--mwp-paper-line-soft);
  background: var(--mwp-paper);
  color: var(--mwp-paper-ink);
}

body.home-page main,
body.home-page .about-section,
body.home-page .editorial-process,
body.home-page .editorial-values,
body.home-page .services,
body.home-page .calculator-section,
body.home-page .tracking-section,
body.home-page .contact,
body.home-page .wallprint-faq,
body.home-page .team-page,
body.home-page .site-footer,
body.home-page .legal-main,
body.home-page .legal-content {
  background: var(--mwp-paper);
}

/* Keep the video hero and embedded Live-Design-Test intentionally dark. */
body.home-page .editorial-hero,
body.home-page .original-live-test-host,
body.home-page .original-live-test-frame {
  background: #FFFFFF;
}

body.home-page .benefit-accordion-item,
body.home-page .editorial-process .steps article,
body.home-page .trust-card,
body.home-page .mosaic-card,
body.home-page .panel,
body.home-page .result-card,
body.home-page .tracking-result,
body.home-page .contact-form,
body.home-page .contact-intro,
body.home-page .faq-master-accordion,
body.home-page .faq-item,
body.home-page .section-accordion,
body.home-page .contact-accordion,
body.home-page .estimate-snapshot div,
body.home-page .legal-block {
  background: var(--mwp-paper-soft) !important;
  border-color: var(--mwp-paper-line) !important;
  box-shadow: none !important;
}

body.home-page .mosaic-art {
  background-color: var(--mwp-paper-deep);
}

body.home-page :is(h2, h3, h4, summary, .price, .breakdown strong, .footer-links strong),
body.home-page .legal-hero h1,
body.home-page .legal-block h2,
body.home-page .legal-block h3 {
  color: var(--mwp-paper-ink);
}

body.home-page :is(.muted, .service-benefits-intro, .faq-answer, .legal-lead, .legal-block p, .legal-block address),
body.home-page .breakdown-row,
body.home-page .breakdown > div {
  color: var(--mwp-paper-muted);
}

body.home-page input,
body.home-page select,
body.home-page textarea,
body.home-page .currency-static {
  color: var(--mwp-paper-ink);
  background: #FFFFFF;
  border-color: var(--mwp-paper-line);
}

body.home-page input::placeholder,
body.home-page textarea::placeholder {
  color: #767676;
}

body.home-page .btn.ghost,
body.home-page .mini-btn.muted {
  color: var(--mwp-paper-ink);
  background: transparent;
  border-color: var(--mwp-paper-line);
}

body.home-page .site-footer,
body.home-page .site-footer a,
body.home-page .site-footer p,
body.home-page .site-footer span {
  color: var(--mwp-paper-ink);
}

body.home-page .site-footer .muted {
  color: var(--mwp-paper-muted);
}

body.home-page .site-footer .brand-logo-img,
body.home-page .site-footer .footer-brand img {
  filter: brightness(0);
}

body.home-page .legal-placeholder-note {
  color: var(--mwp-paper-ink);
  background: rgba(56, 148, 196, .08);
}

/* Project/service pages */
body.project-page.azurio-inspired {
  --bg: var(--mwp-paper);
  --bg-soft: var(--mwp-paper-deep);
  --panel: var(--mwp-paper-soft);
  --panel-2: #FFFFFF;
  --text: var(--mwp-paper-ink);
  --muted: var(--mwp-paper-muted);
  --line: var(--mwp-paper-line);
  --line-strong: rgba(56, 148, 196, .55);
  background: var(--mwp-paper);
  color: var(--mwp-paper-ink);
}

body.project-page .site-bg {
  background:
    radial-gradient(circle at 8% 4%, rgba(56, 148, 196, .09), transparent 28%),
    linear-gradient(180deg, var(--mwp-paper) 0%, #FFFFFF 48%, var(--mwp-paper) 100%);
}

body.project-page .site-bg::before {
  background: rgba(56, 148, 196, .06);
}

body.project-page .site-bg::after {
  background-image:
    linear-gradient(rgba(17,17,19,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17,17,19,.025) 1px, transparent 1px);
}

body.project-page .project-page-main,
body.project-page .project-hero-detail,
body.project-page .project-detail-grid,
body.project-page .project-process-section,
body.project-page .project-related-section,
body.project-page .site-footer {
  background: transparent;
}

body.project-page :is(h1, h2, h3, h4, .project-rich-text p, .project-feature-card p, .section-head h2, .related-card strong) {
  color: var(--mwp-paper-ink);
}

body.project-page :is(.lead, .muted, .project-rich-text p) {
  color: var(--mwp-paper-muted);
}

body.project-page .project-step,
body.project-page .mosaic-card,
body.project-page .photo-tile,
body.project-page .panel,
body.project-page .result-card,
body.project-page .config-card,
body.project-page .contact-form {
  background: var(--mwp-paper-soft) !important;
  border-color: var(--mwp-paper-line) !important;
  box-shadow: none !important;
}

body.project-page .project-feature-grid {
  border-color: var(--mwp-paper-line);
}

body.project-page .btn.ghost {
  color: var(--mwp-paper-ink);
  background: transparent;
  border-color: var(--mwp-paper-line);
}

body.project-page .btn.ghost:hover {
  color: var(--mwp-paper);
  background: var(--mwp-paper-ink);
  border-color: var(--mwp-paper-ink);
}

body.project-page .site-footer,
body.project-page .site-footer a,
body.project-page .site-footer p,
body.project-page .site-footer span {
  color: var(--mwp-paper-ink);
}

body.project-page .site-footer .muted {
  color: var(--mwp-paper-muted);
}

body.project-page .site-footer .brand-logo-img {
  filter: brightness(0);
}

/* Project status page */
body.status-page {
  --status-bg: var(--mwp-paper);
  --status-panel: var(--mwp-paper-soft);
  --status-text: var(--mwp-paper-ink);
  --status-muted: var(--mwp-paper-muted);
  --status-line: var(--mwp-paper-line);
  background: var(--mwp-paper);
  color: var(--mwp-paper-ink);
}

body.status-page .status-shell,
body.status-page .status-card,
body.status-page .status-result {
  background: var(--mwp-paper-soft);
  border-color: var(--mwp-paper-line);
}

body.status-page input {
  color: var(--mwp-paper-ink);
  background: #FFFFFF;
  border-color: var(--mwp-paper-line);
}

/* Contact form follows the neutral site palette. The accent blue is used for
   interaction and structure, while all content remains dark and readable. */
body.home-page .contact-accordion {
  --mwp-text: var(--mwp-paper-ink);
  --mwp-muted: var(--mwp-paper-muted);
  --mwp-line: rgba(17, 17, 19, .22);
  --mwp-line-soft: rgba(17, 17, 19, .12);
  color: var(--mwp-paper-ink);
  background: var(--mwp-paper) !important;
  border-color: var(--mwp-paper-line) !important;
}

body.home-page .contact-form--accordion {
  --mwp-text: var(--mwp-paper-ink);
  --mwp-muted: var(--mwp-paper-muted);
  --mwp-line: rgba(17, 17, 19, .22);
  --mwp-line-soft: rgba(17, 17, 19, .12);
  color: var(--mwp-paper-ink);
  background: var(--mwp-paper-soft) !important;
  border-color: var(--mwp-paper-line) !important;
}

body.home-page .contact-promise--compact {
  color: var(--mwp-paper-ink);
  background: var(--mwp-paper-deep) !important;
  border-color: var(--mwp-paper-line) !important;
}

body.home-page .contact-promise--compact span {
  color: #2B2B2B;
  border-color: var(--mwp-paper-line) !important;
}

body.home-page .contact-accordion .section-accordion__summary,
body.home-page .contact-accordion .section-accordion__body,
body.home-page .contact-form--accordion .form-accordion,
body.home-page .contact-form--accordion .form-accordion__content {
  background: transparent !important;
}

body.home-page .contact-form--accordion .form-accordion {
  border-color: var(--mwp-paper-line) !important;
}

body.home-page .contact-accordion :is(h2,h3,h4,summary,strong,label),
body.home-page .contact-form--accordion :is(strong,label) {
  color: var(--mwp-paper-ink) !important;
}

body.home-page .contact-accordion :is(.muted,small,.form-note),
body.home-page .contact-form--accordion :is(small,.form-note) {
  color: var(--mwp-paper-muted) !important;
}

body.home-page .contact-form--accordion input,
body.home-page .contact-form--accordion select,
body.home-page .contact-form--accordion textarea {
  color: var(--mwp-paper-ink);
  background: #FFFFFF;
  border-color: rgba(17,17,19,.28);
  box-shadow: none;
}

body.home-page .contact-form--accordion input:focus,
body.home-page .contact-form--accordion select:focus,
body.home-page .contact-form--accordion textarea:focus {
  border-color: #3894C4;
  box-shadow: 0 0 0 3px rgba(56,148,196,.16);
  outline: none;
}

body.home-page .contact-form--accordion input::placeholder,
body.home-page .contact-form--accordion textarea::placeholder {
  color: #707070;
  opacity: 1;
}

body.home-page .contact-form--accordion select option {
  color: var(--mwp-paper-ink);
  background: #FFFFFF;
}

body.home-page .contact-form--accordion .upload-drop {
  color: var(--mwp-paper-ink);
  background: rgba(56,148,196,.08);
  border-color: rgba(56,148,196,.65);
}

body.home-page .contact-form--accordion .upload-drop:hover,
body.home-page .contact-form--accordion .upload-drop:focus-within {
  background: rgba(56,148,196,.14);
  border-color: #3894C4;
}

body.home-page .contact-form--accordion .upload-icon,
body.home-page .contact-accordion .eyebrow,
body.home-page .contact-form--accordion .form-status {
  color: #226F98 !important;
}

body.home-page .contact-form--accordion .consent-line span {
  color: #333333;
}

body.home-page .contact-form--accordion .form-accordion__icon,
body.home-page .contact-accordion .section-accordion__icon {
  border-color: #3894C4 !important;
}

body.home-page .contact-form--accordion .form-accordion__icon::before,
body.home-page .contact-form--accordion .form-accordion__icon::after,
body.home-page .contact-accordion .section-accordion__icon::before,
body.home-page .contact-accordion .section-accordion__icon::after {
  background: #226F98 !important;
}

body.home-page .contact-form--accordion .btn.primary {
  color: #081117 !important;
  background: #3894C4 !important;
  border-color: #3894C4 !important;
}

body.home-page .contact-form--accordion .btn.primary:hover,
body.home-page .contact-form--accordion .btn.primary:focus-visible {
  background: #4BA5D2 !important;
  border-color: #4BA5D2 !important;
}

/* A dark footer gives the light pages a clear visual ending and restores
   the original logo contrast. */
body.home-page .site-footer,
body.project-page .site-footer,
body.status-page .site-footer,
body.legal-page .site-footer {
  color: #f4f4f2;
  background: #070809 !important;
  border-color: rgba(255,255,255,.12) !important;
}

body.home-page .site-footer :is(a,p,span,strong),
body.project-page .site-footer :is(a,p,span,strong),
body.status-page .site-footer :is(a,p,span,strong),
body.legal-page .site-footer :is(a,p,span,strong) {
  color: #f4f4f2;
}

body.home-page .site-footer .muted,
body.project-page .site-footer .muted,
body.status-page .site-footer .muted,
body.legal-page .site-footer .muted {
  color: #a7a8aa;
}

body.home-page .site-footer .brand-logo-img,
body.home-page .site-footer .footer-brand img,
body.project-page .site-footer .brand-logo-img,
body.status-page .site-footer .brand-logo-img,
body.legal-page .site-footer .brand-logo-img {
  filter: none !important;
}

body.home-page :is(#contact,#designTest,#calculator,#faq) {
  scroll-margin-top: calc(var(--mwp-header-height) + 18px);
}


/* Neutral light-surface readability safeguards */
body.home-page .calculator-section :is(label, legend, small, .currency-fixed span, .currency-fixed strong),
body.home-page .contact :is(label, legend),
body.status-page :is(label, legend) {
  color: #111113 !important;
}
body.home-page .calculator-section :is(input, select, .currency-fixed),
body.home-page .contact :is(input, select, textarea),
body.status-page input {
  background: #fff !important;
  color: #111113 !important;
}

/* White content surfaces and readable heading metrics. */
body.home-page,body.project-page,body.status-page,body.legal-page{--bg-soft:#fff;--mwp-bg-soft:#fff;--mwp-panel:#fff;--mwp-panel-2:#fff;--panel:#fff;--panel-2:#fff}
body.project-page .site-bg{background:#fff!important}
body.home-page :is(.section-accordion__summary,.section-accordion__body,.faq-master-accordion summary,.faq-master-accordion__content,.faq-grid details,.faq-answer,.form-accordion,.form-accordion__content,.tracking-result,.estimate-snapshot div,.contact-intro,.trust-card,.steps article){background-color:#fff!important}
body:is(.home-page,.project-page,.status-page,.legal-page) :is(h1,h2){line-height:1.1!important;letter-spacing:-.045em!important;overflow:visible!important;padding-block:.06em!important;height:auto;max-height:none}
body:is(.home-page,.project-page,.status-page,.legal-page) :is(h3,h4){line-height:1.22!important;letter-spacing:-.025em!important;overflow:visible!important;padding-block:.04em!important;height:auto;max-height:none}
body:is(.home-page,.project-page,.status-page,.legal-page) :is(h1,h2,h3,h4) > span{overflow:visible!important;padding-bottom:.04em}

/* Dark brand mark on all light header and navigation surfaces. */
body:is(.project-page,.status-page,.legal-page) :is(header,.site-header,.project-header) :is(.site-brand img,.brand-logo-img,.brand img,.logo img){filter:brightness(0)!important;opacity:1!important}
.global-menu__brand img{filter:brightness(0)!important;opacity:1!important}

/* Split heading wrappers must leave room for full glyphs. */
body :is(h1,h2,h3,h4) :is(.split-word,.split-word__inner,.split-line,.split-line__inner){overflow:visible!important;line-height:inherit!important;clip-path:none!important}
body.project-page .project-process-grid{gap:16px!important}
body.project-page .project-step{display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;align-items:start!important;gap:14px!important;min-height:0!important;height:auto!important;padding:20px!important;border-radius:0!important}
body.project-page .project-step>span{margin:0!important;width:38px!important;height:38px!important;font-size:14px!important}
body.project-page .project-step h3{margin:0!important;font-size:clamp(18px,1.6vw,24px)!important}
@media(max-width:760px){body.project-page .project-process-grid{grid-template-columns:1fr!important}}

body :is(h1,h2,h3,h4) :is(.split-word,.split-word__inner,.split-line,.split-line__inner){overflow:visible!important;line-height:inherit!important;clip-path:none!important}
body.project-page .project-process-grid{gap:16px!important}
body.project-page .project-step{display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;align-items:start!important;gap:14px!important;min-height:0!important;height:auto!important;padding:20px!important;border-radius:0!important}
body.project-page .project-step>span{margin:0!important;width:38px!important;height:38px!important;font-size:14px!important}
body.project-page .project-step h3{margin:0!important;font-size:clamp(18px,1.6vw,24px)!important}
@media(max-width:760px){body.project-page .project-process-grid{grid-template-columns:1fr!important}}
body.home-page .editorial-hero video{pointer-events:none!important}
body.home-page .editorial-hero video::-webkit-media-controls{display:none!important}

/* Readable image-card captions and complete service title words. */
body.project-page .related-card :is(strong,h2,h3,h4){color:#fff!important;text-shadow:0 2px 8px rgba(0,0,0,.6)}
body.project-page .related-card :is(p,small){color:#f5f5f5!important}
body.project-page #projectTitle{font-size:clamp(34px,5vw,84px)!important;word-break:normal!important;overflow-wrap:normal!important}
body.project-page #projectTitle :is(.split-word,.split-word__inner){white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;max-width:none!important}
@media(max-width:760px){body.project-page #projectTitle{font-size:clamp(28px,7.8vw,48px)!important}}
body:is(.home-page,.project-page,.status-page,.legal-page) :is(.menu-toggle,.global-menu-toggle){background-color:#fff!important}
