/*
Theme Name: Trade Website Showcase
Author: Website Showcase
Description: Gutenberg trade-business website showcase with URL-driven trade demos plus a permanent Gutenberg client activation workflow, colour presets and light/dark modes.
Version: 1.11.5
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: trade-showcase
*/

:root {
  --ez-bg: #0a0a0a;
  --ez-fg: #fafafa;
  --ez-card: #121212;
  --ez-raised: #141414;
  --ez-deep: #050505;
  --ez-primary: #2cff00;
  --ez-primary-glow: #2cff00;
  --ez-accent: var(--ez-primary-text, var(--ez-primary));
  --ez-muted: #adadad;
  --ez-border: #292929;
  --ez-radius: 18px;
  --ez-radius-lg: 28px;
  --ez-shadow-lift: 0 24px 60px -24px rgba(0,0,0,.9);
  --ez-shadow-glow: 0 0 0 1px color-mix(in srgb,var(--ez-primary) 48%,transparent), 0 0 30px -7px color-mix(in srgb,var(--ez-primary) 72%,transparent), 0 0 54px -14px color-mix(in srgb,var(--ez-primary) 48%,transparent);
  --ez-ease: cubic-bezier(.22,1,.36,1);
}

html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body { margin:0; background:var(--ez-bg); color:var(--ez-fg); font-family:"Epilogue",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
body, .editor-styles-wrapper { background:var(--ez-bg); color:var(--ez-fg); }
* { box-sizing:border-box; }
a { color:inherit; }
img { max-width:100%; height:auto; }
::selection { background:color-mix(in srgb,var(--ez-primary) 22%,transparent); color:#fff; }

.wp-site-blocks { overflow:clip; }
.wp-site-blocks > * { margin-block-start:0 !important; }
.ez-main { margin-top:0 !important; }
.ez-container { width:100% !important; max-width:1320px !important; margin-inline:auto !important; padding-inline:20px; }
.ez-narrow { max-width:760px; }
.ez-primary { color:var(--ez-primary); }
.ez-accent { color:var(--ez-accent); }
.ez-muted { color:var(--ez-muted); }
.ez-eyebrow { margin:0; color:var(--ez-accent); font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.24em; }
.ez-display, .ez-display.wp-block-heading { margin:0; font-family:"Urbanist",ui-sans-serif,system-ui,sans-serif; font-weight:800; font-size:clamp(2rem,7vw,2.75rem); line-height:1.08; letter-spacing:-.02em; text-wrap:balance; }
.ez-display-lg, .ez-display-lg.wp-block-heading { font-size:clamp(2.9rem,9vw,5.5rem); line-height:1.02; letter-spacing:-.03em; font-weight:900; }
.ez-lead { margin-top:1.25rem; color:var(--ez-muted); font-size:1.08rem; line-height:1.72; max-width:720px; text-wrap:pretty; }
.ez-section { position:relative; padding:80px 0; }
.ez-section-raised { background:rgba(20,20,20,.72); border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08); }
.ez-section-head { margin-bottom:52px; }
.ez-grid { display:grid; gap:20px; }
.ez-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ez-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ez-grid-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.ez-grid-5 { grid-template-columns:repeat(5,minmax(0,1fr)); }
.ez-split { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:64px; align-items:center; }

/* Header */
.ez-site-header { position:fixed; inset:0 0 auto; z-index:1000; isolation:isolate; margin:0 !important; border-bottom:1px solid rgba(255,255,255,.07); background:transparent; box-shadow:inset 0 -1px 0 rgba(255,255,255,.025); transition:box-shadow .45s var(--ez-ease), border-color .45s var(--ez-ease); }
.ez-site-header::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(180deg,rgba(5,5,5,.68),rgba(5,5,5,.24)); -webkit-backdrop-filter:saturate(130%) blur(14px); backdrop-filter:saturate(130%) blur(14px); transition:background .45s var(--ez-ease), backdrop-filter .45s var(--ez-ease); }
.ez-site-header.is-scrolled { border-color:rgba(255,255,255,.13); box-shadow:0 12px 42px rgba(0,0,0,.34), inset 0 -1px 0 rgba(255,255,255,.04); }
.ez-site-header.is-scrolled::before { background:rgba(8,8,8,.78); -webkit-backdrop-filter:saturate(150%) blur(22px); backdrop-filter:saturate(150%) blur(22px); }
.ez-header-inner { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.ez-brand { display:flex; align-items:center; gap:12px; flex:0 0 auto; }
.ez-brand-logo, .ez-brand-logo.wp-block-site-logo { width:40px !important; margin:0 !important; flex:0 0 40px; }
.ez-brand-logo img, .ez-brand-logo .custom-logo { width:40px !important; height:40px !important; object-fit:contain; border-radius:0; }
.ez-brand-text { display:flex; flex-direction:column; gap:3px; line-height:1; }
.ez-brand-title { margin:0 !important; font-family:"Urbanist",sans-serif; font-size:1.05rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; line-height:1; }
.ez-brand-title a { text-decoration:none; }
.ez-brand-tagline { margin:0 !important; color:var(--ez-primary); font-family:"Epilogue",sans-serif; font-size:.6rem; font-weight:700; letter-spacing:.28em; text-transform:uppercase; line-height:1.15; }
.ez-header-nav { flex:1 1 auto; min-width:0; justify-content:center; }
.ez-header-nav .wp-block-navigation__container { display:flex !important; flex-wrap:nowrap !important; gap:clamp(18px,1.8vw,30px) !important; }
.ez-header-nav .wp-block-navigation-item { flex:0 0 auto; }
.ez-header-nav .wp-block-navigation-item__content { position:relative; font-size:.875rem; font-weight:500; color:rgba(250,250,250,.72); transition:color .3s ease; }
.ez-header-nav .wp-block-navigation-item__content::after { content:""; position:absolute; left:0; right:100%; bottom:-6px; height:1px; background:var(--ez-primary); transition:right .3s ease; }
.ez-header-nav .wp-block-navigation-item__content:hover { color:#fff; }
.ez-header-nav .wp-block-navigation-item__content:hover::after { right:0; }
.ez-header-actions { display:flex; flex:0 0 auto; gap:10px; align-items:center; }
.ez-header-actions .wp-block-button__link { padding-inline:18px; font-size:.78rem; white-space:nowrap; }
.ez-header-phone .wp-block-button__link { min-height:44px; background:rgba(255,255,255,.015); border:1px solid var(--ez-border); color:#fff; }
.ez-header-quote .wp-block-button__link { min-height:44px; background:var(--ez-primary); color:#050505; box-shadow:0 0 28px -8px color-mix(in srgb,var(--ez-primary) 75%,transparent); }


/* Keep fixed frontend elements easy to edit inside Gutenberg. */
.editor-styles-wrapper .ez-site-header { position:relative !important; inset:auto !important; }
.editor-styles-wrapper .ez-mobile-cta { display:none !important; }

/* Buttons */
.ez-buttons { gap:12px; margin-top:30px; }
.ez-buttons .wp-block-button__link, .ez-btn .wp-block-button__link { min-height:52px; display:inline-flex; align-items:center; justify-content:center; padding:0 24px; border-radius:999px; font-size:.88rem; font-weight:800; text-decoration:none; transition:transform .25s var(--ez-ease), box-shadow .25s var(--ez-ease), border-color .25s ease, color .25s ease; }
.ez-buttons .wp-block-button__link:hover, .ez-btn .wp-block-button__link:hover { transform:translateY(-2px); }
.ez-button-primary .wp-block-button__link { color:#050505; background:linear-gradient(105deg,var(--ez-primary),color-mix(in srgb,var(--ez-primary) 62%,white) 64%,var(--ez-primary)); box-shadow:var(--ez-shadow-glow); }
.ez-button-outline .wp-block-button__link { color:#fff; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.25); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.ez-button-outline .wp-block-button__link:hover { border-color:color-mix(in srgb,var(--ez-primary) 50%,transparent); color:var(--ez-primary); }

/* Hero */
.ez-hero { min-height:92vh; display:flex; align-items:flex-end; isolation:isolate; padding:128px 0 64px; }
.ez-hero-media { position:absolute; inset:0; z-index:-3; width:100%; height:100%; margin:0 !important; overflow:hidden; }
.ez-hero-media img { width:100%; height:100%; object-fit:cover; object-position:center; animation:ez-slow-zoom 14s var(--ez-ease) forwards; }
.ez-hero::before { content:""; position:absolute; inset:0; z-index:-2; background:linear-gradient(180deg,rgba(5,5,5,.72) 0%,rgba(5,5,5,.55) 40%,rgba(10,10,10,.97) 100%); }
.ez-hero::after { content:""; position:absolute; inset:auto 0 0; height:36%; z-index:-1; background:linear-gradient(0deg,var(--ez-bg),transparent); }
.ez-hero-content { max-width:1320px !important; }
.ez-hero .ez-eyebrow { color:var(--ez-accent); }
.ez-hero .ez-display-lg { max-width:48rem; text-transform:uppercase; text-shadow:0 10px 36px rgba(0,0,0,.58); }
.ez-hero-sub { max-width:36rem; margin-top:24px; color:rgba(250,250,250,.8); font-size:clamp(1.05rem,2vw,1.25rem); line-height:1.625; }
.ez-trust-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; max-width:42rem; margin:40px 0 0 !important; padding:0 !important; list-style:none; }
.ez-trust-list li { position:relative; display:flex; align-items:center; min-height:44px; gap:12px; padding:10px 16px 10px 44px; border:1px solid rgba(255,255,255,.12); border-radius:999px; background:rgba(10,10,10,.4); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); color:rgba(250,250,250,.85); font-size:.875rem; font-weight:500; line-height:1.25; }
.ez-trust-list li::before { content:"✓"; position:absolute; left:14px; top:50%; width:24px; height:24px; display:grid; place-items:center; transform:translateY(-50%); border-radius:50%; background:color-mix(in srgb,var(--ez-primary) 12%,transparent); color:var(--ez-primary); font-size:.72rem; font-weight:900; box-shadow:0 0 14px color-mix(in srgb,var(--ez-primary) 8%,transparent); }
.ez-trust-list li:first-child::before { content:"★"; color:var(--ez-accent); background:color-mix(in srgb,var(--ez-primary) 12%,transparent); }
.ez-call-link { margin-top:22px; font-size:.86rem; font-weight:700; color:rgba(250,250,250,.7); }
.ez-call-link a { text-decoration:none; }
.ez-call-link a:hover { color:var(--ez-primary); }

/* Reviews + ticker */
.ez-reviews { padding:48px 0; }
.ez-review-card { max-width:760px; margin-inline:auto !important; display:flex; align-items:center; gap:34px; padding:28px 34px; border-radius:var(--ez-radius-lg); border:1px solid var(--ez-border); background:linear-gradient(135deg,color-mix(in srgb,var(--ez-primary) 6%,transparent),rgba(255,255,255,.015)); box-shadow:var(--ez-shadow-lift); }
.ez-review-score { flex:0 0 auto; text-align:center; }
.ez-review-number { margin:0; }
.ez-review-score strong { display:block; font-family:"Urbanist",sans-serif; color:var(--ez-primary); font-size:3.4rem; line-height:1; font-weight:900; text-shadow:0 0 28px color-mix(in srgb,var(--ez-primary) 42%,transparent); }
.ez-stars { margin:.35rem 0 0; color:var(--ez-accent); letter-spacing:.08em; font-size:.9rem; }
.ez-review-copy { border-left:1px solid var(--ez-border); padding-left:32px; }
.ez-review-copy .ez-eyebrow { font-size:.68rem; }
.ez-review-title { margin:.4rem 0 0; font-family:"Urbanist",sans-serif; font-size:clamp(1.5rem,3vw,1.9rem); font-weight:900; }
.ez-review-copy p:last-child { color:var(--ez-muted); font-size:.84rem; line-height:1.65; }
.ez-review-copy a { color:var(--ez-primary); text-decoration:none; font-weight:700; }
.ez-ticker { overflow:hidden; padding:18px 0; border-top:1px solid var(--ez-border); border-bottom:1px solid var(--ez-border); background:var(--ez-raised); }
.ez-ticker-track { width:max-content; display:flex; gap:50px; animation:ez-marquee 28s linear infinite; }
.ez-ticker-list { display:flex !important; gap:50px; align-items:center; margin:0 !important; padding:0 !important; list-style:none; }
.ez-ticker-list li { white-space:nowrap; color:rgba(250,250,250,.78); font-size:.76rem; font-weight:800; text-transform:uppercase; letter-spacing:.13em; }
.ez-ticker-list li::before { content:"◆"; margin-right:18px; color:var(--ez-primary); text-shadow:0 0 12px color-mix(in srgb,var(--ez-primary) 65%,transparent); }
.ez-ticker:hover .ez-ticker-track { animation-play-state:paused; }

/* Cards */
.ez-card { overflow:hidden; border:1px solid rgba(255,255,255,.09); border-radius:var(--ez-radius-lg); background:linear-gradient(135deg,color-mix(in srgb,var(--ez-primary) 5.5%,transparent),rgba(255,255,255,.018)); box-shadow:var(--ez-shadow-lift); transition:transform .45s var(--ez-ease), border-color .45s var(--ez-ease), box-shadow .45s var(--ez-ease); }
.ez-card:hover { transform:translateY(-7px); border-color:color-mix(in srgb,var(--ez-primary) 26%,transparent); box-shadow:0 30px 65px -25px rgba(0,0,0,.9),0 0 34px -20px color-mix(in srgb,var(--ez-primary) 70%,transparent); }
.ez-service-card { display:flex; flex-direction:column; min-height:100%; }
.ez-service-image { aspect-ratio:16/10; width:100%; margin:0 !important; overflow:hidden; }
.ez-service-image img { width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ez-ease); }
.ez-service-card:hover .ez-service-image img { transform:scale(1.045); }
.ez-service-body { display:flex; flex:1; flex-direction:column; padding:24px; }
.ez-card-title { margin:0; font-family:"Urbanist",sans-serif; font-size:1.28rem; font-weight:800; }
.ez-card-copy { margin:.8rem 0 0; color:var(--ez-muted); font-size:.86rem; line-height:1.72; }
.ez-check-list { margin:18px 0 0 !important; padding:0 !important; list-style:none; display:grid; gap:8px; }
.ez-check-list li { position:relative; padding-left:20px; color:rgba(250,250,250,.82); font-size:.8rem; }
.ez-check-list li::before { content:"✓"; position:absolute; left:0; color:var(--ez-primary); font-weight:900; }
.ez-card-link { margin-top:auto; padding-top:22px; font-size:.82rem; font-weight:800; }
.ez-card-link a { color:var(--ez-primary); text-decoration:none; }
.ez-card-link a::after { content:" →"; }

/* Before/after */
.ez-transform-head { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:52px; }
.ez-transform-head > *:first-child { max-width:760px; }
.ez-compare-card { display:flex; flex-direction:column; gap:18px; }
.ez-compare-media { --compare-pos:50%; position:relative; aspect-ratio:4/5; overflow:hidden; border:1px solid var(--ez-border); border-radius:var(--ez-radius-lg); box-shadow:var(--ez-shadow-lift); background:#111; }
.ez-compare-media > .wp-block-image { margin:0 !important; }
.ez-compare-after, .ez-compare-before { position:absolute; inset:0; width:100%; height:100%; }
.ez-compare-after img, .ez-compare-before img { width:100%; height:100%; object-fit:cover; }
.ez-compare-before { z-index:2; clip-path:inset(0 calc(100% - var(--compare-pos)) 0 0); }
.ez-compare-label { position:absolute; z-index:4; top:16px; margin:0; padding:6px 10px; border:1px solid rgba(255,255,255,.16); border-radius:999px; background:rgba(5,5,5,.7); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); color:#fff; font-size:.64rem; font-weight:800; text-transform:uppercase; letter-spacing:.15em; pointer-events:none; }
.ez-before-label { left:16px; }
.ez-after-label { right:16px; }
.ez-compare-range { position:absolute; z-index:6; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:ew-resize; }
.ez-compare-handle { position:absolute; z-index:5; top:0; bottom:0; left:var(--compare-pos); width:2px; background:#fff; transform:translateX(-1px); pointer-events:none; box-shadow:0 0 18px rgba(0,0,0,.6); }
.ez-compare-handle::before { content:"↔"; position:absolute; top:50%; left:50%; width:42px; height:42px; display:grid; place-items:center; transform:translate(-50%,-50%); border:1px solid rgba(255,255,255,.5); border-radius:50%; background:rgba(5,5,5,.78); color:var(--ez-primary); font-size:1.1rem; font-weight:900; box-shadow:0 8px 30px rgba(0,0,0,.4); }
.ez-tags { display:flex; flex-wrap:wrap; gap:7px; margin:0 !important; }
.ez-tags span { padding:5px 9px; border:1px solid var(--ez-border); border-radius:999px; color:rgba(250,250,250,.72); font-size:.64rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.ez-compare-copy .ez-card-title { margin-top:12px; }
.ez-compare-copy .ez-card-copy { margin-top:7px; }
.ez-center-button { justify-content:center; margin-top:46px; }

/* Why us */
.ez-why-image-wrap { position:relative; }
.ez-why-image { aspect-ratio:4/5; margin:0 !important; border:1px solid var(--ez-border); border-radius:var(--ez-radius-lg); overflow:hidden; box-shadow:var(--ez-shadow-lift); }
.ez-why-image img { width:100%; height:100%; object-fit:cover; }
.ez-one-crew { position:absolute; left:20px; right:20px; bottom:20px; padding:17px 18px; border:1px solid rgba(255,255,255,.12); border-radius:16px; background:rgba(5,5,5,.76); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); }
.ez-one-crew-title { margin:0 !important; color:var(--ez-primary); font-family:"Urbanist",sans-serif; font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.16em; }
.ez-one-crew p { margin:6px 0 0; color:rgba(250,250,250,.78); font-size:.76rem; line-height:1.55; }
.ez-feature-grid { margin-top:34px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.ez-feature-card { position:relative; isolation:isolate; min-height:230px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; padding:22px; border:1px solid var(--ez-border); border-radius:20px; background:#111; }
.ez-feature-card::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(10,10,10,.98),rgba(10,10,10,.67) 58%,rgba(10,10,10,.3)); }
.ez-feature-image { position:absolute; inset:0; z-index:-2; width:100%; height:100%; margin:0 !important; opacity:.62; }
.ez-feature-image img { width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ez-ease), opacity .7s var(--ez-ease); }
.ez-feature-card:hover .ez-feature-image img { transform:scale(1.06); opacity:.9; }
.ez-feature-card::before { content:""; width:9px; height:9px; margin-bottom:18px; border-radius:50%; background:var(--ez-primary); box-shadow:0 0 16px color-mix(in srgb,var(--ez-primary) 70%,transparent); }
.ez-feature-card h3 { margin:0; font-family:"Urbanist",sans-serif; font-size:1rem; font-weight:800; }
.ez-feature-card p { margin:8px 0 0; color:rgba(250,250,250,.78); font-size:.74rem; line-height:1.6; }

/* Process */
.ez-process-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin:0; padding:0; list-style:none; }
.ez-process-card { position:relative; isolation:isolate; min-height:315px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; padding:22px; border:1px solid var(--ez-border); border-radius:20px; }
.ez-process-card::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(10,10,10,.98),rgba(10,10,10,.7) 56%,rgba(10,10,10,.34)); }
.ez-process-image { position:absolute; inset:0; z-index:-2; width:100%; height:100%; margin:0 !important; opacity:.6; }
.ez-process-image img { width:100%; height:100%; object-fit:cover; }
.ez-step { margin:0 0 auto; font-family:"Urbanist",sans-serif; font-size:2.25rem; line-height:1; font-weight:800; color:var(--ez-primary); text-shadow:0 0 14px color-mix(in srgb,var(--ez-primary) 45%,transparent); }
.ez-process-card h3 { margin:70px 0 0; font-family:"Urbanist",sans-serif; font-size:1.06rem; font-weight:800; }
.ez-process-card p { margin:8px 0 0; color:rgba(250,250,250,.8); font-size:.73rem; line-height:1.62; }

/* Areas */
.ez-area-card { height:100%; padding:26px; border:1px solid var(--ez-border); border-radius:20px; background:linear-gradient(135deg,color-mix(in srgb,var(--ez-primary) 4.5%,transparent),rgba(255,255,255,.015)); }
.ez-area-card h3 { margin:0; font-family:"Urbanist",sans-serif; font-size:1rem; font-weight:800; text-transform:uppercase; letter-spacing:.14em; }
.ez-area-card h3::before { content:"●"; color:var(--ez-primary); margin-right:10px; text-shadow:0 0 12px color-mix(in srgb,var(--ez-primary) 60%,transparent); }
.ez-area-list { display:flex !important; flex-wrap:wrap; gap:8px; margin:18px 0 0 !important; padding:0 !important; list-style:none; }
.ez-area-list li { padding:7px 10px; border:1px solid var(--ez-border); border-radius:999px; background:rgba(255,255,255,.025); color:rgba(250,250,250,.86); font-size:.77rem; }
.ez-area-note { margin-top:28px; padding:21px 22px; display:flex; align-items:center; justify-content:space-between; gap:22px; border:1px solid var(--ez-border); border-radius:18px; background:linear-gradient(135deg,color-mix(in srgb,var(--ez-primary) 4%,transparent),rgba(255,255,255,.015)); }
.ez-area-note p { margin:0; color:var(--ez-muted); font-size:.82rem; line-height:1.65; }

/* FAQ */
.ez-faq-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:64px; align-items:start; }
.ez-faq-intro { position:sticky; top:110px; }
.ez-faq-list { border-top:1px solid rgba(255,255,255,.1); }
.ez-faq-item { margin:0 !important; padding:0 !important; border-bottom:1px solid rgba(255,255,255,.1); }
.ez-faq-item summary { position:relative; display:flex; gap:16px; align-items:center; padding:22px 38px 22px 0; cursor:pointer; list-style:none; font-family:"Urbanist",sans-serif; font-size:1rem; font-weight:800; }
.ez-faq-item summary::-webkit-details-marker { display:none; }
.ez-faq-item summary::after { content:"+"; position:absolute; right:0; color:var(--ez-primary); font-size:1.4rem; font-weight:400; transition:transform .25s ease; }
.ez-faq-item[open] summary::after { transform:rotate(45deg); }
.ez-faq-num { color:var(--ez-primary); font-size:.72rem; letter-spacing:.12em; }
.ez-faq-item > p { margin:0; padding:0 44px 22px 40px; color:var(--ez-muted); font-size:.86rem; line-height:1.75; }
.ez-faq-link { margin-top:28px; font-weight:800; }
.ez-faq-link a { color:var(--ez-primary); text-decoration:none; }

