/* Final contextual colour layer. Loaded after legacy theme rules on every public page.
   IDs deliberately outrank legacy light-only selectors; layouts and portfolio data stay intact. */
html #preze-top.preze-site{--control-paper:#ffffff;--control-soft:#f0f2f8;--control-ink:#17213b;--control-muted:#4d5b73;--control-line:#64748b;--control-link:#4c26bd;--control-focus:#7138d4}
html[data-theme=dark] #preze-top.preze-site{--control-paper:#151e33;--control-soft:#202c45;--control-ink:#f2f5ff;--control-muted:#bec9dd;--control-line:#91a0bd;--control-link:#c5b5ff;--control-focus:#c4a3ff}
/* Primary actions: white text on deep brand colours, never a pale accent. */
html[data-theme] #preze-top.preze-site .button:not(.button-outline){background:linear-gradient(110deg,#185bb5,#4f24c5)!important;color:#ffffff!important;border:1px solid #5431bd!important;opacity:1;text-decoration:none}
html[data-theme] #preze-top.preze-site .button:not(.button-outline):hover{background:linear-gradient(110deg,#12488f,#3e189e)!important;color:#ffffff!important;border-color:#3e189e!important}
html[data-theme] #preze-top.preze-site .button:not(.button-outline):active{background:#32157f!important;transform:none}
html[data-theme] #preze-top.preze-site .button>span{color:inherit!important}
html[data-theme] #preze-top.preze-site .button-outline{background:var(--control-paper)!important;color:var(--control-ink)!important;border:1px solid var(--control-line)!important;text-decoration:none}
html[data-theme] #preze-top.preze-site .button-outline:hover{background:var(--control-soft)!important;color:var(--control-ink)!important;border-color:var(--control-link)!important}
html[data-theme] #preze-top.preze-site :is(.pd-dark,.wu-hero,.wu-cta,.wu-includes,.wu-package-top,.enterprise) .button-outline{background:#151d3b!important;color:#f3edff!important;border-color:#a99bcd!important}
html[data-theme] #preze-top.preze-site :is(.pd-dark,.wu-hero,.wu-cta,.wu-includes,.wu-package-top,.enterprise) .button-outline:hover{background:#30264f!important;color:#ffffff!important;border-color:#ccbbff!important}
html[data-theme] #preze-top.preze-site .button:disabled{background:#4e596e!important;color:#ffffff!important;border-color:#758198!important;cursor:not-allowed;opacity:1;transform:none}
html[data-theme] #preze-top.preze-site :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--control-focus)!important;outline-offset:4px}
/* Text links adapt to the actual surface, independently of the visitor's theme. */
html[data-theme] #preze-top.preze-site :is(.pd-light,.pd-soft) :is(.text-link,.service>a,.pd-card a,.pd-story-body a){color:var(--control-link)!important}
html[data-theme] #preze-top.preze-site :is(.pd-dark,.wu-hero,.wu-cta,.wu-includes) :is(.text-link,.breadcrumb a,.pd-card a,.pd-story-body a){color:#d5c6ff!important}
html[data-theme] #preze-top.preze-site :is(.pd-dark,.wu-hero,.wu-cta,.wu-includes) :is(.eyebrow,.copy-number,.service-num){color:#c6b3ff!important}
html[data-theme] #preze-top.preze-site :is(.pd-dark,.wu-hero,.wu-cta,.wu-includes,.wu-package-top) :is(h1,h2,h3,h4,strong){color:#f5f3ff!important}
html[data-theme] #preze-top.preze-site :is(.pd-dark,.wu-hero,.wu-cta,.wu-includes) :is(.page-intro,.hero-description,.contact-grid p,.contact-note p,.contact-note small){color:#d4dbed!important}
html[data-theme] #preze-top.preze-site .pd-dark :is(h1 em,h2 em){color:#c6b3ff!important}
html[data-theme] #preze-top.preze-site .pd-dark .contact-note{border-color:#8982b0}
html[data-theme] #preze-top.preze-site .pd-dark .contact-note>span{color:#c6b3ff}
/* Footer always has a navy surface, so it always has light content. */
html[data-theme] #preze-top.preze-site.pd-site .site-footer{background:#080d25!important;color:#e8edfb!important;--ink:#e8edfb;--muted:#c8d2e7;--line:#444d67}
html[data-theme] #preze-top.preze-site.pd-site .site-footer :is(h2,h3,h4,strong){color:#f4f1ff!important}
html[data-theme] #preze-top.preze-site.pd-site .site-footer :is(a,p,small,.footer-bottom,span){color:#d3ddf1!important}
html[data-theme] #preze-top.preze-site.pd-site .site-footer a:hover{color:#ffffff!important;text-decoration:underline;text-underline-offset:4px}
html[data-theme] #preze-top.preze-site.pd-site .site-footer button{background:#202945!important;color:#f3eeff!important;border:1px solid #8e9ab4!important;border-radius:6px;padding:7px 11px}
/* Menus and form controls stay aligned with their own background. */
html[data-theme] #preze-top.preze-site .nav-dropdown-panel{background:var(--control-paper)!important;border-color:var(--control-line)!important;color:var(--control-ink)!important}
html[data-theme] #preze-top.preze-site .nav-dropdown-panel a{color:var(--control-ink)!important}
html[data-theme] #preze-top.preze-site .nav-dropdown-panel a:hover{background:var(--control-soft)!important;color:var(--control-link)!important}
html[data-theme] #preze-top.preze-site .header-currency select{background:var(--control-paper)!important;color:var(--control-ink)!important;border-color:var(--control-line)!important}
html[data-theme] #preze-top.preze-site .menu-toggle{background:var(--control-paper)!important;color:var(--control-ink)!important;border-color:var(--control-line)!important}
html[data-theme] #preze-top.preze-site :is(.enquiry-form,.preview-form,.order-dialog,.project-popup){color:var(--control-ink)!important;background:var(--control-paper)!important}
html[data-theme] #preze-top.preze-site :is(.enquiry-form,.preview-form,.order-dialog,.project-popup) :is(input:not([type=checkbox]),textarea,select){background:var(--control-paper)!important;color:var(--control-ink)!important;border-color:var(--control-line)!important;caret-color:var(--control-ink)}
html[data-theme] #preze-top.preze-site :is(.enquiry-form,.preview-form,.order-dialog,.project-popup) :is(input,textarea)::placeholder{color:var(--control-muted)!important;opacity:1}
html[data-theme] #preze-top.preze-site :is(.enquiry-form,.preview-form,.order-dialog,.project-popup) :is(label,legend,h2,h3,h4){color:var(--control-ink)!important}
html[data-theme] #preze-top.preze-site :is(.enquiry-form,.preview-form,.order-dialog,.project-popup) :is(.form-hint,.popup-intro,.consent,.brief-help,.summary-note){color:var(--control-muted)!important}
html[data-theme] #preze-top.preze-site :is(.enquiry-form,.preview-form,.order-dialog,.project-popup) a:not(.button){color:var(--control-link)!important;text-decoration:underline;text-underline-offset:3px}
html[data-theme] #preze-top.preze-site .close-dialog,html[data-theme] #preze-top.preze-site .popup-close{background:var(--control-soft)!important;color:var(--control-ink)!important;border:1px solid var(--control-line)!important}
html[data-theme] #preze-top.preze-site .project-popup h2{font-size:30px;font-weight:800;line-height:1.2;margin:13px 0}
html[data-theme] #preze-top.preze-site .project-popup label{font-size:14px}
html[data-theme] #preze-top.preze-site .project-popup :is(input,textarea,select){font-size:16px}
html[data-theme] #preze-top.preze-site .popup-feedback{background:var(--control-soft)!important;color:var(--control-ink)!important;border:1px solid var(--control-line)!important;font-size:14px}
html[data-theme] #preze-top.preze-site .project-popup .eyebrow{color:var(--control-link)!important}
/* Pricing has both dark headers and independently themed card bodies. */
html[data-theme] #preze-top.preze-site .wu-price-heading :is(h2,p,label){color:#e8e8fb!important}
html[data-theme] #preze-top.preze-site .wu-price-heading .eyebrow{color:#c6b3ff!important}
html[data-theme] #preze-top.preze-site .wu-price-heading .currency-select{background:#252544!important;color:#ffffff!important;border-color:#a99bcd!important;color-scheme:dark}
html[data-theme] #preze-top.preze-site :is(.wu-package-top,.wu-includes){background:#151638!important;color:#f1efff!important}
html[data-theme] #preze-top.preze-site :is(.wu-package-top,.wu-includes) :is(p,li,span){color:#d8d8ee!important}
html[data-theme] #preze-top.preze-site :is(.wu-package-body,.wu-addons){background:var(--control-paper)!important;color:var(--control-ink)!important}
html[data-theme] #preze-top.preze-site :is(.wu-package-body,.wu-addons) :is(h3,.wu-price,strong){color:var(--control-ink)!important}
html[data-theme] #preze-top.preze-site :is(.wu-package-body,.wu-addons) :is(p,li,.wu-small){color:var(--control-muted)!important}
html[data-theme] #preze-top.preze-site .wu-addons>div p{background:var(--control-soft)!important;color:var(--control-ink)!important}
html[data-theme] #preze-top.preze-site .wu-addons b{color:var(--control-link)!important}
html[data-theme] #preze-top.preze-site .wu-package-body li{border-color:var(--control-line)}
html[data-theme] #preze-top.preze-site .wu-package-body li:before{color:var(--control-link)}
html[data-theme] #preze-top.preze-site :is(.price-card,.package-card,.pricing-card) :is(h3,.price-value,.pages-label){color:var(--control-ink)!important}
html[data-theme] #preze-top.preze-site :is(.price-card,.package-card,.pricing-card) :is(p,li,.price-caption){color:var(--control-muted)!important}
html[data-theme] #preze-top.preze-site .popular-tag{background:#4c26bd!important;color:#ffffff!important}
html[data-theme] #preze-top.preze-site .currency-note{background:var(--control-soft)!important;color:var(--control-muted)!important}
html[data-theme] #preze-top.preze-site .currency-pill{color:var(--control-muted)!important}
html[data-theme] #preze-top.preze-site .wu-price-heading .currency-pill{color:#e1d6ff!important;background:#252544!important}
html[data-theme] #preze-top.preze-site .wu-types .wu-number{background:#e9e1ff!important;color:#422098!important}
html[data-theme] #preze-top.preze-site .enterprise{background:#191d3d!important}
html[data-theme] #preze-top.preze-site .enterprise :is(p,h3,span,b){color:#eae5ff!important}
html[data-theme] #preze-top.preze-site .filter-bar button[aria-pressed=true]{background:#4c26bd!important;color:#ffffff!important;border-color:#4c26bd!important}
@media(max-width:600px){html[data-theme] #preze-top.preze-site .project-popup h2{font-size:27px}html[data-theme] #preze-top.preze-site .project-popup .popup-shell{padding:24px 20px}}

.preview-industry-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:800px){.preview-industry-grid{grid-template-columns:1fr}}

