/* Digitech Printers: component CSS ported from Muse src/site.css (website-design-spec-v1). Tokens = theme.json presets. */
:root{--indigo:#2C338C;--indigo-700:#232970;--indigo-900:#1B2060;--indigo-100:#E8E9F5;--indigo-200:#C9CCE8;--red:#E60E2E;--red-700:#C20B26;--red-050:#FDECEE;--ink:#111111;--g050:#F2F3F5;--g100:#E9EAEE;--g200:#D6D8DE;--g500:#6B7080;--g700:#4A5064;--bs:#8A8F9E;--green:#1F7A3D;--amber:#8A5D00;--amber-050:#FFF4DB;
--display:'Michroma','Eurostile',Arial,sans-serif;--body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
--fs-display:clamp(2.125rem,1.522rem + 2.476vw,3.75rem);--fs-h1:clamp(1.875rem,1.504rem + 1.524vw,2.875rem);--fs-h2:clamp(1.5rem,1.268rem + .952vw,2.125rem);--fs-h3:clamp(1.125rem,1.032rem + .381vw,1.375rem);--fs-lead:clamp(1.125rem,1.055rem + .286vw,1.3125rem);
--sec:clamp(4rem,2.886rem + 4.571vw,7rem);--gut:48px;--shadow-md:0 4px 12px rgba(27,32,96,.08),0 1px 3px rgba(27,32,96,.06);--shadow-lg:0 12px 32px rgba(27,32,96,.12),0 2px 6px rgba(27,32,96,.06);--focus:0 0 0 3px #fff,0 0 0 5px var(--indigo)}
*,*::before,*::after{box-sizing:border-box}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
:where(.wp-site-blocks)>*{margin-block-start:0}
.wp-site-blocks{padding:0}
main.dp-main,.dp-main .entry-content,.dp-main>.wp-block-post-content{margin:0}
.dp-main .wp-block-post-content>*{margin-block-start:0;margin-block-end:0}
img{max-width:100%;height:auto}
:focus-visible{outline:none;box-shadow:var(--focus);border-radius:2px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--indigo);outline-offset:2px;box-shadow:none}
.skip-link.dp-skip{position:absolute;left:12px;top:-60px;z-index:1000;background:#fff;color:var(--indigo);padding:12px 16px;border-radius:4px;font-weight:600;box-shadow:var(--shadow-md)}
.skip-link.dp-skip:focus{top:12px}
.container{max-width:calc(1200px + 2*var(--gut));padding-left:var(--gut);padding-right:var(--gut);margin-left:auto;margin-right:auto;width:100%}
.container.narrow{max-width:calc(760px + 2*var(--gut))}
h1,h2,h3,.display{font-family:var(--display);font-weight:400;text-transform:uppercase;color:var(--indigo);overflow-wrap:break-word}
h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2);letter-spacing:.02em}h3{font-size:var(--fs-h3);letter-spacing:.03em}
.display{font-size:var(--fs-display)!important;line-height:1.08;letter-spacing:.01em}
.lead{font-size:var(--fs-lead);line-height:1.55;color:var(--g700);max-width:60ch}
.muted{color:var(--g700)}
.dp-sec{padding:var(--sec) 0}
.bg-alt{background:var(--g050)}
.flow>*+*{margin-block-start:1rem}
.flow>h2,.flow>.wp-block-heading:is(h2){margin-block-start:3rem}
.flow>h3{margin-block-start:2rem}
.flow>h2:first-child,.flow>h3:first-child{margin-block-start:0}
.sec-head{max-width:760px;margin-bottom:40px}
.sec-head>*+*{margin-top:16px}
.rule-top::before,.sec-head h2::before{content:"";display:block;width:64px;height:4px;background:var(--red);margin-bottom:20px}
/* buttons (raw HTML + core/button styles) */
.btn,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 24px;border-radius:4px;font:600 16px/1.2 var(--body);letter-spacing:.01em;text-decoration:none;border:1.5px solid transparent;transition:background-color .15s,border-color .15s,color .15s}
.btn-lg{min-height:56px;padding:14px 28px}
.btn-primary,.wp-block-button__link{background:var(--red);color:#fff}
.btn-primary:hover,.wp-block-button__link:hover{background:var(--red-700);color:#fff}
.btn-secondary,.is-style-secondary .wp-block-button__link{background:var(--indigo);color:#fff;border-color:var(--indigo)}
.btn-secondary:hover,.is-style-secondary .wp-block-button__link:hover{background:var(--indigo-700);color:#fff}
.btn-outline,.is-style-outline .wp-block-button__link{border-color:var(--indigo);color:var(--indigo);background:transparent}
.btn-outline:hover,.is-style-outline .wp-block-button__link:hover{background:var(--indigo-100);color:var(--indigo-700)}
.btn-inverse,.is-style-inverse .wp-block-button__link{background:#fff;color:var(--indigo);border-color:#fff}
.btn-inverse:hover,.is-style-inverse .wp-block-button__link:hover{background:var(--indigo-100);color:var(--indigo-700)}
.btn-ghost-inv,.is-style-ghost-inverse .wp-block-button__link{border-color:rgba(255,255,255,.7);color:#fff;background:transparent}
.btn-ghost-inv:hover,.is-style-ghost-inverse .wp-block-button__link:hover{background:rgba(255,255,255,.12);color:#fff}
.is-style-text .wp-block-button__link{background:none;color:var(--indigo);padding-left:0;padding-right:0;text-decoration:underline;text-underline-offset:3px}
.is-style-text .wp-block-button__link:hover{background:none;color:var(--red-700)}
.wp-block-buttons{gap:16px;flex-wrap:wrap}
.tlink{font-weight:600;color:var(--indigo);text-decoration:none}.tlink:hover{color:var(--red-700);text-decoration:underline}
/* to-confirm marker (Muse .tbc) */
mark.dp-confirm{display:inline;background:var(--amber-050);color:var(--amber);border:1px dashed var(--amber);border-radius:6px;font:500 .8125rem/1.5 var(--body);letter-spacing:0;text-transform:none;padding:1px 6px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
mark.dp-confirm b{font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.6875rem;margin-right:4px}
.on-dark mark.dp-confirm{background:#3a2e00;color:#FFE08A;border-color:#FFE08A}
.dp-held{display:block;margin:0 0 16px;font:500 14px/1.5 var(--body)}
/* utility bar + header */
.util{background:var(--ink);color:#C4C7D0;font:500 13px/36px var(--body)}
.util .container{display:flex;justify-content:space-between;gap:24px}
.util a{color:#C4C7D0;text-decoration:none}.util a:hover{color:#fff;text-decoration:underline}
.util span+span,.util a+a{margin-left:24px}
.dp-header{position:sticky;top:-36px;z-index:50;background:#fff}
.admin-bar .dp-header{top:-4px}
.nav{position:relative;background:#fff;border-bottom:1px solid var(--g200);height:80px;transition:box-shadow .2s}
.dp-header.is-stuck .nav{box-shadow:var(--shadow-md)}
.nav .container{display:flex;align-items:center;height:100%;gap:32px}
.nav .logo-link{display:block;flex:none}.nav .logo{height:48px;width:auto;display:block}
.nav .menu{display:flex;list-style:none;gap:28px;margin:0 0 0 auto;padding:0;align-items:center}
.nav .menu>li{position:static}
.nav .menu>li>a,.nav .menu>li>button{font:500 15px/1.2 var(--body);color:var(--ink);text-decoration:none;position:relative;padding:12px 0;background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:44px}
.nav .menu>li>a:hover,.nav .menu>li>button:hover{color:var(--indigo)}
.nav .menu a[aria-current="page"],.nav .menu .current>button{color:var(--indigo)}
.nav .menu a[aria-current="page"]::after,.nav .menu .current>button::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--red)}
.nav .chev{width:10px;height:10px;transition:transform .2s}
.nav button[aria-expanded="true"] .chev{transform:rotate(180deg)}
.nav .phone{font:600 15px var(--body);color:var(--indigo);text-decoration:none;display:flex;gap:6px;align-items:center;white-space:nowrap}
.nav .phone:hover{color:var(--red-700)}
.nav .callicon,.nav .burger{display:none}
.ico{width:20px;height:20px;flex:none;color:var(--indigo)}
/* mega menu */
.mega{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--g200);border-bottom:4px solid var(--red);box-shadow:var(--shadow-lg);padding:40px 0}
.mega[hidden]{display:none}
.mega .container{display:grid;grid-template-columns:repeat(4,1fr) 1.1fr;gap:32px;height:auto;align-items:start}
.mega h2{font-size:12px;letter-spacing:.18em;color:var(--g700);margin:0 0 14px}
.mega h2::before{display:none}
.mega ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.mega ul a{display:block;padding:8px 0;color:var(--ink);text-decoration:none;font:500 15px/1.35 var(--body)}
.mega ul a:hover{color:var(--indigo);text-decoration:underline}
.mega .mega-cta{background:var(--g050);border-radius:8px;padding:24px;display:grid;gap:12px}
.mega .mega-cta p{color:var(--g700);font-size:15px;margin:0}
/* mobile overlay */
.dp-overlay{position:fixed;inset:0;z-index:200;background:#fff;overflow-y:auto;padding:0 0 32px}
.dp-overlay[hidden]{display:none}
.dp-overlay .top{display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 20px;border-bottom:1px solid var(--g200)}
.dp-overlay .top .logo{height:40px;width:auto}
.dp-overlay .close{width:44px;height:44px;border:0;background:none;color:var(--indigo);font-size:28px;line-height:1;cursor:pointer}
.dp-overlay nav{padding:8px 20px}
.dp-overlay ul{list-style:none;margin:0;padding:0}
.dp-overlay>nav>ul>li{border-bottom:1px solid var(--g200)}
.dp-overlay>nav>ul>li>a,.dp-overlay summary{display:flex;justify-content:space-between;align-items:center;min-height:56px;font:600 17px var(--body);color:var(--ink);text-decoration:none;cursor:pointer;list-style:none}
.dp-overlay summary::-webkit-details-marker{display:none}
.dp-overlay summary::after{content:"+";color:var(--indigo);font-size:22px}
.dp-overlay details[open] summary::after{content:"−"}
.dp-overlay details ul{padding:0 0 12px 12px}
.dp-overlay details ul a{display:flex;align-items:center;min-height:44px;color:var(--g700);text-decoration:none;font-size:16px}
.dp-overlay .ctas{display:grid;gap:12px;padding:24px 20px 0}
.dp-overlay .ctas .btn{width:100%}
.dp-overlay address{font-style:normal;color:var(--g700);padding:24px 20px 0;font-size:15px;line-height:1.6}
html.dp-locked,html.dp-locked body{overflow:hidden}
/* hero (home split) */
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:640px;max-width:1440px;margin:0 auto;background:#fff}
.hero .txt{padding:72px 64px 72px max(var(--gut),calc((min(100vw,1440px) - 1200px)/2));display:flex;flex-direction:column;justify-content:center}
.hero .txt>*+*{margin-top:24px}
.hero .display{max-width:16ch;margin:0}
.hero .hero-h1{font-size:clamp(1.75rem,1.43rem + 1.3vw,2.5rem);line-height:1.14;max-width:20ch;margin:0}
.hero .lead{margin-top:24px}
.hero .media{position:relative;overflow:hidden;background:var(--indigo-100)}
.hero .media picture,.hero .media img{display:block;width:100%;height:100%;object-fit:cover}
.hero .media .bar{position:absolute;left:0;bottom:0;width:120px;height:4px;background:var(--red);z-index:2}
.hero .email{font-weight:600}
/* page header */
.phead{background:var(--g050);padding:56px 0}
.phead .container{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px;align-items:center}
.phead.no-media .container{grid-template-columns:minmax(0,1fr)}
.phead.no-media .ph-txt{max-width:820px}
.phead .ph-txt>*+*{margin-top:20px}
.phead h1{margin:0}
.phead .lead{color:var(--g700)}
.phead .media img{display:block;width:100%;height:auto;border-radius:8px;box-shadow:var(--shadow-md)}
.phead .media{position:relative}.phead .media::after{content:"";position:absolute;left:0;bottom:0;width:96px;height:4px;background:var(--red);border-bottom-left-radius:8px}
.crumb{font:500 14px var(--body);color:var(--g700);margin:0 0 16px}
.crumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}
.crumb li+li::before{content:"/";margin-right:6px;color:var(--bs)}
.crumb a{color:var(--g700)}.crumb a:hover{color:var(--indigo)}
/* cards */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.svc-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;list-style:none;margin:0;padding:0}
.svc-grid.cols-3{grid-template-columns:repeat(3,1fr);gap:32px}
.card{border:1px solid var(--g200);border-radius:8px;overflow:hidden;background:#fff;display:flex;flex-direction:column;color:inherit;position:relative;transition:border-color .15s,box-shadow .15s,transform .15s}
.card:hover,.card:focus-within{border-color:var(--indigo);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.card .thumb{aspect-ratio:4/3;background:var(--indigo-100);overflow:hidden}
.card .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.card .body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}
.card h3{font-size:15px;line-height:1.3;margin:0}
.svc-grid.cols-3 .card h3{font-size:18px}
.card h3 a{color:var(--indigo);text-decoration:none}
.card h3 a::after{content:"";position:absolute;inset:0}
.card p{color:var(--g700);font-size:15px;line-height:1.55;margin:0}
.card .more{margin-top:auto;padding-top:4px;font-weight:600;color:var(--indigo);font-size:15px}
.ph{position:relative;background:var(--indigo-100) repeating-linear-gradient(135deg,rgba(44,51,140,.07) 0 12px,transparent 12px 24px);display:flex;align-items:flex-end;overflow:hidden;aspect-ratio:4/3}
.ph::after{content:"";position:absolute;inset:0;border:1.5px dashed rgba(44,51,140,.35);pointer-events:none}
.ph .tag{margin:12px;background:rgba(255,255,255,.94);border:1px solid var(--indigo-200);border-radius:4px;padding:8px 10px;font:500 13px/1.4 var(--body);color:var(--indigo-900)}
.proj .card h3{font-size:16px}
/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;position:relative;list-style:none;margin:0;padding:0;counter-reset:st}
.steps::before{content:"";position:absolute;top:28px;left:28px;right:12%;height:1px;background:var(--g200)}
.steps li{counter-increment:st;position:relative}
.steps li::before{content:counter(st);width:56px;height:56px;border-radius:50%;border:1.5px solid var(--indigo);background:#fff;display:flex;align-items:center;justify-content:center;font:400 20px var(--display);color:var(--indigo);position:relative;margin-bottom:20px}
.bg-alt .steps li::before{background:var(--g050)}
.steps li strong{display:block;font:400 16px/1.3 var(--display);text-transform:uppercase;letter-spacing:.03em;color:var(--indigo);margin-bottom:8px}
.steps li{color:var(--g700)}
/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split .media img{border-radius:8px;display:block;width:100%;height:auto}
.points{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:20px}
.points li{padding-left:28px;position:relative;color:var(--g700)}
.points li::before{content:"";position:absolute;left:0;top:.55em;width:12px;height:12px;border-radius:2px;background:var(--indigo)}
.points li strong{color:var(--ink)}
/* body + aside (service/location) */
.cols-84{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:64px;align-items:start}
.aside{position:sticky;top:112px;display:grid;gap:24px}
.admin-bar .aside{top:144px}
.quotecard{border:1px solid var(--g200);border-radius:8px;padding:28px;background:#fff;box-shadow:var(--shadow-md);border-top:4px solid var(--red)}
.quotecard h2{font-size:18px;margin:0 0 12px}.quotecard h2::before{display:none}
.quotecard p{color:var(--g700);font-size:15px;margin:0 0 16px}
.quotecard .btn{width:100%;margin-top:8px}
.quotecard dl{margin:16px 0 0;display:grid;gap:12px;font-size:15px}
.quotecard dt{font:400 11px var(--display);letter-spacing:.18em;color:var(--g700);text-transform:uppercase}
.quotecard dd{margin:2px 0 0}
.quotecard dd a{font-weight:600;text-decoration:none}
/* prose bits */
.prose ul,.prose ol{padding-left:1.25em}
.prose li+li{margin-top:.4em}
.prose a{text-underline-offset:3px}
.wp-block-table{margin:1.5rem 0;overflow-x:auto}
.wp-block-table table{border-collapse:collapse;width:100%;font-size:15px;border:1px solid var(--g200)}
.wp-block-table th,.wp-block-table td{border:1px solid var(--g200);padding:12px 14px;text-align:left;vertical-align:top}
.wp-block-table thead{border-bottom:2px solid var(--indigo)}
.wp-block-table th{background:var(--indigo-100);font-weight:600;color:var(--indigo-900)}
.wp-block-quote{border-left:4px solid var(--red);margin:2rem 0;padding:4px 0 4px 24px}
.wp-block-quote p{font-size:var(--fs-lead);line-height:1.5;color:var(--ink)}
.wp-block-quote cite{display:block;margin-top:12px;font-style:normal;font-weight:600;color:var(--g700);font-size:15px}
.quotes{display:grid;gap:24px}
.quotes .wp-block-quote{background:#fff;border:1px solid var(--g200);border-left:4px solid var(--red);border-radius:8px;padding:28px 32px;margin:0}
/* faq */
.faq{max-width:880px}
.faq h3.group{margin:2.5rem 0 1rem;font-size:16px;color:var(--g700)}
.wp-block-details{border:1px solid var(--g200);border-radius:8px;background:#fff;margin:0 0 12px;padding:0}
.wp-block-details summary{cursor:pointer;list-style:none;padding:18px 56px 18px 20px;font:600 17px/1.4 var(--body);color:var(--ink);position:relative;min-height:44px}
.wp-block-details summary::-webkit-details-marker{display:none}
.wp-block-details summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font:400 24px/1 var(--body);color:var(--indigo)}
.wp-block-details[open] summary::after{content:"−"}
.wp-block-details[open] summary{border-bottom:1px solid var(--g200)}
.wp-block-details>:not(summary){padding:0 20px;margin:16px 0}
.wp-block-details>:last-child{margin-bottom:20px}
/* visit / branch / map */
.visit{display:grid;grid-template-columns:5fr 7fr;gap:48px;align-items:stretch}
.branch{border:1px solid var(--g200);border-radius:8px;padding:32px;background:#fff}
.branch>*+*{margin-top:16px}
.branch h2{font-size:var(--fs-h3)}
.mapbox{position:relative;border-radius:8px;overflow:hidden;min-height:380px;background:var(--indigo-100) repeating-linear-gradient(135deg,rgba(44,51,140,.07) 0 12px,transparent 12px 24px);display:flex;align-items:center;justify-content:center;text-align:center;padding:24px}
.mapbox iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.mapbox .maptxt{display:grid;gap:12px;justify-items:center;max-width:360px}
.mapbox p{margin:0;color:var(--indigo-900);font-weight:500}
.nap{font-style:normal;line-height:1.7}
/* cta band */
.cta{background:var(--indigo);color:#fff;border-top:4px solid var(--red);padding:var(--sec) 0}
.cta .container{display:flex;justify-content:space-between;align-items:center;gap:48px}
.cta h2{color:#fff;margin:0 0 12px}.cta h2::before{display:none}
.cta p{color:#D5D8EE;max-width:52ch;font-size:var(--fs-lead);line-height:1.55;margin:0}
.btnrow{display:flex;gap:16px;flex-wrap:wrap}
/* footer */
.dp-footer{background:var(--ink);color:#C4C7D0;border-top:4px solid var(--red);padding:80px 0 32px;font-size:15px}
.dp-footer .cols{display:grid;grid-template-columns:4fr 3fr 2fr 4fr;gap:32px}
.dp-footer h2{font:400 12px var(--display);letter-spacing:.18em;color:#fff;text-transform:uppercase;margin:0 0 16px}
.dp-footer ul{list-style:none;display:grid;gap:10px;margin:0;padding:0}
.dp-footer a{color:#C4C7D0;text-decoration:none}.dp-footer a:hover{color:#fff;text-decoration:underline}
.dp-footer .flogo{height:44px;width:auto;margin-bottom:20px;display:block}
.dp-footer address{font-style:normal;display:grid;gap:8px}
.dp-footer .soc{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap;align-items:center}
.dp-footer .soc a{width:44px;height:44px;border:1px solid rgba(255,255,255,.25);border-radius:4px;display:flex;align-items:center;justify-content:center;color:#fff;font:600 12px var(--body)}
.dp-footer .soc a:hover{border-color:#fff;text-decoration:none}
.dp-footer .bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:56px;padding-top:24px;display:flex;justify-content:space-between;gap:16px;font-size:13px}
.dp-footer p{margin:0}
.dp-footer .fhours{margin-bottom:12px}
.dp-footer .fshops{display:grid;grid-template-columns:2fr 1fr;gap:32px;margin-top:48px;padding-top:40px;border-top:1px solid rgba(255,255,255,.14)}
.dp-footer .fcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}
.dp-footer .fshops address strong a{color:#fff;font-weight:600}
.dp-footer .fshops address span{line-height:1.5}
.dp-footer .fshops a{overflow-wrap:anywhere}
/* locations hub */
.hub-grid{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.hub-grid .loccard h3{font-size:20px;margin:0 0 10px}.hub-grid .loccard h3 a{color:var(--ink)}
.hub-links{display:flex;flex-direction:column;gap:8px;margin-top:16px!important}
.mega .mega-cta h2{margin:12px 0 0}
.mega .mega-shops a{padding:4px 0}
/* contact / quote form */
.qlayout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:48px;align-items:start}
.formcard{background:#fff;border:1px solid var(--g200);border-radius:8px;padding:40px;box-shadow:var(--shadow-md)}
.wpcf7 fieldset{border:0;border-top:1px solid var(--g200);padding:28px 0 0;margin:28px 0 0;min-width:0}
.wpcf7 fieldset:first-of-type{border:0;margin-top:0;padding-top:0}
.wpcf7 legend{display:flex;gap:12px;align-items:center;font:400 var(--fs-h3) var(--display);text-transform:uppercase;letter-spacing:.03em;color:var(--indigo);margin-bottom:24px;float:left;width:100%;padding:0}
.wpcf7 legend+*{clear:both}
.wpcf7 legend .n{width:32px;height:32px;border-radius:50%;background:var(--indigo);color:#fff;font:400 14px/32px var(--display);text-align:center;flex:none}
.wpcf7 .row{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.wpcf7 .field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
.wpcf7 label,.wpcf7 .lbl{font:600 14px/1.3 var(--body);color:var(--ink)}
.wpcf7 .req{color:var(--red-700)}.wpcf7 .opt{font-weight:400;color:var(--g700)}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 input[type=date],.wpcf7 select,.wpcf7 textarea{width:100%;min-height:48px;border:1px solid var(--bs);border-radius:4px;padding:10px 14px;font:400 16px/1.4 var(--body);color:var(--ink);background:#fff}
.wpcf7 textarea{min-height:140px;resize:vertical}
.wpcf7 select{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%232C338C' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center;padding-right:40px}
.wpcf7 input:focus,.wpcf7 select:focus,.wpcf7 textarea:focus{outline:none;border:2px solid var(--indigo);box-shadow:0 0 0 3px var(--indigo-100);padding:9px 13px}
.wpcf7 .wpcf7-not-valid{border:2px solid var(--red-700)!important;background:var(--red-050)!important}
.wpcf7 .wpcf7-not-valid-tip{font:500 14px/1.4 var(--body);color:var(--red-700);margin-top:6px}
.wpcf7 .help{font:400 14px/1.4 var(--body);color:var(--g700);margin:0}
.wpcf7 .drop{border:2px dashed var(--bs);border-radius:8px;background:var(--g050);padding:24px;display:grid;gap:10px;justify-items:start}
.wpcf7 .drop input[type=file]{font:500 15px var(--body);max-width:100%}
.wpcf7 .wpcf7-submit{width:auto;min-width:240px;min-height:56px;padding:14px 28px;border:0;border-radius:4px;background:var(--red);color:#fff;font:600 16px var(--body);cursor:pointer}
.wpcf7 .wpcf7-submit:hover{background:var(--red-700)}
.wpcf7 .wpcf7-spinner{vertical-align:middle}
.wpcf7 form .wpcf7-response-output{margin:20px 0 0;padding:14px 18px;border-radius:4px;border:2px solid var(--indigo);font-size:15px}
.wpcf7 form.sent .wpcf7-response-output{border-color:var(--green);background:#E7F4EC;color:#14532A}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output{border-color:var(--red-700);background:var(--red-050);color:var(--red-700)}
.wpcf7 .screen-reader-response{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.qaside{position:sticky;top:112px;display:grid;gap:20px}
.admin-bar .qaside{top:144px}
.qaside img{border-radius:8px;display:block;width:100%;height:auto}
.loccard{border:1px solid var(--g200);border-radius:8px;padding:24px;background:#fff}
.loccard h2{font-size:16px;margin:0 0 10px}.loccard h2::before{display:none}
.loccard p{margin:0;font-size:15px;line-height:1.6}
.loccard.held{background:var(--g050)}
.helpbox{background:var(--indigo);color:#fff;border-radius:8px;padding:24px}
.helpbox h2{color:#fff;font-size:16px;margin:0 0 8px}.helpbox h2::before{display:none}
.helpbox p{color:#D5D8EE;font-size:15px;margin:0 0 12px}
.helpbox a{color:#fff;font-weight:600}
/* 404 */
.e404 .container{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.e404 img{border-radius:8px}
/* mobile sticky bar */
.mbar{display:none}
/* hide WP default title if a template ever prints it */
.dp-main .wp-block-post-title{display:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}.card:hover{transform:none}}
@media (max-width:1199px){.svc-grid{grid-template-columns:repeat(3,1fr)}.mega .container{grid-template-columns:repeat(2,1fr)}}
@media (max-width:1023px){
 .dp-footer .fshops,.hub-grid{grid-template-columns:minmax(0,1fr)}
 :root{--gut:20px}
 .util,.nav .menu,.nav .phone,.nav .quote-btn{display:none}
 .nav{height:64px}.nav .logo{height:40px}
 .nav .callicon,.nav .burger{display:flex;width:44px;height:44px;align-items:center;justify-content:center;color:var(--indigo);background:none;border:0;cursor:pointer}
 .nav .callicon{margin-left:auto;border:1px solid var(--g200);border-radius:4px}
 .nav .burger{flex-direction:column;gap:5px}.nav .burger i{width:22px;height:2px;background:var(--indigo);display:block}
 .nav .container{gap:8px}
 .hero{grid-template-columns:1fr;min-height:0}
 .hero .txt{padding:32px var(--gut) 32px}
 .hero .display{line-height:1.12}
 .hero .media{aspect-ratio:4/5;order:2}
 .hero .btnrow{flex-direction:column}.hero .btnrow .btn{width:100%}
 .grid3,.split,.visit,.cols-84,.qlayout,.phead .container,.e404 .container{grid-template-columns:minmax(0,1fr)}
 .split,.visit,.cols-84,.qlayout{gap:40px}
 .phead{padding:32px 0}.phead .container{gap:24px}
 .svc-grid{grid-template-columns:1fr;gap:12px}
 .svc-grid .card{flex-direction:row;align-items:stretch}
 .svc-grid .card .thumb{flex:0 0 112px;aspect-ratio:auto}
 .svc-grid .card .body{padding:14px 16px;gap:6px}
 .svc-grid .card h3{font-size:14px}
 .svc-grid .card p{font-size:14px}
 .svc-grid .card .more{display:none}
 .svc-grid.cols-3{grid-template-columns:1fr}
 .steps{grid-template-columns:1fr;gap:24px}.steps::before{top:28px;bottom:28px;left:28px;right:auto;width:1px;height:auto}
 .steps li{display:grid;grid-template-columns:56px 1fr;gap:0 16px}.steps li::before{margin:0;grid-row:span 2}
 .sec-head{margin-bottom:28px}
 .aside,.qaside{position:static}
 .formcard{padding:20px}
 .wpcf7 .row{grid-template-columns:1fr}
 .wpcf7 .wpcf7-submit{width:100%}
 .cta .container{flex-direction:column;align-items:stretch;gap:28px}.cta .btnrow{flex-direction:column}.cta .btn{width:100%}
 .dp-footer{padding:56px 0 96px}.dp-footer .cols{grid-template-columns:1fr}.dp-footer .bottom{flex-direction:column;text-align:center}
 .mapbox{min-height:260px}
 .mbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;height:64px;padding:8px 12px;background:#fff;border-top:1px solid var(--g200);z-index:100;box-shadow:0 -4px 12px rgba(27,32,96,.08)}
 .mbar .btn{min-height:48px;padding:0 12px}
 body.has-mbar{padding-bottom:64px}
 .dp-header{top:0}.admin-bar .dp-header{top:46px}
}
@media (max-width:600px){.admin-bar .dp-header{top:0}}

/* build fixes */
.faq>h2,.faq>.wp-block-heading{margin:0 0 24px}.faq>.wp-block-heading:not(:first-child){margin-top:56px}
.formcard .wpcf7-form>fieldset:first-of-type,.formcard .wpcf7-form>.fs:first-of-type{border-top:0;margin-top:0;padding-top:0}.formcard .hidden-fields-container,.formcard .wpcf7-form>p:empty{display:none}.form-note{margin-top:16px}
.wpcf7 .hidden-fields-container+fieldset,.wpcf7 .hidden-fields-container+.fs{border:0;margin-top:0;padding-top:0}
.wpcf7 input,.wpcf7 select,.wpcf7 textarea{max-width:100%}
.wpcf7-file{width:100%;min-width:0;box-sizing:border-box}.wpcf7 .form-control-wrap,.wpcf7 .wpcf7-form-control-wrap{display:block;max-width:100%}
/* Call CTAs: all three shops (Muhammad 2026-10-26 21:28) */
.callset{margin-top:16px}
.callset-h{font:400 11px var(--display);letter-spacing:.18em;text-transform:uppercase;color:var(--g700);margin:0 0 8px}
.callset ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.callbtn{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 14px;border:1.5px solid var(--indigo);border-radius:4px;background:#fff;color:var(--indigo);text-decoration:none;font:600 15px/1.2 var(--body)}
.callbtn:hover{background:var(--indigo-100);color:var(--indigo-700)}
.callbtn .cn{font-weight:500;color:var(--ink)}.callbtn .sep{color:var(--g500)}
.callset.in-card{margin-top:8px}.callset.in-card ul,.callset.in-drawer ul,.callset.in-pop ul{flex-direction:column}
.callset.in-card .callbtn,.callset.in-drawer .callbtn,.callset.in-pop .callbtn{width:100%;justify-content:space-between}
.callset.in-card .callset-h{margin-top:8px}
.quotecard .callbtn .sep,.in-drawer .callbtn .sep,.in-pop .callbtn .sep{display:none}
.on-dark-set .callset-h{color:#D5D8EE}
.on-dark-set .callbtn{background:transparent;border-color:rgba(255,255,255,.7);color:#fff}
.on-dark-set .callbtn .cn{color:#fff}.on-dark-set .callbtn .sep{color:#D5D8EE}
.on-dark-set .callbtn:hover{background:rgba(255,255,255,.12);color:#fff}
.othershops{font-size:14px;color:var(--g700);margin:8px 0 0}
.othershops a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.cta .othershops{color:#D5D8EE}.cta .othershops a{color:#fff}
.cta-act{display:flex;flex-direction:column}
.mcall{position:relative}
.mcall>summary{list-style:none;width:100%;cursor:pointer}.mcall>summary::-webkit-details-marker{display:none}
.mcall[open]>summary{background:var(--indigo-100)}
.mbar .mcall-pop{position:absolute;left:0;bottom:calc(100% + 16px);width:calc(100vw - 24px);max-width:420px;background:#fff;border:1px solid var(--g200);border-top:4px solid var(--red);border-radius:8px;box-shadow:0 -8px 24px rgba(27,32,96,.16);padding:16px}
.callset.in-pop{margin:0}
@media (max-width:1023px){
 .callset ul{flex-direction:column}
 .callbtn{width:100%;justify-content:space-between}
 .callbtn .sep{display:none}
}
/* Header call: top bar list + nav/mobile popover (21:37) */
.util .util-calls a+a{margin-left:16px}
.util .util-r{display:flex;gap:24px;align-items:center}.util .util-r a{margin-left:0}
.util .util-addr a{margin-left:0}.util .util-addr a+a{margin-left:0} /* 3-shop top bar (10:49): no single address */
.hcall-btn{display:flex;align-items:center;gap:6px;min-height:44px;padding:0 8px;font:600 15px var(--body);color:var(--indigo);white-space:nowrap;border-radius:4px}
.hcall-btn:hover{color:var(--red-700)}
.hcall .mcall-pop{position:absolute;top:calc(100% + 12px);right:0;width:320px;z-index:60;background:#fff;border:1px solid var(--g200);border-top:4px solid var(--red);border-radius:8px;box-shadow:var(--shadow-md);padding:16px}
.hcall .callbtn .sep{display:none}
@media (max-width:1023px){
 .nav .hcall{margin-left:auto;position:static}
 .hcall-btn{width:44px;height:44px;padding:0;justify-content:center;border:1px solid var(--g200)}
 .hcall-l{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .hcall .mcall-pop{top:100%;left:12px;right:12px;width:auto;max-width:none}
}
/* Top bar "Email us" disclosure (2026-10-27) */
.util .umail{position:relative}
.util .umail>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;color:#C4C7D0}
.util .umail>summary::-webkit-details-marker{display:none}
.util .umail>summary:hover,.util .umail[open]>summary{color:#fff}
.util .umail>summary:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:2px}
.util .umail .chev{width:10px;height:10px;transition:transform .15s}.util .umail[open] .chev{transform:rotate(180deg)}
.util .umail-pop{position:absolute;top:100%;right:0;z-index:70;min-width:300px;margin:0;padding:8px;list-style:none;background:#fff;border:1px solid var(--g200);border-top:4px solid var(--red);border-radius:8px;box-shadow:var(--shadow-md);line-height:1.3}
.util .umail-pop a{display:flex;flex-direction:column;gap:2px;min-height:44px;justify-content:center;padding:8px 12px;border-radius:4px;color:var(--ink);text-decoration:none}
.util .umail-pop a:hover,.util .umail-pop a:focus-visible{background:var(--indigo-100);color:var(--indigo);text-decoration:none}
.util .umail-pop .cn{font-weight:600}.util .umail-pop .ce{color:var(--indigo)}
.util .umail-pop span+span{margin-left:0}
.mapopen{margin:8px 0 16px}
/* Google review cards (2026-10-27) */
.greviews{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:24px;grid-template-columns:1fr}
@media(min-width:768px){.greviews.cols-2{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.greviews.cols-3{grid-template-columns:repeat(3,1fr)}}
.grev figure{margin:0;height:100%;display:flex;flex-direction:column;background:#fff;border:1px solid var(--g200);border-left:4px solid var(--red);border-radius:8px;padding:24px 28px}
.grev .stars{color:#b45309;letter-spacing:2px;font-size:18px;line-height:1}
.grev blockquote{margin:12px 0 16px;padding:0;border:0;flex:1}
.grev blockquote p{margin:0 0 .75em;font-size:17px;line-height:1.55;color:var(--ink)}
.grev blockquote p:last-child{margin-bottom:0}
.grev figcaption{display:flex;flex-direction:column;gap:2px;font-size:15px}
.grev .gname{font-weight:600;color:var(--ink)}
.grev .gmeta{color:var(--g700)}
.grev .gmeta a{color:var(--indigo);text-decoration:underline;text-underline-offset:2px;display:inline-block;padding:6px 0}
.prose .greviews.one{margin-top:16px}