/* Quote */
.ez-quote-card { height:100%; padding:30px; border:1px solid var(--ez-border); border-radius:var(--ez-radius-lg); background:linear-gradient(135deg,color-mix(in srgb,var(--ez-primary) 6%,transparent),rgba(255,255,255,.018)); box-shadow:var(--ez-shadow-lift); }
.ez-quote-card h3 { margin:0; font-family:"Urbanist",sans-serif; font-size:1.2rem; font-weight:800; }
.ez-quote-card > p { margin:9px 0 0; color:var(--ez-muted); font-size:.83rem; line-height:1.65; }
.ez-quote-card .ez-buttons { margin-top:24px; flex-direction:column; align-items:stretch; }
.ez-quote-card .wp-block-button { width:100%; }
.ez-quote-card .wp-block-button__link { width:100%; }
.ez-hairline { border:0 !important; height:1px !important; background:var(--ez-border) !important; margin:24px 0 !important; opacity:1 !important; }
.ez-quote-meta { display:grid; gap:16px; }
.ez-quote-meta strong { display:block; color:#fff; font-size:.72rem; text-transform:uppercase; letter-spacing:.14em; }
.ez-quote-meta p { margin:5px 0 0; color:var(--ez-muted); font-size:.78rem; line-height:1.6; }

/* Final CTA */
.ez-final-cta { position:relative; isolation:isolate; overflow:hidden; padding:120px 0; text-align:center; }
.ez-final-media { position:absolute; inset:0; z-index:-3; width:100%; height:100%; margin:0 !important; }
.ez-final-media img { width:100%; height:100%; object-fit:cover; opacity:.6; }
.ez-final-cta::before { content:""; position:absolute; inset:0; z-index:-2; background:rgba(5,5,5,.82); -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px); }
.ez-final-inner { max-width:800px; margin-inline:auto !important; }
.ez-final-inner .ez-lead { margin-inline:auto; color:rgba(250,250,250,.8); }
.ez-final-inner .ez-buttons { justify-content:center; }
.ez-final-inner .ez-call-link { text-align:center; }