/* Consistent public typography across marketing, company and portfolio pages. */
body #preze-top.preze-site{font-family:'DM Sans',Arial,sans-serif;font-size:17px;line-height:1.7}body #preze-top.preze-site main h1{font-family:Manrope,'DM Sans',Arial,sans-serif;font-size:clamp(36px,5vw,64px)!important;font-weight:800;line-height:1.12!important;letter-spacing:-1.5px}body #preze-top.preze-site main h2{font-family:Manrope,'DM Sans',Arial,sans-serif;font-size:clamp(28px,3.5vw,44px)!important;font-weight:800;line-height:1.2!important}body #preze-top.preze-site main h3{font-size:22px!important;font-weight:750;line-height:1.35}body #preze-top.preze-site main p,body #preze-top.preze-site main li{font-size:17px;line-height:1.75}body #preze-top.preze-site :is(input,textarea,select){font-size:16px}body #preze-top.preze-site .site-header nav{font-size:15px}body #preze-top.preze-site :is(.eyebrow,.price-caption,.wu-small){font-size:13px;line-height:1.6}body #preze-top.preze-site .site-footer{font-size:15px}@media(max-width:650px){body #preze-top.preze-site main p,body #preze-top.preze-site main li{font-size:16px}body #preze-top.preze-site main h1{font-size:36px!important}body #preze-top.preze-site main h2{font-size:28px!important}body #preze-top.preze-site main h3{font-size:21px!important}body #preze-top.preze-site .site-header nav{font-size:16px}}