/* Footer */
.ez-site-footer { margin:0 !important; padding:52px 0 90px; border-top:1px solid var(--ez-border); background:var(--ez-deep); }
.ez-footer-grid { display:grid; grid-template-columns:1.25fr 1fr .7fr; gap:56px; }
.ez-footer-brand { display:flex; align-items:center; gap:10px; }
.ez-footer-brand .ez-brand-logo { width:42px !important; }
.ez-footer-brand-copy { margin:0; font-family:"Urbanist",sans-serif; font-weight:900; line-height:1.05; }
.ez-footer-brand-copy span { display:block; margin-top:4px; color:var(--ez-muted); font-family:"Epilogue",sans-serif; font-size:.58rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.ez-footer-about { margin-top:18px; max-width:430px; color:var(--ez-muted); font-size:.81rem; line-height:1.7; }
.ez-footer-contact-links { display:flex; gap:16px; margin-top:18px; }
.ez-footer-contact-links a { color:var(--ez-primary); font-size:.8rem; font-weight:800; text-decoration:none; }
.ez-footer-nav-grid { display:grid; grid-template-columns:1fr 1fr; gap:34px; }
.ez-footer-title { margin:0; color:#fff; font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.18em; }
.ez-footer-links { margin:14px 0 0 !important; padding:0 !important; list-style:none; display:grid; gap:9px; }
.ez-footer-links li { font-size:.75rem; }
.ez-footer-links a { color:var(--ez-muted); text-decoration:none; }
.ez-footer-links a:hover { color:var(--ez-primary); }
.ez-footer-hours { margin-top:17px; color:var(--ez-muted); font-size:.74rem; line-height:1.65; }
.ez-copyright { margin-top:38px; padding-top:20px; border-top:1px solid rgba(255,255,255,.07); color:#747474; font-size:.7rem; }

/* Mobile sticky CTA */
.ez-mobile-cta { display:none; position:fixed; left:0; right:0; bottom:0; z-index:1001; padding:10px 12px max(10px,env(safe-area-inset-bottom)); border-top:1px solid var(--ez-border); background:rgba(5,5,5,.94); -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); }
.ez-mobile-cta .wp-block-buttons { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.ez-mobile-cta .wp-block-button, .ez-mobile-cta .wp-block-button__link { width:100%; }
.ez-mobile-cta .wp-block-button__link { min-height:44px; padding:0 14px; font-size:.76rem; }

/* Inner pages */
.ez-page-shell { min-height:70vh; padding:140px 0 90px; }
.ez-page-shell .wp-block-post-title { font-family:"Urbanist",sans-serif; font-size:clamp(2.2rem,6vw,4rem); line-height:1.05; }
.ez-page-shell .wp-block-post-content { color:var(--ez-muted); line-height:1.75; }
.ez-page-shell .wp-block-post-content h2, .ez-page-shell .wp-block-post-content h3 { color:#fff; font-family:"Urbanist",sans-serif; }

/* Reveal motion */
.ez-js .ez-reveal { opacity:0; transform:translateY(22px); transition:opacity .8s var(--ez-ease), transform .8s var(--ez-ease); }
.ez-js .ez-reveal.is-visible { opacity:1; transform:none; }

@keyframes ez-slow-zoom { from { transform:scale(1); } to { transform:scale(1.06); } }
@keyframes ez-marquee { to { transform:translateX(calc(-50% - 25px)); } }

@media (min-width:768px) {
  .ez-section { padding:112px 0; }
  .ez-hero { padding-bottom:96px; }
  .ez-reviews { padding:64px 0; }
  .ez-final-cta { padding:128px 0; }
}

@media (min-width:1024px) {
  .ez-section { padding:128px 0; }
  .ez-hero { min-height:100vh; padding-bottom:112px; }
}

@media (max-width:1024px) {
  .ez-header-actions { display:none; }
  .ez-header-nav { flex:0 0 auto; }
  .ez-grid-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ez-grid-5, .ez-process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ez-split, .ez-faq-layout { grid-template-columns:1fr; gap:42px; }
  .ez-faq-intro { position:static; }
  .ez-footer-grid { grid-template-columns:1fr 1fr; }
  .ez-footer-grid > *:last-child { grid-column:1/-1; }
}

@media (max-width:782px) {
  body { padding-bottom:66px; }
  .ez-container { width:100% !important; max-width:1320px !important; padding-inline:14px; }
  .ez-section { padding:72px 0; }
  .ez-header-inner { min-height:68px; gap:12px; }
  .ez-brand-tagline { font-size:.5rem; letter-spacing:.18em; }
  .ez-brand-title { font-size:.92rem; }
  .ez-header-nav { justify-content:flex-end; }
  .ez-header-nav .wp-block-navigation__responsive-container.is-menu-open { background:rgba(5,5,5,.98); color:#fff; padding:24px; }
  .ez-header-nav .wp-block-navigation__responsive-container-content { gap:18px; }
  .ez-header-nav .wp-block-navigation-item__content { font-size:1.2rem; }
  .ez-hero { min-height:92vh; padding:112px 0 64px; }
  .ez-hero-sub { font-size:.98rem; }
  .ez-buttons { flex-direction:column; align-items:stretch; width:100%; }
  .ez-buttons .wp-block-button { width:100%; }
  .ez-buttons .wp-block-button__link { width:100%; }
  .ez-trust-list { grid-template-columns:1fr; gap:9px; margin-top:30px !important; }
  .ez-review-card { flex-direction:column; text-align:center; gap:20px; padding:26px 22px; }
  .ez-review-copy { border-left:0; border-top:1px solid var(--ez-border); padding:20px 0 0; }
  .ez-grid-2, .ez-grid-3, .ez-grid-4, .ez-grid-5, .ez-process-grid, .ez-feature-grid { grid-template-columns:1fr; }
  .ez-transform-head { flex-direction:column; align-items:flex-start; }
  .ez-compare-media { aspect-ratio:4/5; }
  .ez-area-note { flex-direction:column; align-items:flex-start; }
  .ez-footer-grid, .ez-footer-nav-grid { grid-template-columns:1fr; gap:34px; }
  .ez-footer-grid > *:last-child { grid-column:auto; }
  .ez-site-footer { padding-bottom:90px; }
  .ez-mobile-cta { display:block; }
  .ez-final-cta { padding:90px 0; }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .ez-js .ez-reveal { opacity:1; transform:none; }
}

/* ==========================================================
   v1.3 trade showcase system
   ========================================================== */
:root {
  --ez-on-primary:#050505;
  --ez-glass:rgba(8,8,8,.62);
  --ez-glass-strong:rgba(8,8,8,.82);
  --ez-soft:rgba(255,255,255,.055);
  --ez-soft-strong:rgba(255,255,255,.1);
  --ez-overlay:rgba(5,5,5,.72);
  --ez-hero-text:#fafafa;
}
html { background:var(--ez-bg); }
body { overflow-x:hidden; }
::selection { background:color-mix(in srgb,var(--ez-primary) 24%,transparent); color:var(--ez-fg); }

/* Brand mark stays in sync with the chosen brand colour (no baked-in green logo). */
.ez-brand-mark { width:40px; height:40px; margin:0 !important; display:grid; place-items:center; flex:0 0 40px; border:1px solid color-mix(in srgb,var(--ez-primary) 52%,transparent); border-radius:11px; color:var(--ez-primary); background:linear-gradient(145deg,color-mix(in srgb,var(--ez-primary) 13%,transparent),transparent 70%); box-shadow:inset 0 0 18px color-mix(in srgb,var(--ez-primary) 8%,transparent),0 0 25px -12px var(--ez-primary); font-family:"Urbanist",sans-serif; font-size:.88rem; line-height:1; font-weight:900; letter-spacing:-.04em; }
.ez-footer-brand .ez-brand-mark { width:42px; height:42px; flex-basis:42px; }

/* Stronger colour-variable neon treatment. */
.ez-primary { text-shadow:0 0 18px color-mix(in srgb,var(--ez-primary) 34%,transparent); }
.ez-button-primary .wp-block-button__link,
.ez-header-quote .wp-block-button__link { background:linear-gradient(105deg,var(--ez-primary),color-mix(in srgb,var(--ez-primary) 72%,white) 68%,var(--ez-primary)); color:var(--ez-on-primary); border:1px solid color-mix(in srgb,var(--ez-primary) 78%,white); box-shadow:0 0 0 1px color-mix(in srgb,var(--ez-primary) 18%,transparent),0 0 22px -7px color-mix(in srgb,var(--ez-primary) 75%,transparent),0 0 54px -24px var(--ez-primary); }
.ez-button-primary .wp-block-button__link:hover,
.ez-header-quote .wp-block-button__link:hover { box-shadow:0 0 0 1px color-mix(in srgb,var(--ez-primary) 36%,transparent),0 0 32px -6px color-mix(in srgb,var(--ez-primary) 88%,transparent),0 0 65px -18px color-mix(in srgb,var(--ez-primary) 65%,transparent); }
.ez-card:hover,.ez-compare-card:hover,.ez-feature-card:hover,.ez-process-card:hover,.ez-area-card:hover { border-color:color-mix(in srgb,var(--ez-primary) 35%,var(--ez-border)); box-shadow:var(--ez-shadow-lift),0 0 38px -24px var(--ez-primary); }
.ez-review-score strong,.ez-step,.ez-ticker-list li::before,.ez-area-card h3::before { text-shadow:0 0 18px color-mix(in srgb,var(--ez-primary) 52%,transparent); }
.ez-feature-card::before,.ez-trust-list li::before { box-shadow:0 0 18px color-mix(in srgb,var(--ez-primary) 48%,transparent); }

/* Button icons — no external icon package required. */
.ez-btn .wp-block-button__link { gap:9px; }
.ez-icon-arrow .wp-block-button__link::after,
.ez-button-primary .wp-block-button__link::after { content:"→"; font-size:1.05em; line-height:1; transition:transform .2s ease; }
.ez-icon-arrow .wp-block-button__link:hover::after,
.ez-button-primary .wp-block-button__link:hover::after { transform:translateX(3px); }
.ez-icon-phone .wp-block-button__link::before { content:""; width:15px; height:15px; flex:0 0 15px; background:currentColor; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.4 0 .8-.2 1z'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.4 0 .8-.2 1z'/%3E%3C/svg%3E") center/contain no-repeat; }
.ez-icon-message .wp-block-button__link::before { content:""; width:16px; height:16px; flex:0 0 16px; background:currentColor; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H8l-5 4V6a2 2 0 0 1 2-2Zm2 4v2h12V8H6Zm0 4v2h8v-2H6Z'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H8l-5 4V6a2 2 0 0 1 2-2Zm2 4v2h12V8H6Zm0 4v2h8v-2H6Z'/%3E%3C/svg%3E") center/contain no-repeat; }

/* Configurator: desktop lateral drawer. */
.ez-config-trigger { position:fixed; right:0; top:50%; z-index:1400; transform:translateY(-50%); display:flex; align-items:center; gap:9px; padding:13px 15px 13px 12px; border:1px solid color-mix(in srgb,var(--ez-primary) 40%,var(--ez-border)); border-right:0; border-radius:16px 0 0 16px; color:var(--ez-fg); background:color-mix(in srgb,var(--ez-card) 84%,transparent); -webkit-backdrop-filter:blur(18px) saturate(145%); backdrop-filter:blur(18px) saturate(145%); box-shadow:-16px 18px 48px -28px rgba(0,0,0,.75),0 0 26px -16px var(--ez-primary); font:800 .76rem/1 "Epilogue",sans-serif; cursor:pointer; }
.ez-config-trigger-dot { width:9px; height:9px; border-radius:50%; background:var(--ez-primary); box-shadow:0 0 14px var(--ez-primary); }
.ez-configurator { position:fixed; top:0; right:0; z-index:1500; width:min(390px,92vw); height:100dvh; padding:34px 26px; overflow:auto; color:var(--ez-fg); background:color-mix(in srgb,var(--ez-card) 94%,transparent); border-left:1px solid color-mix(in srgb,var(--ez-primary) 28%,var(--ez-border)); -webkit-backdrop-filter:blur(28px) saturate(145%); backdrop-filter:blur(28px) saturate(145%); box-shadow:-34px 0 80px -38px rgba(0,0,0,.85); transform:translateX(104%); transition:transform .38s var(--ez-ease); }
.ez-configurator.is-open { transform:none; }
.ez-config-close { position:absolute; right:18px; top:16px; width:38px; height:38px; border:1px solid var(--ez-border); border-radius:50%; color:var(--ez-fg); background:var(--ez-soft); font-size:1.35rem; cursor:pointer; }
.ez-config-head { padding-right:42px; }
.ez-config-head > span,.ez-config-label { display:block; color:var(--ez-primary); font-size:.65rem; font-weight:900; letter-spacing:.18em; text-transform:uppercase; }
.ez-config-head strong { display:block; margin-top:8px; font-family:"Urbanist",sans-serif; font-size:2rem; line-height:1; }
.ez-config-head p { margin:12px 0 0; color:var(--ez-muted); font-size:.82rem; line-height:1.6; }
.ez-config-section { padding:24px 0; border-bottom:1px solid var(--ez-border); }
.ez-config-trades { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:12px; }
.ez-config-trade,.ez-mode-btn { min-height:42px; padding:0 12px; border:1px solid var(--ez-border); border-radius:11px; color:var(--ez-fg); background:var(--ez-soft); font:700 .75rem/1 "Epilogue",sans-serif; cursor:pointer; transition:.2s ease; }
.ez-config-trade:hover,.ez-mode-btn:hover,.ez-config-trade.is-active,.ez-mode-btn.is-active { border-color:color-mix(in srgb,var(--ez-primary) 62%,var(--ez-border)); background:color-mix(in srgb,var(--ez-primary) 10%,var(--ez-card)); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ez-primary) 8%,transparent),0 0 22px -16px var(--ez-primary); }
.ez-config-colours { display:flex; gap:11px; margin-top:14px; }
.ez-colour-swatch { width:38px; height:38px; padding:4px; border:1px solid var(--ez-border); border-radius:50%; background:transparent; cursor:pointer; }
.ez-colour-swatch span { display:block; width:100%; height:100%; border-radius:50%; background:var(--swatch); box-shadow:0 0 16px -8px var(--swatch); }
.ez-colour-swatch.is-active { border-color:var(--swatch); box-shadow:0 0 18px -8px var(--swatch); }
.ez-config-modes { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:12px; }
.ez-config-foot { padding-top:22px; color:var(--ez-muted); font-size:.7rem; line-height:1.55; }
.ez-button-config .wp-block-button__link { min-height:44px; background:var(--ez-soft); border:1px solid color-mix(in srgb,var(--ez-primary) 38%,var(--ez-border)); color:var(--ez-fg); }

/* Light template: change every major surface and contrast colour, while keeping brand colour variable. */
html[data-ez-mode="light"] {
  --ez-bg:#f5f6f7; --ez-fg:#101214; --ez-card:#ffffff; --ez-raised:#eef0f2; --ez-deep:#e8ebed; --ez-muted:#5d646a; --ez-border:#d6dade; --ez-shadow-lift:0 24px 55px -30px rgba(14,20,24,.28); --ez-glass:rgba(255,255,255,.68); --ez-glass-strong:rgba(255,255,255,.88); --ez-soft:rgba(13,18,22,.045); --ez-soft-strong:rgba(13,18,22,.09); --ez-on-primary:#071006;
}
html[data-ez-mode="light"] body,html[data-ez-mode="light"] .editor-styles-wrapper { background:var(--ez-bg); color:var(--ez-fg); }
html[data-ez-mode="light"] .ez-site-header::before { background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.58)); }
html[data-ez-mode="light"] .ez-site-header.is-scrolled::before { background:rgba(255,255,255,.9); }
html[data-ez-mode="light"] .ez-site-header { border-color:rgba(20,25,28,.1); box-shadow:0 12px 36px -28px rgba(15,20,24,.4); }
html[data-ez-mode="light"] .ez-header-nav .wp-block-navigation-item__content,html[data-ez-mode="light"] .ez-header-phone .wp-block-button__link { color:#202428; }
html[data-ez-mode="light"] .ez-header-nav .wp-block-navigation-item__content:hover { color:#000; }
html[data-ez-mode="light"] .ez-header-phone .wp-block-button__link { background:rgba(255,255,255,.6); }
html[data-ez-mode="light"] .ez-hero::before { background:linear-gradient(90deg,rgba(248,249,250,.94) 0%,rgba(248,249,250,.82) 45%,rgba(248,249,250,.18) 100%); }
html[data-ez-mode="light"] .ez-hero::after { background:linear-gradient(0deg,var(--ez-bg),transparent); }
html[data-ez-mode="light"] .ez-hero .ez-display-lg,html[data-ez-mode="light"] .ez-hero-sub,html[data-ez-mode="light"] .ez-call-link a { color:#111416; text-shadow:0 6px 28px rgba(255,255,255,.55); }
html[data-ez-mode="light"] .ez-trust-list li { color:#25292c; background:rgba(255,255,255,.62); border-color:rgba(16,20,22,.12); }
html[data-ez-mode="light"] .ez-section-raised { background:var(--ez-raised); border-color:var(--ez-border); }
html[data-ez-mode="light"] .ez-card,html[data-ez-mode="light"] .ez-review-card,html[data-ez-mode="light"] .ez-area-card,html[data-ez-mode="light"] .ez-quote-card { background:linear-gradient(145deg,color-mix(in srgb,var(--ez-primary) 5%,white),#fff); border-color:var(--ez-border); }
html[data-ez-mode="light"] .ez-button-outline .wp-block-button__link { color:var(--ez-fg); background:rgba(255,255,255,.64); border-color:#c9ced2; }
html[data-ez-mode="light"] .ez-card-title,html[data-ez-mode="light"] .ez-feature-card h3,html[data-ez-mode="light"] .ez-process-card h3,html[data-ez-mode="light"] .ez-quote-card h3,html[data-ez-mode="light"] .ez-footer-title,html[data-ez-mode="light"] .ez-quote-meta strong,html[data-ez-mode="light"] .ez-page-shell .wp-block-post-content h2,html[data-ez-mode="light"] .ez-page-shell .wp-block-post-content h3 { color:var(--ez-fg); }
html[data-ez-mode="light"] .ez-ticker { background:#fff; border-color:var(--ez-border); }
html[data-ez-mode="light"] .ez-faq-list,html[data-ez-mode="light"] .ez-faq-item { border-color:var(--ez-border); }
html[data-ez-mode="light"] .ez-final-cta::before { background:rgba(248,249,250,.82); }
html[data-ez-mode="light"] .ez-final-inner .ez-lead,html[data-ez-mode="light"] .ez-final-inner .ez-display { color:#111416; }
html[data-ez-mode="light"] .ez-site-footer { background:var(--ez-deep); }
html[data-ez-mode="light"] .ez-copyright { border-color:var(--ez-border); color:#737a80; }
html[data-ez-mode="light"] .ez-mobile-cta { background:rgba(255,255,255,.92); }
html[data-ez-mode="light"] .ez-header-nav .wp-block-navigation__responsive-container.is-menu-open { background:rgba(248,249,250,.98); color:#111416; }

/* Mobile overhaul. */
@media (max-width:782px) {
  html { scroll-padding-top:76px; }
  body { padding-bottom:78px; }
  .ez-container { padding-inline:18px; }
  .ez-site-header::before { -webkit-backdrop-filter:saturate(150%) blur(20px); backdrop-filter:saturate(150%) blur(20px); }
  .ez-header-inner { min-height:64px; }
  .ez-brand-mark { width:36px; height:36px; flex-basis:36px; border-radius:10px; font-size:.78rem; }
  .ez-brand-title { font-size:.78rem; letter-spacing:.09em; white-space:nowrap; }
  .ez-brand-tagline { font-size:.43rem; max-width:140px; }
  .ez-header-nav .wp-block-navigation__responsive-container.is-menu-open { padding:82px 24px 28px; min-height:100dvh; -webkit-backdrop-filter:blur(24px); backdrop-filter:blur(24px); }
  .ez-header-nav .wp-block-navigation__responsive-container-content { align-items:flex-start; }
  .ez-header-nav .wp-block-navigation__container { align-items:flex-start !important; gap:20px !important; }
  .ez-header-nav .wp-block-navigation-item__content { font-family:"Urbanist",sans-serif; font-size:1.55rem; font-weight:800; }
  .ez-hero { min-height:auto; align-items:flex-end; padding:116px 0 70px; }
  .ez-hero-media img { object-position:58% center; }
  .ez-hero .ez-display-lg { max-width:100%; font-size:clamp(2.6rem,13vw,4.1rem); line-height:.98; }
  .ez-hero-sub { max-width:100%; margin-top:20px; font-size:1rem; line-height:1.55; }
  .ez-buttons { margin-top:24px; gap:10px; }
  .ez-buttons .wp-block-button__link { min-height:50px; }
  .ez-trust-list { margin-top:24px !important; }
  .ez-trust-list li { min-height:46px; padding:10px 12px 10px 49px; }
  .ez-section { padding:76px 0; }
  .ez-section-head { margin-bottom:34px; }
  .ez-display,.ez-display.wp-block-heading { font-size:clamp(2rem,10vw,3rem); }
  .ez-grid { gap:14px; }
  .ez-service-image { aspect-ratio:16/10; }
  .ez-compare-media { aspect-ratio:16/12; }
  .ez-faq-item summary { padding:20px 34px 20px 0; font-size:.95rem; }
  .ez-faq-item > p { padding:0 4px 20px 0; }
  .ez-quote-card { padding:22px; }
  .ez-site-footer { padding-top:44px; }
  .ez-mobile-cta { padding:8px 8px max(8px,env(safe-area-inset-bottom)); }
  .ez-mobile-cta .wp-block-buttons { grid-template-columns:.72fr 1fr .9fr; gap:6px; }
  .ez-mobile-cta .wp-block-button__link { min-height:48px; padding:0 9px; font-size:.68rem; gap:5px; }
  .ez-mobile-cta .ez-button-primary .wp-block-button__link::after { display:none; }
  .ez-config-trigger { display:none; }
  .ez-configurator { top:auto; bottom:0; width:100%; height:min(78dvh,660px); padding:28px 20px calc(92px + env(safe-area-inset-bottom)); border-left:0; border-top:1px solid color-mix(in srgb,var(--ez-primary) 30%,var(--ez-border)); border-radius:24px 24px 0 0; transform:translateY(105%); }
  .ez-configurator.is-open { transform:none; }
  .ez-configurator::before { content:""; display:block; width:46px; height:4px; margin:-16px auto 22px; border-radius:99px; background:var(--ez-border); }
  .ez-config-trades { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:430px) {
  .ez-brand-tagline { display:none; }
  .ez-hero { padding-top:106px; }
  .ez-hero .ez-eyebrow { font-size:.64rem; letter-spacing:.16em; }
  .ez-mobile-cta .wp-block-button__link { font-size:.64rem; }
}
html[data-ez-mode="light"] h1,html[data-ez-mode="light"] h2,html[data-ez-mode="light"] h3,html[data-ez-mode="light"] h4,html[data-ez-mode="light"] h5,html[data-ez-mode="light"] h6 { color:var(--ez-fg); }
html[data-ez-mode="light"] .ez-hero h1,html[data-ez-mode="light"] .ez-final-inner h2 { color:#111416; }
html[data-ez-mode="light"] .ez-eyebrow { color:var(--ez-accent); }
html[data-ez-mode="light"] .ez-card-copy,html[data-ez-mode="light"] .ez-feature-card p,html[data-ez-mode="light"] .ez-process-card p,html[data-ez-mode="light"] .ez-footer-links a,html[data-ez-mode="light"] .ez-footer-hours,html[data-ez-mode="light"] .ez-footer-about { color:var(--ez-muted); }
/* Hide roof-specific bullet lists when another trade preset is active. The card copy remains editable and relevant. */
/* Contrast-aware accent text. The luminous brand colour is kept for fills/glows,
   while light mode uses a darker readable version for coloured typography. */
:root { --ez-primary-text:var(--ez-primary); }
html[data-ez-mode="light"][data-ez-colour="green"] { --ez-primary-text:#137600; }
html[data-ez-mode="light"][data-ez-colour="orange"] { --ez-primary-text:#a84200; }
html[data-ez-mode="light"][data-ez-colour="red"] { --ez-primary-text:#b31d43; }
html[data-ez-mode="light"][data-ez-colour="blue"] { --ez-primary-text:#1257b8; }
html[data-ez-mode="light"][data-ez-colour="purple"] { --ez-primary-text:#6e2fc8; }
.ez-primary,.ez-review-score strong,.ez-step,.ez-card-link a,.ez-faq-num,.ez-faq-link a,.ez-footer-contact-links a,.ez-brand-tagline,.ez-config-head > span,.ez-config-label { color:var(--ez-primary-text); }
html[data-ez-mode="light"] .ez-button-outline .wp-block-button__link:hover { color:var(--ez-primary-text); }
html[data-ez-mode="light"] .ez-ticker-list li,html[data-ez-mode="light"] .ez-check-list li,html[data-ez-mode="light"] .ez-tags span,html[data-ez-mode="light"] .ez-area-list li { color:var(--ez-fg); }
html[data-ez-mode="light"] .ez-area-list li { background:var(--ez-soft); }
html.ez-config-open,html.ez-config-open body { overflow:hidden; }
.ez-button-config .wp-block-button__link::before { content:"✦"; color:var(--ez-primary-text); font-size:.9em; text-shadow:0 0 10px color-mix(in srgb,var(--ez-primary) 65%,transparent); }

/* ----------------------------------------------------------
   Gutenberg-editable trade preset library
   ---------------------------------------------------------- */
.ez-preset-library { display:none !important; }
.editor-styles-wrapper .ez-preset-library { display:block !important; max-width:1320px !important; margin:70px auto !important; padding:28px !important; border:2px dashed var(--ez-primary) !important; border-radius:22px; background:var(--ez-card); }
.editor-styles-wrapper .ez-preset-library-title { margin:0 !important; font-size:1.8rem !important; }
.editor-styles-wrapper .ez-preset-library-help { margin:10px 0 28px !important; color:var(--ez-muted); }
.editor-styles-wrapper .ez-preset { display:block !important; margin:22px 0 !important; padding:22px !important; border:1px solid var(--ez-border); border-radius:18px; background:var(--ez-raised); }
.editor-styles-wrapper .ez-preset-label { margin:0 0 18px !important; color:var(--ez-primary); }
.editor-styles-wrapper .ez-preset > .ez-preset-brand,
.editor-styles-wrapper .ez-preset > .ez-preset-mark,
.editor-styles-wrapper .ez-preset > .ez-preset-tagline,
.editor-styles-wrapper .ez-preset > .ez-preset-eyebrow,
.editor-styles-wrapper .ez-preset > .ez-preset-hero,
.editor-styles-wrapper .ez-preset > .ez-preset-sub,
.editor-styles-wrapper .ez-preset > .ez-preset-cta,
.editor-styles-wrapper .ez-preset > .ez-preset-service-title,
.editor-styles-wrapper .ez-preset > .ez-preset-service-lead,
.editor-styles-wrapper .ez-preset > .ez-preset-why-eyebrow,
.editor-styles-wrapper .ez-preset > .ez-preset-why-title,
.editor-styles-wrapper .ez-preset > .ez-preset-why-lead,
.editor-styles-wrapper .ez-preset > .ez-preset-quote-title,
.editor-styles-wrapper .ez-preset > .ez-preset-quote-lead,
.editor-styles-wrapper .ez-preset > .ez-preset-final-title,
.editor-styles-wrapper .ez-preset > .ez-preset-final-lead,
.editor-styles-wrapper .ez-preset > .ez-preset-footer { margin:7px 0 !important; padding:9px 11px; border-left:3px solid color-mix(in srgb,var(--ez-primary) 45%,transparent); background:color-mix(in srgb,var(--ez-primary) 4%,transparent); }
.editor-styles-wrapper .ez-preset-services,
.editor-styles-wrapper .ez-preset-features,
.editor-styles-wrapper .ez-preset-process { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:18px !important; }
.editor-styles-wrapper .ez-preset-service,
.editor-styles-wrapper .ez-preset-feature,
.editor-styles-wrapper .ez-preset-process-item { padding:14px !important; border:1px solid var(--ez-border); border-radius:12px; }
.editor-styles-wrapper .ez-preset-item-title { margin:0 !important; font-size:1rem !important; }
.editor-styles-wrapper .ez-preset-item-copy { margin:7px 0 0 !important; font-size:.82rem; color:var(--ez-muted); }
.editor-styles-wrapper .ez-preset-trusts { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-top:18px !important; }
.editor-styles-wrapper .ez-preset-trust { margin:0 !important; padding:8px 10px; border-radius:9px; background:var(--ez-soft); }
.editor-styles-wrapper .ez-preset-faq { margin-top:18px !important; }
.editor-styles-wrapper .ez-preset-faq-item { margin:7px 0 !important; padding:10px !important; border:1px solid var(--ez-border); border-radius:10px; }

/* Non-roofing presets use an abstract brand treatment until their own images are
   dropped into the Gutenberg Image blocks. This avoids showing roof photography
   to a plumber/electrician/etc. during the sales demo. */
html[data-ez-trade]:not([data-ez-trade="roofing"]) #services .ez-check-list { display:none !important; }
html[data-ez-trade]:not([data-ez-trade="roofing"]) #services .ez-card-link { margin-top:18px; }
html[data-ez-trade]:not([data-ez-trade="roofing"]) .ez-hero-media,
html[data-ez-trade]:not([data-ez-trade="roofing"]) .ez-service-image,
html[data-ez-trade]:not([data-ez-trade="roofing"]) .ez-why-image-wrap,
html[data-ez-trade]:not([data-ez-trade="roofing"]) .ez-feature-image,
html[data-ez-trade]:not([data-ez-trade="roofing"]) .ez-process-image,
html[data-ez-trade]:not([data-ez-trade="roofing"]) .ez-final-media { display:none !important; }
html[data-ez-trade]:not([data-ez-trade="roofing"]) .ez-hero { background:radial-gradient(circle at 78% 18%,color-mix(in srgb,var(--ez-primary) 20%,transparent),transparent 34%),radial-gradient(circle at 18% 88%,color-mix(in srgb,var(--ez-primary) 8%,transparent),transparent 38%),var(--ez-bg); }
html[data-ez-trade]:not([data-ez-trade="roofing"]) .ez-hero::before { background:linear-gradient(90deg,color-mix(in srgb,var(--ez-bg) 94%,transparent),color-mix(in srgb,var(--ez-bg) 74%,transparent) 62%,transparent); }
html[data-ez-trade]:not([data-ez-trade="roofing"]) #why-us .ez-split { grid-template-columns:1fr; }
html[data-ez-trade]:not([data-ez-trade="roofing"]) .ez-service-card { position:relative; padding-top:12px; }
html[data-ez-trade]:not([data-ez-trade="roofing"]) .ez-service-card::before { content:""; width:54px; height:5px; margin:20px 22px 2px; border-radius:999px; background:var(--ez-primary); box-shadow:0 0 24px -4px var(--ez-primary); }
html[data-ez-trade]:not([data-ez-trade="roofing"]) .ez-feature-card,
html[data-ez-trade]:not([data-ez-trade="roofing"]) .ez-process-card { min-height:220px; background:linear-gradient(145deg,color-mix(in srgb,var(--ez-primary) 7%,var(--ez-card)),var(--ez-card)); }
html[data-ez-trade]:not([data-ez-trade="roofing"]) .ez-feature-card::after,
html[data-ez-trade]:not([data-ez-trade="roofing"]) .ez-process-card::after { background:radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--ez-primary) 13%,transparent),transparent 44%); }
html[data-ez-trade]:not([data-ez-trade="roofing"]) .ez-process-card h3 { margin-top:48px; }
html[data-ez-trade]:not([data-ez-trade="roofing"]) .ez-final-cta { background:radial-gradient(circle at 50% 20%,color-mix(in srgb,var(--ez-primary) 14%,transparent),transparent 45%),var(--ez-deep); }

/* Image-backed cards remain deliberately dark in the light roofing template for
   reliable contrast. Non-roofing cards have no photography, so they flip light. */
html[data-ez-mode="light"] .ez-feature-card h3,
html[data-ez-mode="light"] .ez-process-card h3 { color:#fff; }
html[data-ez-mode="light"] .ez-feature-card p,
html[data-ez-mode="light"] .ez-process-card p { color:rgba(255,255,255,.82); }
html[data-ez-mode="light"][data-ez-trade]:not([data-ez-trade="roofing"]) .ez-feature-card,
html[data-ez-mode="light"][data-ez-trade]:not([data-ez-trade="roofing"]) .ez-process-card { background:linear-gradient(145deg,color-mix(in srgb,var(--ez-primary) 5%,white),#fff); }
html[data-ez-mode="light"][data-ez-trade]:not([data-ez-trade="roofing"]) .ez-feature-card h3,
html[data-ez-mode="light"][data-ez-trade]:not([data-ez-trade="roofing"]) .ez-process-card h3 { color:var(--ez-fg); }
html[data-ez-mode="light"][data-ez-trade]:not([data-ez-trade="roofing"]) .ez-feature-card p,
html[data-ez-mode="light"][data-ez-trade]:not([data-ez-trade="roofing"]) .ez-process-card p { color:var(--ez-muted); }
html[data-ez-mode="light"][data-ez-trade]:not([data-ez-trade="roofing"]) .ez-hero::before { background:linear-gradient(90deg,rgba(248,249,250,.98),rgba(248,249,250,.86) 62%,rgba(248,249,250,.55)); }
html[data-ez-mode="light"][data-ez-trade]:not([data-ez-trade="roofing"]) .ez-final-cta { background:radial-gradient(circle at 50% 20%,color-mix(in srgb,var(--ez-primary) 10%,transparent),transparent 46%),var(--ez-bg); }

@media (max-width:782px) {
  .editor-styles-wrapper .ez-preset-services,
  .editor-styles-wrapper .ez-preset-features,
  .editor-styles-wrapper .ez-preset-process,
  .editor-styles-wrapper .ez-preset-trusts { grid-template-columns:1fr; }
}


/* ==========================================================
   v1.4 screenshot-match refinements + URL-preset demo
   ========================================================== */

/* HERO — larger actions and pill-style trust row matching the reference. */
.ez-hero .ez-buttons { gap:14px; margin-top:34px; }
.ez-hero .ez-buttons .wp-block-button__link {
  min-height:64px;
  padding-inline:34px;
  font-size:1rem;
  letter-spacing:.01em;
}
.ez-hero .ez-button-primary .wp-block-button__link { min-width:300px; }
.ez-hero .ez-button-outline .wp-block-button__link { min-width:250px; }
.ez-trust-list {
  max-width:850px;
  gap:12px 14px;
  margin-top:44px !important;
}
.ez-trust-list li {
  min-height:60px;
  padding:12px 22px 12px 68px;
  border:0;
  border-radius:999px;
  background:rgba(8,8,8,.68);
  -webkit-backdrop-filter:blur(12px) saturate(120%);
  backdrop-filter:blur(12px) saturate(120%);
  color:rgba(250,250,250,.88);
  font-size:.94rem;
  font-weight:600;
  line-height:1.35;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.ez-trust-list li::before {
  content:"";
  left:22px;
  width:20px;
  height:20px;
  border-radius:0;
  background:var(--ez-primary);
  box-shadow:0 0 17px -3px var(--ez-primary);
}
.ez-trust-list li:first-child { padding-left:132px; }
.ez-trust-list li:first-child::before {
  content:"★★★★★";
  width:88px;
  height:auto;
  display:block;
  background:none;
  color:var(--ez-accent);
  font-size:1rem;
  line-height:1;
  letter-spacing:2px;
  text-align:left;
  text-shadow:0 0 14px color-mix(in srgb,var(--ez-accent) 35%,transparent);
  box-shadow:none;
}
.ez-trust-list li:nth-child(2)::before {
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 2h6a2 2 0 0 1 2 2h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2a2 2 0 0 1 2-2Zm0 4h6V4H9v2Zm2 11.17 5.59-5.58L18 13l-7 7-4-4 1.41-1.41L11 17.17Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 2h6a2 2 0 0 1 2 2h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2a2 2 0 0 1 2-2Zm0 4h6V4H9v2Zm2 11.17 5.59-5.58L18 13l-7 7-4-4 1.41-1.41L11 17.17Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.ez-trust-list li:nth-child(3)::before {
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 18a4 4 0 0 1-.45-7.97A6.5 6.5 0 0 1 18 8.5c0 .18-.01.36-.03.53A4.5 4.5 0 0 1 18.5 18H15v-2h3.5a2.5 2.5 0 1 0-.62-4.92l-1.27.32-.02-1.31A4.5 4.5 0 0 0 7.62 9.6l-.16 1.22-1.22-.06A2 2 0 1 0 6 14.75V18Zm5-5h2v3h2l-3 5-3-5h2v-3Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 18a4 4 0 0 1-.45-7.97A6.5 6.5 0 0 1 18 8.5c0 .18-.01.36-.03.53A4.5 4.5 0 0 1 18.5 18H15v-2h3.5a2.5 2.5 0 1 0-.62-4.92l-1.27.32-.02-1.31A4.5 4.5 0 0 0 7.62 9.6l-.16 1.22-1.22-.06A2 2 0 1 0 6 14.75V18Zm5-5h2v3h2l-3 5-3-5h2v-3Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.ez-trust-list li:nth-child(4)::before {
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m12 2 2.1 2.1 2.9-.4.4 2.9L20 8l-1.4 2.6L20 13l-2.6 1.4-.4 2.9-2.9-.4L12 19l-2.1-2.1-2.9.4-.4-2.9L4 13l1.4-2.4L4 8l2.6-1.4.4-2.9 2.9.4L12 2Zm-1 12.17 5.59-5.58L18 10l-7 7-4-4 1.41-1.41L11 14.17Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m12 2 2.1 2.1 2.9-.4.4 2.9L20 8l-1.4 2.6L20 13l-2.6 1.4-.4 2.9-2.9-.4L12 19l-2.1-2.1-2.9.4-.4-2.9L4 13l1.4-2.4L4 8l2.6-1.4.4-2.9 2.9.4L12 2Zm-1 12.17 5.59-5.58L18 10l-7 7-4-4 1.41-1.41L11 14.17Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.ez-trust-list li:nth-child(5)::before {
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h2v2h6V2h2v2h2a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h2V2Zm12 8H5v9a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-9Zm-7 2a4 4 0 1 1 0 8 4 4 0 0 1 0-8Zm1 1h-2v4l3 1 .6-1.6-1.6-.6V13Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h2v2h6V2h2v2h2a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h2V2Zm12 8H5v9a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-9Zm-7 2a4 4 0 1 1 0 8 4 4 0 0 1 0-8Zm1 1h-2v4l3 1 .6-1.6-1.6-.6V13Z'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* GOOGLE REVIEWS — primary outline and halo match the supplied reference. */
.ez-reviews { padding:80px 0; background:var(--ez-bg); }
.ez-review-card {
  width:calc(100% - 40px) !important;
  max-width:844px !important;
  min-height:218px;
  gap:40px;
  padding:40px 48px;
  border:2px solid color-mix(in srgb,var(--ez-primary) 74%,#111);
  border-radius:36px;
  background:#111;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--ez-primary) 8%,transparent),0 0 38px -9px color-mix(in srgb,var(--ez-primary) 62%,transparent),0 24px 55px -30px rgba(0,0,0,.95);
}
.ez-review-score { min-width:138px; }
.ez-review-score strong { font-size:3.9rem; }
.ez-stars { margin-top:.5rem; font-size:1.25rem; letter-spacing:.04em; }
.ez-review-copy { flex:1; padding-left:40px; }
.ez-review-copy .ez-eyebrow { font-size:.72rem; letter-spacing:.24em; }
.ez-review-title {
  margin-top:.65rem;
  font-size:clamp(1.75rem,2.2vw,2.15rem);
  line-height:1.05;
  text-transform:uppercase;
}
.ez-review-copy p:last-child { margin-bottom:0; font-size:.92rem; line-height:1.5; }

/* PROCESS — wide five-card composition and large primary step numbers. */
#process .ez-container { max-width:1320px !important; padding-inline:20px !important; }
#process .ez-section-head { max-width:760px; margin-bottom:56px; }
#process .ez-display { font-size:clamp(2.5rem,4vw,3.25rem); }
#process .ez-lead { font-size:1.12rem; line-height:1.7; }
.ez-process-grid { gap:14px; }
.ez-process-card {
  min-height:322px;
  padding:28px 30px 30px;
  border-radius:22px;
  border-color:rgba(255,255,255,.12);
}
.ez-process-card::after { background:linear-gradient(180deg,rgba(10,10,10,.38) 0%,rgba(10,10,10,.64) 42%,rgba(10,10,10,.95) 100%); }
.ez-process-image { opacity:.78; }
.ez-step {
  font-size:4.25rem;
  font-weight:900;
  color:var(--ez-primary);
  text-shadow:0 0 20px color-mix(in srgb,var(--ez-primary) 55%,transparent);
}
.ez-process-card h3 { margin:30px 0 0; font-size:1.08rem; line-height:1.2; }
.ez-process-card p { margin-top:14px; font-size:.92rem; line-height:1.58; }

/* A recognisable message/WhatsApp-style icon without external dependencies. */
.ez-icon-message .wp-block-button__link::before {
  width:20px;
  height:20px;
  flex-basis:20px;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a9.5 9.5 0 0 0-8.24 14.25L2.5 21.5l5.36-1.2A9.5 9.5 0 1 0 12 2Zm0 17a7.45 7.45 0 0 1-3.8-1.04l-.36-.21-2.44.55.58-2.38-.23-.37A7.5 7.5 0 1 1 12 19Zm4.1-5.63c-.22-.11-1.3-.64-1.5-.71-.2-.08-.35-.11-.5.11-.14.22-.57.71-.7.86-.13.15-.26.17-.48.06-.22-.11-.93-.34-1.77-1.1a6.7 6.7 0 0 1-1.23-1.53c-.13-.22-.01-.34.1-.45.1-.1.22-.26.33-.39.11-.13.15-.22.22-.37.08-.15.04-.28-.02-.39-.06-.11-.5-1.2-.68-1.65-.18-.43-.36-.37-.5-.38h-.42c-.15 0-.39.06-.59.28-.2.22-.78.76-.78 1.86 0 1.1.8 2.16.91 2.31.11.25 1.58 2.42 3.83 3.39.54.23.95.37 1.28.47.54.17 1.03.15 1.42.09.43-.07 1.3-.53 1.49-1.04.18-.51.18-.95.13-1.04-.06-.1-.2-.15-.42-.26Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a9.5 9.5 0 0 0-8.24 14.25L2.5 21.5l5.36-1.2A9.5 9.5 0 1 0 12 2Zm0 17a7.45 7.45 0 0 1-3.8-1.04l-.36-.21-2.44.55.58-2.38-.23-.37A7.5 7.5 0 1 1 12 19Zm4.1-5.63c-.22-.11-1.3-.64-1.5-.71-.2-.08-.35-.11-.5.11-.14.22-.57.71-.7.86-.13.15-.26.17-.48.06-.22-.11-.93-.34-1.77-1.1a6.7 6.7 0 0 1-1.23-1.53c-.13-.22-.01-.34.1-.45.1-.1.22-.26.33-.39.11-.13.15-.22.22-.37.08-.15.04-.28-.02-.39-.06-.11-.5-1.2-.68-1.65-.18-.43-.36-.37-.5-.38h-.42c-.15 0-.39.06-.59.28-.2.22-.78.76-.78 1.86 0 1.1.8 2.16.91 2.31.11.25 1.58 2.42 3.83 3.39.54.23.95.37 1.28.47.54.17 1.03.15 1.42.09.43-.07 1.3-.53 1.49-1.04.18-.51.18-.95.13-1.04-.06-.1-.2-.15-.42-.26Z'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* Configurator is now presentation-only: colour + contrast. Trade comes from URL. */
.ez-config-current { display:none; margin:18px 0 0; padding:11px 13px; border:1px solid var(--ez-border); border-radius:12px; background:var(--ez-soft); color:var(--ez-muted); font-size:.73rem; line-height:1.45; }
.ez-config-current strong { color:var(--ez-fg); }

html[data-ez-mode="light"] .ez-review-card { background:#fff; }
html[data-ez-mode="light"] .ez-review-title { color:var(--ez-fg); }
html[data-ez-mode="light"] .ez-trust-list li { color:#fff; background:rgba(10,10,10,.66); }

@media (max-width:1024px) {
  #process .ez-container { max-width:1320px !important; padding-inline:20px !important; }
  #process .ez-section-head { margin-bottom:48px; }
  .ez-process-card { min-height:300px; }
}

@media (max-width:782px) {
  .ez-hero .ez-buttons .wp-block-button__link { min-width:0; min-height:54px; padding-inline:22px; font-size:.88rem; }
  .ez-trust-list { gap:9px; margin-top:30px !important; }
  .ez-trust-list li { min-height:56px; padding:11px 16px 11px 58px; font-size:.84rem; }
  .ez-trust-list li::before { left:19px; width:18px; height:18px; }
  .ez-trust-list li:first-child { padding-left:121px; }
  .ez-trust-list li:first-child::before { width:82px; font-size:.9rem; }
  .ez-reviews { padding:58px 0; }
  .ez-review-card { width:calc(100% - 36px) !important; min-height:0; padding:30px 24px; border-radius:26px; gap:24px; }
  .ez-review-score { min-width:0; }
  .ez-review-score strong { font-size:3.5rem; }
  .ez-review-copy { width:100%; padding:24px 0 0; }
  .ez-review-title { font-size:1.65rem; }
  #process .ez-container { padding-inline:18px !important; }
  #process .ez-section-head { margin-bottom:36px; }
  #process .ez-display { font-size:clamp(2.25rem,11vw,3rem); }
  .ez-process-grid { gap:14px; }
  .ez-process-card { min-height:330px; padding:26px 26px 28px; }
  .ez-step { font-size:3.65rem; }
  .ez-process-card h3 { font-size:1.16rem; }
  .ez-process-card p { font-size:.94rem; }
}


/* v1.4 specificity guards for alternate trades / light mode. */
html[data-ez-trade]:not([data-ez-trade="roofing"]) .ez-process-card { min-height:322px; }
html[data-ez-trade]:not([data-ez-trade="roofing"]) .ez-process-card h3 { margin-top:30px; }
html[data-ez-mode="light"] .ez-review-card {
  border-color:color-mix(in srgb,var(--ez-primary) 74%,#aaa);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--ez-primary) 8%,transparent),0 0 38px -12px color-mix(in srgb,var(--ez-primary) 50%,transparent),0 24px 55px -30px rgba(20,28,34,.3);
}
@media (max-width:782px) {
  html[data-ez-trade]:not([data-ez-trade="roofing"]) .ez-process-card { min-height:300px; }
  html[data-ez-trade]:not([data-ez-trade="roofing"]) .ez-process-card h3 { margin-top:28px; }
}

/* ==========================================================
   v1.5 mobile rebuild + fixed mobile configurator
   ========================================================== */

/* All highlighted copy in the Why section follows the selected brand colour. */
#why-us .ez-eyebrow,
#why-us .ez-primary {
  color:var(--ez-primary-text,var(--ez-primary)) !important;
}
#why-us .ez-primary {
  text-shadow:0 0 18px color-mix(in srgb,var(--ez-primary) 34%,transparent) !important;
}

/* Fresh installs use this Gutenberg group; upgrades with a customised old
   footer are also covered because theme.js creates the same bar when absent. */
.ez-mobile-configbar { display:none; }
.editor-styles-wrapper .ez-mobile-configbar { display:none !important; }

@media (max-width:1180px) {
  html { scroll-padding-top:78px; }
  body { padding-bottom:82px !important; }

  /* Keep the header physically pinned to the viewport and never allow the
     desktop navigation row to overflow on tablet/mobile widths. */
  .ez-site-header {
    position:fixed !important;
    top:0 !important;
    right:0 !important;
    bottom:auto !important;
    left:0 !important;
    width:100% !important;
    transform:none !important;
  }
  .ez-header-inner {
    min-height:66px !important;
    padding-inline:16px !important;
    gap:12px !important;
  }
  .ez-brand { min-width:0; gap:10px; }
  .ez-brand-mark { width:36px; height:36px; flex-basis:36px; border-radius:10px; font-size:.78rem; }
  .ez-brand-text { min-width:0; }
  .ez-brand-title { max-width:190px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.78rem; letter-spacing:.08em; }
  .ez-brand-tagline { max-width:190px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.43rem; letter-spacing:.17em; }
  .ez-header-actions { display:none !important; }
  .ez-header-nav { flex:0 0 auto !important; width:auto !important; margin-left:auto !important; justify-content:flex-end !important; }

  /* WordPress only switches its Navigation block at a narrower core
     breakpoint. Force the native Gutenberg mobile navigation from 1024px so
     the desktop links can never run off-screen. */
  .ez-header-nav .wp-block-navigation__responsive-container-open {
    display:flex !important;
    width:42px;
    height:42px;
    align-items:center;
    justify-content:center;
    margin:0 !important;
    padding:0 !important;
    border:1px solid color-mix(in srgb,var(--ez-primary) 28%,var(--ez-border));
    border-radius:12px;
    color:var(--ez-fg) !important;
    background:var(--ez-glass);
    -webkit-backdrop-filter:blur(14px) saturate(135%);
    backdrop-filter:blur(14px) saturate(135%);
    box-shadow:0 0 22px -16px var(--ez-primary);
  }
  .ez-header-nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display:none !important;
  }
  .ez-header-nav .wp-block-navigation__responsive-container.is-menu-open {
    display:flex !important;
    position:fixed !important;
    inset:0 !important;
    z-index:99999 !important;
    width:100vw !important;
    height:100dvh !important;
    padding:92px 24px 30px !important;
    overflow:auto !important;
    color:var(--ez-fg) !important;
    background:color-mix(in srgb,var(--ez-bg) 94%,transparent) !important;
    -webkit-backdrop-filter:blur(28px) saturate(150%);
    backdrop-filter:blur(28px) saturate(150%);
  }
  .ez-header-nav .wp-block-navigation__responsive-container-close {
    top:16px !important;
    right:16px !important;
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--ez-border);
    border-radius:12px;
    color:var(--ez-fg) !important;
    background:var(--ez-soft);
  }
  .ez-header-nav .wp-block-navigation__responsive-container-content {
    width:100%;
    padding:0 !important;
    min-height:100%;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
  }
  .ez-header-nav .wp-block-navigation__container {
    width:100%;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
  }
  .ez-header-nav .wp-block-navigation-item {
    width:100%;
    border-bottom:1px solid var(--ez-border);
  }
  .ez-header-nav .wp-block-navigation-item__content {
    width:100%;
    padding:22px 0 !important;
    font-family:"Urbanist",sans-serif;
    font-size:clamp(1.65rem,5.2vw,2.25rem) !important;
    font-weight:800;
    color:var(--ez-fg) !important;
  }
  .ez-header-nav .wp-block-navigation-item__content::after { display:none; }

  /* Tablet/mobile hero must be content-height. The previous 92vh hero was the
     source of the large empty light-mode area on ~800–1000px devices. */
  .ez-hero {
    min-height:0 !important;
    height:auto !important;
    align-items:flex-end !important;
    padding:108px 0 58px !important;
  }
  .ez-hero-content { width:100% !important; padding-inline:18px !important; }
  .ez-hero .ez-display-lg {
    max-width:760px;
    font-size:clamp(3rem,8vw,5.1rem);
    line-height:.98;
  }
  .ez-hero-sub { max-width:650px; font-size:1rem; line-height:1.58; }
  .ez-hero .ez-buttons { margin-top:24px; }
  .ez-hero .ez-buttons .wp-block-button__link { min-height:54px; }
  .ez-trust-list { max-width:760px; margin-top:28px !important; }

  /* Old contact CTA is retired. The mobile bar is now the configurator. */
  .ez-mobile-cta { display:none !important; }
  .ez-config-trigger,
  .ez-configurator { display:none !important; }

  .ez-mobile-configbar {
    display:block !important;
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:10020;
    width:100%;
    margin:0 !important;
    padding:8px 12px max(8px,env(safe-area-inset-bottom));
    border-top:1px solid color-mix(in srgb,var(--ez-primary) 22%,var(--ez-border));
    color:var(--ez-fg);
    background:color-mix(in srgb,var(--ez-card) 91%,transparent);
    -webkit-backdrop-filter:blur(24px) saturate(155%);
    backdrop-filter:blur(24px) saturate(155%);
    box-shadow:0 -18px 48px -32px rgba(0,0,0,.72),0 -8px 28px -24px var(--ez-primary);
  }
  .ez-mobile-config-inner {
    width:min(100%,760px) !important;
    min-height:58px;
    margin:0 auto !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
  }
  .ez-mobile-colour-control,
  .ez-mobile-mode-control { min-width:0; margin:0 !important; }
  .ez-mobile-config-label {
    margin:0 0 5px !important;
    color:var(--ez-muted);
    font-size:.55rem;
    font-weight:800;
    line-height:1;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  .ez-mobile-config-colours,
  .ez-mobile-config-modes {
    margin:0 !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center;
    gap:7px !important;
  }
  .ez-mobile-config-colours .wp-block-button,
  .ez-mobile-config-modes .wp-block-button { margin:0 !important; }
  .ez-mobile-colour-swatch,
  .ez-mobile-colour-swatch .wp-block-button__link,
  .ez-mobile-colour-swatch > a {
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    min-height:30px !important;
    margin:0 !important;
    padding:0 !important;
    display:block !important;
    overflow:hidden;
    border-radius:50% !important;
    font-size:0 !important;
    line-height:0 !important;
    text-indent:-9999px;
    border:2px solid transparent !important;
    box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--ez-card) 90%,transparent),0 0 0 1px var(--ez-border);
    transition:transform .18s ease,box-shadow .18s ease;
  }
  .ez-mobile-colour-green .wp-block-button__link,.ez-mobile-colour-green > a { background:#2cff00 !important; }
  .ez-mobile-colour-orange .wp-block-button__link,.ez-mobile-colour-orange > a { background:#ff7a00 !important; }
  .ez-mobile-colour-red .wp-block-button__link,.ez-mobile-colour-red > a { background:#ff355d !important; }
  .ez-mobile-colour-blue .wp-block-button__link,.ez-mobile-colour-blue > a { background:#2d8cff !important; }
  .ez-mobile-colour-purple .wp-block-button__link,.ez-mobile-colour-purple > a { background:#9d55ff !important; }
  .ez-mobile-colour-swatch.is-active .wp-block-button__link,
  .ez-mobile-colour-swatch.is-active > a {
    transform:scale(1.08);
    box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--ez-card) 88%,transparent),0 0 0 2px var(--ez-fg),0 0 15px -4px var(--ez-primary) !important;
  }
  .ez-mobile-config-modes {
    gap:0 !important;
    padding:3px;
    border:1px solid var(--ez-border);
    border-radius:999px;
    background:var(--ez-soft);
  }
  .ez-mobile-mode-btn .wp-block-button__link,
  .ez-mobile-mode-btn > a {
    min-width:58px;
    min-height:32px;
    padding:0 10px !important;
    display:flex !important;
    align-items:center;
    justify-content:center;
    border:0 !important;
    border-radius:999px !important;
    color:var(--ez-muted) !important;
    background:transparent !important;
    box-shadow:none !important;
    font:800 .68rem/1 "Epilogue",sans-serif !important;
    text-decoration:none !important;
  }
  .ez-mobile-mode-btn.is-active .wp-block-button__link,
  .ez-mobile-mode-btn.is-active > a {
    color:var(--ez-on-primary) !important;
    background:var(--ez-primary) !important;
    box-shadow:0 0 16px -7px var(--ez-primary) !important;
  }
  .ez-site-footer { padding-bottom:110px !important; }
}

@media (max-width:782px) {
  .ez-container { padding-inline:16px !important; }
  .ez-hero { padding:96px 0 48px !important; }
  .ez-hero-content { padding-inline:16px !important; }
  .ez-hero .ez-eyebrow { font-size:.62rem; letter-spacing:.16em; }
  .ez-hero .ez-display-lg { font-size:clamp(2.55rem,12vw,4rem); }
  .ez-hero-sub { margin-top:18px; font-size:.94rem; line-height:1.52; }
  .ez-hero .ez-buttons { width:100%; flex-direction:column; align-items:stretch; }
  .ez-hero .ez-buttons .wp-block-button { width:100%; }
  .ez-hero .ez-buttons .wp-block-button__link { width:100%; min-width:0 !important; }
  .ez-trust-list { grid-template-columns:1fr !important; gap:9px !important; }
  .ez-review-card { width:calc(100% - 32px) !important; }
  #process .ez-container { padding-inline:16px !important; }
  .ez-process-grid { grid-template-columns:1fr !important; }
  .ez-process-card { min-height:300px !important; }
}

@media (max-width:520px) {
  body { padding-bottom:76px !important; }
  .ez-header-inner { min-height:62px !important; padding-inline:14px !important; }
  .ez-brand-title { max-width:170px; font-size:.73rem; }
  .ez-brand-tagline { display:none; }
  .ez-hero { padding-top:88px !important; }
  .ez-mobile-configbar { padding-inline:8px; }
  .ez-mobile-config-inner { min-height:54px; gap:8px; }
  .ez-mobile-config-label { margin-bottom:4px !important; font-size:.5rem; }
  .ez-mobile-config-colours { gap:5px !important; }
  .ez-mobile-colour-swatch,
  .ez-mobile-colour-swatch .wp-block-button__link,
  .ez-mobile-colour-swatch > a { width:26px !important; height:26px !important; min-width:26px !important; min-height:26px !important; }
  .ez-mobile-mode-btn .wp-block-button__link,
  .ez-mobile-mode-btn > a { min-width:48px; min-height:28px; padding-inline:7px !important; font-size:.62rem !important; }
}

@media (max-width:360px) {
  .ez-mobile-config-label { display:none; }
  .ez-mobile-config-inner { min-height:44px; }
  .ez-mobile-colour-swatch,
  .ez-mobile-colour-swatch .wp-block-button__link,
  .ez-mobile-colour-swatch > a { width:24px !important; height:24px !important; min-width:24px !important; min-height:24px !important; }
  .ez-mobile-mode-btn .wp-block-button__link,
  .ez-mobile-mode-btn > a { min-width:44px; }
}

/* Logged-in WordPress admin bar should not sit on top of the fixed header. */
body.admin-bar .ez-site-header { top:32px !important; }
@media (max-width:782px) {
  body.admin-bar .ez-site-header { top:46px !important; }
}

@media (max-width:1024px) {
  html[data-ez-mode="light"][data-ez-trade="roofing"] .ez-hero::before {
    background:linear-gradient(180deg,rgba(248,249,250,.82) 0%,rgba(248,249,250,.64) 48%,rgba(248,249,250,.82) 100%);
  }
}


/* ==========================================================
   v1.6 alignment, brand-colour and navigation corrections
   ========================================================== */
.ez-eyebrow,
.ez-accent,
.ez-stars,
.ez-trust-list li:first-child::before {
  color:var(--ez-primary-text,var(--ez-primary)) !important;
}
.ez-trust-list li:first-child::before {
  text-shadow:0 0 14px color-mix(in srgb,var(--ez-primary) 42%,transparent) !important;
}

#process .ez-container {
  width:100% !important;
  max-width:1320px !important;
  margin-inline:auto !important;
  padding-inline:20px !important;
}
.ez-step {
  font-size:4.25rem !important;
  line-height:.82 !important;
  font-weight:900 !important;
  color:var(--ez-primary) !important;
  letter-spacing:-.055em;
  text-shadow:0 0 24px color-mix(in srgb,var(--ez-primary) 58%,transparent) !important;
}

@media (min-width:1181px) {
  .ez-header-inner { gap:20px !important; }
  .ez-header-nav { flex:1 1 auto !important; min-width:0 !important; }
  .ez-header-nav .wp-block-navigation__responsive-container { width:100%; }
  .ez-header-nav .wp-block-navigation__responsive-container-content { width:100%; justify-content:center !important; }
  .ez-header-nav .wp-block-navigation__container {
    width:auto !important;
    flex-wrap:nowrap !important;
    justify-content:center !important;
    gap:clamp(20px,1.7vw,30px) !important;
  }
  .ez-header-nav .wp-block-navigation-item { width:auto !important; flex:0 0 auto !important; }
  .ez-header-nav .wp-block-navigation-item__content { white-space:nowrap; }
  .ez-header-actions { flex:0 0 auto !important; gap:8px !important; }
  .ez-header-actions .wp-block-button__link { min-height:42px; padding-inline:16px; font-size:.74rem; }
}

.ez-mobile-menu-actions { display:none; }

@media (max-width:1180px) {
  .ez-header-nav .wp-block-navigation__responsive-container.is-menu-open {
    background:color-mix(in srgb,var(--ez-bg) 97%,transparent) !important;
    -webkit-backdrop-filter:blur(30px) saturate(145%) !important;
    backdrop-filter:blur(30px) saturate(145%) !important;
  }
  .ez-header-nav .wp-block-navigation__responsive-container-content {
    min-height:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .ez-header-nav .wp-block-navigation__container {
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
  }
  .ez-header-nav .wp-block-navigation-item {
    width:100% !important;
    border-bottom:1px solid var(--ez-border) !important;
  }
  .ez-header-nav .wp-block-navigation-item__content {
    width:100% !important;
    display:block !important;
    padding:22px 0 !important;
    font-family:"Urbanist",sans-serif !important;
    font-size:clamp(1.65rem,5.2vw,2.25rem) !important;
    line-height:1.08 !important;
    font-weight:800 !important;
    color:var(--ez-fg) !important;
  }
  .ez-mobile-menu-actions {
    width:100%;
    margin-top:50px;
    padding-bottom:20px;
    display:grid;
    gap:14px;
  }
  .ez-mobile-menu-actions a {
    min-height:60px;
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:11px;
    padding:12px 18px;
    border:1px solid var(--ez-border);
    border-radius:999px;
    color:var(--ez-fg);
    background:transparent;
    font-size:1rem;
    line-height:1.2;
    font-weight:800;
    text-decoration:none;
  }
  .ez-mobile-menu-actions .ez-mobile-menu-quote {
    border-color:var(--ez-primary);
    color:var(--ez-on-primary);
    background:var(--ez-primary);
    box-shadow:0 0 26px -11px var(--ez-primary);
  }
  .ez-mobile-menu-actions .ez-mobile-menu-message::before,
  .ez-mobile-menu-actions .ez-mobile-menu-phone::before {
    content:"";
    width:22px;
    height:22px;
    flex:0 0 22px;
    background:currentColor;
  }
  .ez-mobile-menu-actions .ez-mobile-menu-message::before {
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a9.5 9.5 0 0 0-8.24 14.25L2.5 21.5l5.36-1.2A9.5 9.5 0 1 0 12 2Zm0 17a7.45 7.45 0 0 1-3.8-1.04l-.36-.21-2.44.55.58-2.38-.23-.37A7.5 7.5 0 1 1 12 19Z'/%3E%3C/svg%3E") center/contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a9.5 9.5 0 0 0-8.24 14.25L2.5 21.5l5.36-1.2A9.5 9.5 0 1 0 12 2Zm0 17a7.45 7.45 0 0 1-3.8-1.04l-.36-.21-2.44.55.58-2.38-.23-.37A7.5 7.5 0 1 1 12 19Z'/%3E%3C/svg%3E") center/contain no-repeat;
  }
  .ez-mobile-menu-actions .ez-mobile-menu-phone::before {
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.4 0 .8-.2 1z'/%3E%3C/svg%3E") center/contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.4 0 .8-.2 1z'/%3E%3C/svg%3E") center/contain no-repeat;
  }
  html[data-ez-mode="light"] .ez-mobile-menu-actions a { color:var(--ez-fg); border-color:var(--ez-border); }
  html[data-ez-mode="light"] .ez-mobile-menu-actions .ez-mobile-menu-quote { color:var(--ez-on-primary); border-color:var(--ez-primary); }
}

@media (max-width:782px) {
  #process .ez-container { padding-inline:16px !important; }
  .ez-step { font-size:3.75rem !important; }
}

/* v1.7 — real image sets for Painting and Plumbing.
   These two URL presets now use project photography throughout the same visual
   slots as Roofing. Trades without an image set keep the abstract treatment. */
html[data-ez-trade][data-ez-trade="painting"] .ez-hero-media,
html[data-ez-trade][data-ez-trade="painting"] .ez-service-image,
html[data-ez-trade][data-ez-trade="painting"] .ez-why-image-wrap,
html[data-ez-trade][data-ez-trade="painting"] .ez-feature-image,
html[data-ez-trade][data-ez-trade="painting"] .ez-process-image,
html[data-ez-trade][data-ez-trade="painting"] .ez-final-media,
html[data-ez-trade][data-ez-trade="plumbing"] .ez-hero-media,
html[data-ez-trade][data-ez-trade="plumbing"] .ez-service-image,
html[data-ez-trade][data-ez-trade="plumbing"] .ez-why-image-wrap,
html[data-ez-trade][data-ez-trade="plumbing"] .ez-feature-image,
html[data-ez-trade][data-ez-trade="plumbing"] .ez-process-image,
html[data-ez-trade][data-ez-trade="plumbing"] .ez-final-media { display:block !important; }

html[data-ez-trade][data-ez-trade="painting"] #why-us .ez-split,
html[data-ez-trade][data-ez-trade="plumbing"] #why-us .ez-split {
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
}

html[data-ez-trade][data-ez-trade="painting"] .ez-service-card,
html[data-ez-trade][data-ez-trade="plumbing"] .ez-service-card { padding-top:0; }
html[data-ez-trade][data-ez-trade="painting"] .ez-service-card::before,
html[data-ez-trade][data-ez-trade="plumbing"] .ez-service-card::before { display:none; }

html[data-ez-trade][data-ez-trade="painting"] .ez-feature-card,
html[data-ez-trade][data-ez-trade="painting"] .ez-process-card,
html[data-ez-trade][data-ez-trade="plumbing"] .ez-feature-card,
html[data-ez-trade][data-ez-trade="plumbing"] .ez-process-card { background:#111; }
html[data-ez-trade][data-ez-trade="painting"] .ez-process-card h3,
html[data-ez-trade][data-ez-trade="plumbing"] .ez-process-card h3 { margin-top:30px; }

html[data-ez-mode="light"][data-ez-trade][data-ez-trade="painting"] .ez-feature-card,
html[data-ez-mode="light"][data-ez-trade][data-ez-trade="painting"] .ez-process-card,
html[data-ez-mode="light"][data-ez-trade][data-ez-trade="plumbing"] .ez-feature-card,
html[data-ez-mode="light"][data-ez-trade][data-ez-trade="plumbing"] .ez-process-card { background:#111; }
html[data-ez-mode="light"][data-ez-trade][data-ez-trade="painting"] .ez-feature-card h3,
html[data-ez-mode="light"][data-ez-trade][data-ez-trade="painting"] .ez-process-card h3,
html[data-ez-mode="light"][data-ez-trade][data-ez-trade="plumbing"] .ez-feature-card h3,
html[data-ez-mode="light"][data-ez-trade][data-ez-trade="plumbing"] .ez-process-card h3 { color:#fff; }
html[data-ez-mode="light"][data-ez-trade][data-ez-trade="painting"] .ez-feature-card p,
html[data-ez-mode="light"][data-ez-trade][data-ez-trade="painting"] .ez-process-card p,
html[data-ez-mode="light"][data-ez-trade][data-ez-trade="plumbing"] .ez-feature-card p,
html[data-ez-mode="light"][data-ez-trade][data-ez-trade="plumbing"] .ez-process-card p { color:rgba(255,255,255,.82); }

@media (max-width:900px) {
  html[data-ez-trade][data-ez-trade="painting"] #why-us .ez-split,
  html[data-ez-trade][data-ez-trade="plumbing"] #why-us .ez-split { grid-template-columns:1fr; }
}


/* ==========================================================
   v1.8 visual consistency fixes
   1) transformation hover feedback
   2) stronger black photo overlays + aligned card content
   3) One Crew heading contrast
   4) feature-card icon badges
   5) hero trust pills invert with light/dark template
   ========================================================== */

/* 1. Project / transformation cards now have deliberate hover feedback. */
.ez-compare-card {
  height:100%;
  padding:0 0 20px;
  border:1px solid transparent;
  border-radius:calc(var(--ez-radius-lg) + 2px);
  transition:transform .3s var(--ez-ease), border-color .3s var(--ez-ease), box-shadow .3s var(--ez-ease), background .3s var(--ez-ease);
}
.ez-compare-card .ez-compare-media {
  transition:transform .35s var(--ez-ease), border-color .35s var(--ez-ease), box-shadow .35s var(--ez-ease);
}
.ez-compare-card .ez-compare-copy { padding-inline:0; }
@media (hover:hover) and (pointer:fine) {
  .ez-compare-card:hover {
    transform:translateY(-6px);
    border-color:color-mix(in srgb,var(--ez-primary) 34%,var(--ez-border));
    background:color-mix(in srgb,var(--ez-primary) 3.5%,transparent);
    box-shadow:0 24px 55px -34px rgba(0,0,0,.72),0 0 34px -24px var(--ez-primary);
  }
  .ez-compare-card:hover .ez-compare-media {
    border-color:color-mix(in srgb,var(--ez-primary) 48%,var(--ez-border));
    box-shadow:var(--ez-shadow-lift),0 0 34px -23px var(--ez-primary);
  }
}

/* 2. Photo-backed Why/Process cards always use a dark readability overlay.
   Keeping this dark in light mode is intentional: these are photographic cards,
   not light-surface content cards. */
.ez-feature-grid { grid-auto-rows:1fr; }
.ez-feature-card {
  height:100%;
  min-height:250px;
  justify-content:flex-end;
  background:#0a0a0a !important;
}
.ez-feature-card::after {
  background:linear-gradient(180deg,rgba(0,0,0,.40) 0%,rgba(0,0,0,.64) 42%,rgba(0,0,0,.96) 100%) !important;
}
.ez-feature-image { opacity:.88 !important; }
.ez-feature-card h3 { color:#fff !important; }
.ez-feature-card p {
  min-height:3.2em;
  color:rgba(255,255,255,.82) !important;
}

.ez-process-grid { align-items:stretch; }
.ez-process-card {
  height:100%;
  min-height:322px !important;
  display:grid !important;
  grid-template-rows:auto 1fr auto minmax(5.7em,auto);
  align-content:stretch;
  background:#0a0a0a !important;
}
.ez-process-card::after {
  background:linear-gradient(180deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,.62) 38%,rgba(0,0,0,.96) 100%) !important;
}
.ez-process-image { opacity:.9 !important; }
.ez-process-card .ez-step {
  grid-row:1;
  align-self:start;
  margin:0 !important;
}
.ez-process-card h3 {
  grid-row:3;
  align-self:end;
  margin:24px 0 0 !important;
  color:#fff !important;
}
.ez-process-card > p:last-child {
  grid-row:4;
  margin:12px 0 0 !important;
  color:rgba(255,255,255,.84) !important;
}

/* 3. Keep the small image-overlay heading visible in both themes. */
#why-us .ez-one-crew {
  background:rgba(5,5,5,.84) !important;
  border-color:rgba(255,255,255,.14) !important;
  box-shadow:0 18px 44px -30px rgba(0,0,0,.9);
}
#why-us .ez-one-crew .ez-one-crew-title {
  color:var(--ez-primary) !important;
  opacity:1 !important;
  text-shadow:0 0 16px color-mix(in srgb,var(--ez-primary) 45%,transparent);
}
#why-us .ez-one-crew > p { color:rgba(255,255,255,.82) !important; }

/* 4. Feature icons: injected as decorative spans by theme.js so Gutenberg
   content remains normal Heading/Paragraph/Image blocks. */
.ez-feature-icon {
  position:relative;
  z-index:2;
  width:48px;
  height:48px;
  margin:0 0 18px;
  display:grid;
  place-items:center;
  flex:0 0 48px;
  border:1px solid color-mix(in srgb,var(--ez-primary) 62%,transparent);
  border-radius:14px;
  background:color-mix(in srgb,var(--ez-primary) 15%,rgba(0,0,0,.58));
  box-shadow:inset 0 0 18px color-mix(in srgb,var(--ez-primary) 8%,transparent),0 0 24px -14px var(--ez-primary);
}
.ez-feature-icon::before {
  content:"";
  width:23px;
  height:23px;
  display:block;
  background:var(--ez-primary);
}
.ez-feature-icon-1::before {
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M13 2 3 14h8l-1 8 11-13h-8l0-7Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M13 2 3 14h8l-1 8 11-13h-8l0-7Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.ez-feature-icon-2::before {
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m12 2 10 5-10 5L2 7l10-5Zm-8.6 9L12 15.3 20.6 11 22 12l-10 5-10-5 1.4-1Zm0 5L12 20.3 20.6 16 22 17l-10 5-10-5 1.4-1Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m12 2 10 5-10 5L2 7l10-5Zm-8.6 9L12 15.3 20.6 11 22 12l-10 5-10-5 1.4-1Zm0 5L12 20.3 20.6 16 22 17l-10 5-10-5 1.4-1Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.ez-feature-icon-3::before {
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H8l-5 4V6a2 2 0 0 1 2-2Zm3 5h10V7H7v2Zm0 4h7v-2H7v2Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H8l-5 4V6a2 2 0 0 1 2-2Zm3 5h10V7H7v2Zm0 4h7v-2H7v2Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.ez-feature-icon-4::before {
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m12 2 8 3v6c0 5.1-3.4 9.7-8 11-4.6-1.3-8-5.9-8-11V5l8-3Zm-1 13.2 5.6-5.6-1.4-1.4-4.2 4.2-2.2-2.2-1.4 1.4 3.6 3.6Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m12 2 8 3v6c0 5.1-3.4 9.7-8 11-4.6-1.3-8-5.9-8-11V5l8-3Zm-1 13.2 5.6-5.6-1.4-1.4-4.2 4.2-2.2-2.2-1.4 1.4 3.6 3.6Z'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* Retire the old dot once real icon badges are present. */
.ez-feature-card.ez-has-feature-icon::before { display:none !important; }

/* 5. Hero trust boxes now truly invert with template mode. */
.ez-trust-list li {
  border-color:rgba(255,255,255,.13);
  color:rgba(255,255,255,.9);
  background:rgba(7,7,7,.58);
}
html[data-ez-mode="light"] .ez-trust-list li {
  color:#171a1d !important;
  background:rgba(255,255,255,.78) !important;
  border-color:rgba(20,26,30,.14) !important;
  box-shadow:0 12px 32px -28px rgba(16,22,28,.48),0 0 18px -14px var(--ez-primary);
}
html[data-ez-mode="light"] .ez-trust-list li::before {
  background:color-mix(in srgb,var(--ez-primary) 12%,white) !important;
  color:var(--ez-primary-text,var(--ez-primary)) !important;
}
html[data-ez-mode="light"] .ez-trust-list li:first-child::before {
  background:transparent !important;
  color:var(--ez-primary-text,var(--ez-primary)) !important;
}

@media (max-width:782px) {
  .ez-feature-card { min-height:235px; }
  .ez-feature-card p { min-height:0; }
  .ez-process-card {
    min-height:300px !important;
    grid-template-rows:auto 1fr auto auto;
  }
  .ez-process-card > p:last-child { min-height:0; }
}

/* ==========================================================
   v1.9 precision fixes
   1) larger One Crew title
   2) correct accent icon contrast in the light template
   3) phone icon on inline call links
   4) transformation cards: no hover + 550px fixed desktop height
   5) shared theme-aware fade-up gradient token
   ========================================================== */

/* 5. One source of truth for photo fade-up overlays. */
:root {
  --gradient-fade-up: linear-gradient(180deg, hsl(0 0% 4% / 0) 0%, hsl(0 0% 4% / .95) 100%);
}
html[data-ez-mode="light"] {
  --gradient-fade-up: linear-gradient(180deg, hsl(0 0% 100% / 0) 0%, hsl(0 0% 100% / .95) 100%);
}

/* Use the requested fade consistently on hero/photo-backed cards. */
.ez-hero::after,
.ez-feature-card::after,
.ez-process-card::after {
  background:var(--gradient-fade-up) !important;
}

/* Light mode uses the white fade, so card typography also switches to the
   dark theme foreground instead of retaining the old forced-white rules. */
html[data-ez-mode="light"] .ez-feature-card h3,
html[data-ez-mode="light"] .ez-process-card h3,
html[data-ez-mode="light"][data-ez-trade="painting"] .ez-feature-card h3,
html[data-ez-mode="light"][data-ez-trade="painting"] .ez-process-card h3,
html[data-ez-mode="light"][data-ez-trade="plumbing"] .ez-feature-card h3,
html[data-ez-mode="light"][data-ez-trade="plumbing"] .ez-process-card h3 {
  color:var(--ez-fg) !important;
  text-shadow:0 1px 0 rgba(255,255,255,.35);
}
html[data-ez-mode="light"] .ez-feature-card p,
html[data-ez-mode="light"] .ez-process-card p,
html[data-ez-mode="light"][data-ez-trade="painting"] .ez-feature-card p,
html[data-ez-mode="light"][data-ez-trade="painting"] .ez-process-card p,
html[data-ez-mode="light"][data-ez-trade="plumbing"] .ez-feature-card p,
html[data-ez-mode="light"][data-ez-trade="plumbing"] .ez-process-card p {
  color:var(--ez-muted) !important;
}

/* 1. ONE CREW now reads as a real sub-section heading rather than an eyebrow. */
#why-us .ez-one-crew .ez-one-crew-title {
  font-size:clamp(1.75rem,2.6vw,2.3rem) !important;
  line-height:1.05 !important;
  letter-spacing:.04em !important;
  font-weight:900 !important;
}
#why-us .ez-one-crew > p {
  margin-top:10px !important;
  font-size:.84rem !important;
  line-height:1.55 !important;
}

/* 2. On a white/light hero surface the masked trust icons need the darker
   accessible accent value, not a pale colour-mix against white. */
html[data-ez-mode="light"] .ez-trust-list li:not(:first-child)::before {
  background:var(--ez-primary-text,var(--ez-primary)) !important;
  color:var(--ez-primary-text,var(--ez-primary)) !important;
  box-shadow:0 0 16px -5px color-mix(in srgb,var(--ez-primary-text,var(--ez-primary)) 55%,transparent) !important;
}
html[data-ez-mode="light"] .ez-trust-list li:first-child::before {
  background:none !important;
  color:var(--ez-primary-text,var(--ez-primary)) !important;
  text-shadow:0 0 12px color-mix(in srgb,var(--ez-primary-text,var(--ez-primary)) 28%,transparent) !important;
}

/* 3. Inline call prompt now carries a proper phone glyph in both hero/final CTA. */
.ez-call-link a {
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.ez-call-link a::before {
  content:"";
  width:16px;
  height:16px;
  flex:0 0 16px;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.4 0 .8-.2 1z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.4 0 .8-.2 1z'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* 4. Transformation cards are intentionally static. The before/after slider is
   the interaction; the outer card itself must never lift/glow on hover. */
.ez-compare-card,
.ez-compare-card:hover {
  height:550px !important;
  min-height:550px !important;
  max-height:550px !important;
  padding:0 !important;
  gap:16px !important;
  overflow:hidden;
  border-color:transparent !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
  transition:none !important;
}
.ez-compare-card .ez-compare-media,
.ez-compare-card:hover .ez-compare-media {
  height:355px !important;
  min-height:355px !important;
  max-height:355px !important;
  flex:0 0 355px !important;
  aspect-ratio:auto !important;
  transform:none !important;
  border-color:var(--ez-border) !important;
  box-shadow:var(--ez-shadow-lift) !important;
  transition:none !important;
}
.ez-compare-card .ez-compare-copy {
  min-height:0;
  flex:1 1 auto;
  overflow:hidden;
}
.ez-compare-card:hover .ez-compare-copy,
.ez-compare-card:hover .ez-tags,
.ez-compare-card:hover .ez-card-title,
.ez-compare-card:hover .ez-card-copy {
  transform:none !important;
  filter:none !important;
}

@media (max-width:782px) {
  /* Keep the same 550px cap on phones, while allocating a little more of it
     to the image because the card width is narrower. */
  .ez-compare-card,
  .ez-compare-card:hover {
    height:550px !important;
    min-height:550px !important;
    max-height:550px !important;
  }
  .ez-compare-card .ez-compare-media,
  .ez-compare-card:hover .ez-compare-media {
    height:340px !important;
    min-height:340px !important;
    max-height:340px !important;
    flex-basis:340px !important;
  }
}


/* ==========================================================
   v1.10 photo/Light-mode correction pass
   1) process cards remain photo-first in Light mode
   2) One Crew glass surface follows Light/Dark mode
   3) service images receive the shared black fade overlay
   4) every photo fade is black-only: 0% top -> 60% bottom
   ========================================================== */

/* 4. One black-only fade token for BOTH themes. Never invert this to white. */
:root,
html[data-ez-mode="light"] {
  --gradient-fade-up:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.60) 100%);
}

/* Photo overlays use the same black fade in Dark and Light templates. */
.ez-hero::before,
.ez-feature-card::after,
.ez-process-card::after,
.ez-service-image::after {
  background:var(--gradient-fade-up) !important;
}

/* The old hero bottom colour-fade would effectively add a white fade in Light
   mode. Retire it so the photo has only the requested black overlay. */
.ez-hero::after {
  display:none !important;
  background:none !important;
}

/* 1. Process cards stay photographic in the Light template. A black fade needs
   light copy; only the surrounding page surface changes to white. */
html[data-ez-mode="light"] .ez-process-card,
html[data-ez-mode="light"][data-ez-trade="painting"] .ez-process-card,
html[data-ez-mode="light"][data-ez-trade="plumbing"] .ez-process-card {
  background:#0a0a0a !important;
  border-color:rgba(18,22,24,.26) !important;
}
html[data-ez-mode="light"] .ez-process-card h3,
html[data-ez-mode="light"][data-ez-trade="painting"] .ez-process-card h3,
html[data-ez-mode="light"][data-ez-trade="plumbing"] .ez-process-card h3 {
  color:#fff !important;
  text-shadow:0 1px 12px rgba(0,0,0,.34) !important;
}
html[data-ez-mode="light"] .ez-process-card p,
html[data-ez-mode="light"][data-ez-trade="painting"] .ez-process-card p,
html[data-ez-mode="light"][data-ez-trade="plumbing"] .ez-process-card p {
  color:rgba(255,255,255,.88) !important;
}
.ez-process-card .ez-step,
html[data-ez-mode="light"] .ez-process-card .ez-step {
  color:var(--ez-primary) !important;
  text-shadow:0 0 18px color-mix(in srgb,var(--ez-primary) 48%,transparent) !important;
}

/* Photo-backed Why Us cards follow the same rule: black fade + light copy in
   either template. */
html[data-ez-mode="light"] .ez-feature-card,
html[data-ez-mode="light"][data-ez-trade="painting"] .ez-feature-card,
html[data-ez-mode="light"][data-ez-trade="plumbing"] .ez-feature-card {
  background:#0a0a0a !important;
}
html[data-ez-mode="light"] .ez-feature-card h3,
html[data-ez-mode="light"][data-ez-trade="painting"] .ez-feature-card h3,
html[data-ez-mode="light"][data-ez-trade="plumbing"] .ez-feature-card h3 {
  color:#fff !important;
  text-shadow:0 1px 12px rgba(0,0,0,.34) !important;
}
html[data-ez-mode="light"] .ez-feature-card p,
html[data-ez-mode="light"][data-ez-trade="painting"] .ez-feature-card p,
html[data-ez-mode="light"][data-ez-trade="plumbing"] .ez-feature-card p {
  color:rgba(255,255,255,.86) !important;
}

/* 2. ONE CREW now actually follows the selected template surface. */
#why-us .ez-one-crew {
  background:rgba(5,5,5,.86) !important;
  border-color:rgba(255,255,255,.14) !important;
  color:#fff;
}
#why-us .ez-one-crew .ez-one-crew-title {
  color:var(--ez-primary) !important;
}
#why-us .ez-one-crew > p {
  color:rgba(255,255,255,.84) !important;
}
html[data-ez-mode="light"] #why-us .ez-one-crew {
  background:rgba(255,255,255,.90) !important;
  border-color:rgba(16,20,22,.14) !important;
  box-shadow:0 18px 44px -30px rgba(16,20,24,.38) !important;
}
html[data-ez-mode="light"] #why-us .ez-one-crew .ez-one-crew-title {
  color:var(--ez-primary-text,var(--ez-primary)) !important;
  text-shadow:0 0 14px color-mix(in srgb,var(--ez-primary) 22%,transparent) !important;
}
html[data-ez-mode="light"] #why-us .ez-one-crew > p {
  color:#25292c !important;
}

/* 3. Service-card photos get a consistent fade without touching the content
   panel below them. */
.ez-service-image {
  position:relative;
  isolation:isolate;
}
.ez-service-image::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
}
.ez-service-image img {
  position:relative;
  z-index:1;
}

/* The Light hero is still a photograph, so the black-only fade requires light
   hero copy. Trust pills themselves continue to invert separately. */
html[data-ez-mode="light"] .ez-hero .ez-display-lg,
html[data-ez-mode="light"] .ez-hero h1,
html[data-ez-mode="light"] .ez-hero-sub,
html[data-ez-mode="light"] .ez-hero .ez-call-link,
html[data-ez-mode="light"] .ez-hero .ez-call-link a {
  color:#fff !important;
  text-shadow:0 4px 24px rgba(0,0,0,.62) !important;
}


/* ==========================================================
   v1.11.4 client configurator visibility
   ========================================================== */
html.ez-client-config-hidden .ez-config-trigger,
html.ez-client-config-hidden .ez-configurator,
html.ez-client-config-hidden .ez-mobile-configbar,
html.ez-client-config-hidden .ez-button-config {
  display:none !important;
}

@media (max-width:782px) {
  html.ez-client-config-hidden body {
    padding-bottom:0 !important;
  }
}