/* Review refinements shared by every public page. */
html[data-theme] #preze-top.preze-site .site-header :is(nav>a,nav summary,.nav-dropdown-panel a){font-family:'DM Sans',Arial,sans-serif!important;font-size:15px!important;font-weight:600!important;line-height:1.5!important;letter-spacing:0!important;text-transform:none!important}
html[data-theme] #preze-top.preze-site .eyebrow{font-family:'DM Sans',Arial,sans-serif!important;font-size:13px!important;font-weight:500!important;letter-spacing:1.6px!important;line-height:1.6!important}
html[data-theme] #preze-top.preze-site .project-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid #6442b4;border-radius:6px;background:#fff!important;color:#412095!important;font-size:14px!important;font-weight:650;line-height:1.4;text-decoration:none;opacity:1!important}
html[data-theme=dark] #preze-top.preze-site .project-actions a{background:#202c45!important;color:#eadfff!important;border-color:#ad96dc}
html[data-theme] #preze-top.preze-site .project-actions a:hover{background:#ece7fa!important;color:#32136f!important}
html[data-theme] #preze-top.preze-site .visitor-cookie-banner,html[data-theme] #preze-top.preze-site .visitor-cookie-dialog{font-family:'DM Sans',Arial,sans-serif!important}
html[data-theme] #preze-top.preze-site :is(.visitor-cookie-banner,.visitor-cookie-dialog) p{font-size:14px!important;line-height:1.65!important}
html[data-theme] #preze-top.preze-site .visitor-cookie-banner strong{font-size:16px;font-weight:700}
html[data-theme] #preze-top.preze-site .visitor-cookie-actions button{font-family:inherit;font-size:14px!important;font-weight:600;line-height:1.4;min-height:44px;padding:10px 12px;white-space:normal}
html[data-theme] #preze-top.preze-site .visitor-cookie-actions [data-cookie-manage]{font-size:13px!important;min-height:34px}
html[data-theme] #preze-top.preze-site #packages.home-pricing-summary{background:#e8eaf4!important;color:#17213b!important;border-block:1px solid #d2d8e9}
html[data-theme=dark] #preze-top.preze-site #packages.home-pricing-summary{background:#19243b!important;color:#f2f5ff!important;border-color:#35445f}
html[data-theme] #preze-top.preze-site .home-pricing-summary :is(h2,h3){color:inherit!important}
html[data-theme] #preze-top.preze-site .home-pricing-summary p{color:#47536e!important}
html[data-theme=dark] #preze-top.preze-site .home-pricing-summary p{color:#c2cce0!important}
html[data-theme] #preze-top.preze-site .home-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
html[data-theme] #preze-top.preze-site .home-service-card{background:var(--control-paper);color:var(--control-ink);border:1px solid #c7cfe0;border-radius:14px;padding:28px;display:flex;flex-direction:column;gap:18px}
html[data-theme] #preze-top.preze-site .home-service-card .service-price{font-size:28px;font-weight:800;line-height:1.3}
html[data-theme] #preze-top.preze-site .home-service-card .button{margin-top:auto}
html[data-theme] #preze-top.preze-site .home-pricing-note{margin-top:24px;font-size:15px}
html[data-theme] #preze-top.preze-site .home-pricing-note a{font-weight:700;text-decoration:underline}
html[data-theme] #preze-top.preze-site .about-card-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-block:38px}
html[data-theme] #preze-top.preze-site .about-card-group>section{margin:0;padding:28px!important;border:1px solid #ccd3e4;border-radius:15px;background:var(--control-paper)!important;color:var(--control-ink)!important;min-width:0}
html[data-theme] #preze-top.preze-site .about-card-group .pd-story-grid{display:block!important;width:100%;margin:0}
html[data-theme] #preze-top.preze-site .about-card-group :is(h2,p){color:inherit!important}
html[data-theme] #preze-top.preze-site .about-card-group h2{font-size:26px!important;margin-block:12px 20px}
html[data-theme] #preze-top.preze-site .about-card-group .eyebrow{color:var(--control-link)!important}
html[data-theme] #preze-top.preze-site .portfolio-hero-preview{margin:0;border:1px solid #bac6dc;border-radius:16px;overflow:hidden;background:var(--control-paper);box-shadow:0 20px 65px #21335925;transform:rotate(-2deg)}
html[data-theme] #preze-top.preze-site .portfolio-hero-preview img{width:100%;height:auto;display:block}
html[data-theme] #preze-top.preze-site .portfolio-hero-preview figcaption{padding:16px 18px;font-size:14px;color:var(--control-ink);font-weight:600}
html[data-theme] #preze-top.preze-site .preview-industry-grid{grid-template-columns:1fr}
@media(max-width:850px){html[data-theme] #preze-top.preze-site :is(.about-card-group,.home-service-grid){grid-template-columns:1fr}html[data-theme] #preze-top.preze-site .portfolio-hero-preview{transform:none}html[data-theme] #preze-top.preze-site .visitor-cookie-banner{width:calc(100% - 120px);gap:18px;flex-direction:column;align-items:stretch}}
@media(max-width:650px){html[data-theme] #preze-top.preze-site .visitor-cookie-banner{width:calc(100% - 30px);max-height:60dvh;overflow:auto}html[data-theme] #preze-top.preze-site .about-card-group{padding-block:20px}}

html[data-theme] #preze-top.preze-site .maintenance-plans-section{background:var(--control-soft)!important;color:var(--control-ink)!important}
html[data-theme] #preze-top.preze-site .maintenance-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}
html[data-theme] #preze-top.preze-site .maintenance-plan-card{background:var(--control-paper);color:var(--control-ink);border:1px solid #b6c2da;border-radius:15px;padding:28px;display:flex;flex-direction:column;gap:18px}
html[data-theme] #preze-top.preze-site .maintenance-plan-card :is(h3,p,li){color:inherit!important}
html[data-theme] #preze-top.preze-site .maintenance-plan-card .service-price{font-size:28px!important;font-weight:800}
html[data-theme] #preze-top.preze-site .maintenance-plan-card ul{padding-left:20px;margin:0}
html[data-theme] #preze-top.preze-site .maintenance-plan-card li{margin-bottom:10px}
html[data-theme] #preze-top.preze-site .maintenance-plan-card .button{margin-top:auto}
html[data-theme] #preze-top.preze-site .maintenance-plan-note{font-size:15px!important;margin-top:24px;color:var(--control-muted)!important}
html[data-theme] #preze-top.preze-site .experience-section{background:#101333!important;color:#f6f4ff!important}
html[data-theme] #preze-top.preze-site .experience-section :is(p,h2,h3){color:inherit!important}
html[data-theme] #preze-top.preze-site .experience-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
html[data-theme] #preze-top.preze-site .experience-grid article{border:1px solid #716494;border-radius:18px;background:#1a1e41;padding:28px 24px;display:flex;flex-direction:column;gap:16px}
html[data-theme] #preze-top.preze-site .experience-grid article:first-child{background:linear-gradient(140deg,#155bbd,#5426c4);border-color:#7b66e6}
html[data-theme] #preze-top.preze-site .experience-grid .experience-number{font-family:Manrope,Arial,sans-serif;font-size:clamp(42px,5vw,64px);font-weight:800;line-height:1.1;letter-spacing:-2px;color:#d0baff}
html[data-theme] #preze-top.preze-site .experience-grid article:first-child .experience-number{color:#fff}
html[data-theme] #preze-top.preze-site .experience-grid .experience-word{font-size:clamp(30px,3.6vw,44px);letter-spacing:-1px;min-height:70px;display:flex;align-items:center}
html[data-theme] #preze-top.preze-site .experience-grid h3{font-size:20px!important}
html[data-theme] #preze-top.preze-site .experience-grid p{font-size:15px!important;color:#d0d4e8!important}
@media(max-width:1000px){html[data-theme] #preze-top.preze-site .experience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){html[data-theme] #preze-top.preze-site .maintenance-plan-grid{grid-template-columns:1fr}}
@media(max-width:500px){html[data-theme] #preze-top.preze-site .experience-grid{grid-template-columns:1fr}}

html[data-theme] #preze-top.preze-site .experience-grid p.experience-number{font-size:clamp(42px,5vw,64px)!important;line-height:1.1!important;color:#d0baff!important}html[data-theme] #preze-top.preze-site .experience-grid article:first-child p.experience-number{color:#fff!important}html[data-theme] #preze-top.preze-site .experience-grid p.experience-word{font-size:clamp(30px,3.6vw,44px)!important}

#preze-top .maintenance-interest{display:block;margin-block:20px}#preze-top .maintenance-interest select{display:block;width:100%;margin-block:10px}#preze-top .maintenance-interest small{display:block;font-size:14px;line-height:1.6}#preze-top .project-actions{display:flex;flex-wrap:wrap;gap:10px}

html[data-theme] #preze-top.preze-site #packages.home-pricing-summary{background:#101b3c!important;color:#f4f6ff!important;border-color:#33456f}
html[data-theme] #preze-top.preze-site #packages.home-pricing-summary>.wrap>.section-heading :is(p,h2),html[data-theme] #preze-top.preze-site #packages.home-pricing-summary .home-pricing-note{color:#e2e9fa!important}
html[data-theme] #preze-top.preze-site #packages.home-pricing-summary .home-pricing-note a{color:#d3c1ff!important}
html[data-theme] #preze-top.preze-site #packages.home-pricing-summary .home-service-card :is(h3,.service-price){color:var(--control-ink)!important}
html[data-theme] #preze-top.preze-site #packages.home-pricing-summary .home-service-card p{color:var(--control-muted)!important}

html[data-theme] #preze-top.preze-site .client-reviews-section{background:var(--control-soft)!important;color:var(--control-ink)!important}
html[data-theme] #preze-top.preze-site .client-reviews-section :is(h2,p){color:inherit!important}
#preze-top .client-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-block:32px}
#preze-top .client-review-card{margin:0;padding:30px;background:var(--control-paper);color:var(--control-ink);border:1px solid #b5bfd6;border-radius:16px;display:flex;flex-direction:column;justify-content:space-between;gap:28px}
#preze-top .client-review-card blockquote{margin:0}#preze-top .client-review-card blockquote p{font-size:20px!important;line-height:1.6!important;font-weight:600}
#preze-top .client-review-card figcaption{display:flex;flex-direction:column;gap:8px;font-size:15px}#preze-top .client-review-card a{color:var(--control-link);text-decoration:underline;font-weight:600;font-size:14px}
#preze-top .reviews-source-note{font-size:14px!important;margin-block:18px}@media(max-width:850px){#preze-top .client-review-grid{grid-template-columns:1fr}}
