/* Dunning and Sons: shared enhancements (UX, accessibility, dark mode) */
:root{
  --ds-bg:#ffffff;--ds-surface:#ffffff;--ds-surface-2:#f8fafc;--ds-text:#0f172a;--ds-muted:#64748b;--ds-border:#e2e8f0;
  --ds-link:#155eef;--ds-shadow:0 20px 60px rgba(15,23,42,0.25);
}
html[data-theme="dark"]{
  --ds-bg:#0b1220;--ds-surface:#131d33;--ds-surface-2:#16213a;--ds-text:#f1f5f9;--ds-muted:#aab6c8;--ds-border:#243049;
  --ds-link:#60a5fa;--ds-shadow:0 20px 60px rgba(0,0,0,0.6);
  color-scheme:dark;
}

/* ---------- Accessibility ---------- */
.skip-link{position:absolute;left:12px;top:-60px;z-index:10000;background:#155eef;color:#fff;padding:12px 18px;border-radius:8px;font-family:'Instrument Sans',sans-serif;font-weight:700;font-size:14px;transition:top .2s;}
.skip-link:focus{top:12px;outline:3px solid #fff;outline-offset:2px;}
main:focus{outline:none;}
:focus-visible{outline:3px solid #3b82f6;outline-offset:2px;}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}}

/* ---------- Page loading bar ---------- */
.page-loader{position:fixed;top:0;left:0;height:3px;width:0;z-index:10001;background:linear-gradient(90deg,#155eef,#60a5fa);box-shadow:0 0 10px rgba(59,130,246,.7);animation:dsLoad 1.4s cubic-bezier(.22,1,.36,1) forwards,dsLoadHide .4s ease 4s forwards;pointer-events:none;}
.page-loader.done{width:100%!important;animation:none;opacity:0;transition:width .25s ease,opacity .35s ease .25s;}
.page-loader.nav-start{animation:dsLoad 2.5s cubic-bezier(.22,1,.36,1) forwards;opacity:1;}
@keyframes dsLoad{0%{width:0}60%{width:70%}100%{width:85%}}
@keyframes dsLoadHide{to{opacity:0}}

/* ---------- Scroll progress ---------- */
.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:1000;pointer-events:none;background:transparent;}
.scroll-progress span{display:block;height:100%;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#155eef,#60a5fa);}

/* ---------- Sticky header ---------- */
nav#mainNav{transition:box-shadow .25s ease,background .25s ease;}
nav#mainNav .nav-inner{transition:height .25s ease;}
nav#mainNav .nav-logo-img{transition:height .25s ease;}
nav#mainNav.scrolled{box-shadow:0 8px 30px rgba(0,0,0,.35);}
nav#mainNav.scrolled .nav-inner{height:66px;}
nav#mainNav.scrolled .nav-logo-img{height:46px;}
.nav-inner{gap:12px!important;}
.nav-links{margin-left:auto;}
.nav-logo img{width:auto;}
.nav-tools{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.nav-icon-btn{width:40px;height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,border-color .2s,transform .15s;}
.nav-icon-btn:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3);}
.nav-icon-btn:active{transform:scale(.95);}
.nav-icon-btn svg{width:18px;height:18px;}
.theme-icon-sun{display:none;}
html[data-theme="dark"] .theme-icon-sun{display:block;}
html[data-theme="dark"] .theme-icon-moon{display:none;}
.nav-phone:hover{background:rgba(255,255,255,.07);}
.nav-mobile-toggle{width:44px;height:44px;border-radius:10px;line-height:1;}
.nav-mobile-toggle:hover{background:rgba(255,255,255,.08);}
@media(max-width:1100px){.nav-links{display:none!important;}.nav-mobile-toggle{display:block!important;}.nav-tools{margin-left:auto;}}
@media(min-width:1101px){.nav-mobile-menu{display:none!important;}}
.nav-mobile-menu{max-height:calc(100vh - 80px);max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain;}
.nav-mobile-menu a:hover{color:#fff;}
@media(max-width:420px){.nav-logo-img{height:48px!important;}.nav-icon-btn{width:38px;height:38px;}}

/* ---------- Hover & focus states ---------- */
.quiz-back:hover{color:#fff;text-decoration:underline;}
.h-back{transition:background .15s,border-color .15s,color .15s;}
.h-back:hover{background:#f1f5f9;border-color:#cbd5e1;color:#0f172a;}
.quiz-toggle{transition:background .2s,transform .15s;}
.quiz-toggle:hover{background:#3b82f6;}
.footer-cta-link:hover{color:#fff;text-decoration:underline;}
.footer-phone:hover{color:#fff;}
.footer-legal a:hover{color:#fff;}
.breadcrumb a:hover{color:#fff;text-decoration:underline;}
.faq-a p a:hover{text-decoration:underline;}
.service-link{transition:gap .2s;}
.service-card:hover .service-link{gap:8px;}
.nav-drop-menu a:focus-visible,.nav-county-btn:focus-visible{outline:2px solid #60a5fa;outline-offset:-2px;}
a.btn-primary:hover,a.btn-secondary:hover{text-decoration:none;}
.contact-item a:hover{text-decoration:underline;}

/* Chips placed on light sections need dark text */
section:not(.section-dark):not(.final-cta) .city-chip{background:#f1f5f9;border-color:#e2e8f0;color:#0f172a;}
section:not(.section-dark):not(.final-cta) .city-chip:hover{background:rgba(21,94,239,.08);border-color:#155eef;color:#155eef;}

/* ---------- Layout fixes ---------- */
.service-content>*{min-width:0;}
.service-body img{height:auto;}
.faq-a.open{max-height:1400px!important;}
.faq-q{min-height:48px;}
.hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
@media(max-width:768px){
  .testimonials-grid{grid-template-columns:1fr!important;}
  .cities-grid{grid-template-columns:repeat(2,1fr)!important;}
  section{padding:64px 20px;}
  .page-hero{padding:128px 20px 56px;}
  .hero-inner{padding:48px 20px;}
  .pricing-cta-block,.apply-form{padding:28px 20px;}
  .scenario-box{padding:22px 20px;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
  .quiz-options{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:420px){.hero-quiz-opts{grid-template-columns:1fr 1fr;}.hero-quiz-card{padding:20px;}.quiz-options{grid-template-columns:repeat(2,1fr);}}
.quiz-widget .quiz-inner{max-height:70vh;overflow-y:auto;}
.quiz-h{color:#fff;font-size:15px;margin-bottom:12px;font-family:'Instrument Sans',sans-serif;font-weight:600;}
.quiz-success .quiz-h{font-family:'Fraunces',serif;font-size:20px;margin-bottom:6px;}
.footer-col .footer-h{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-light);margin-bottom:14px;font-family:'Instrument Sans',sans-serif;}
.field-error{color:#f87171!important;font-size:12px!important;margin-top:6px!important;font-family:'Instrument Sans',sans-serif;}
.hero-quiz-card .field-error{color:#dc2626!important;}
.input-invalid{border-color:#ef4444!important;}
.hero-kicker{display:block;font-family:'Instrument Sans',sans-serif;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-light);margin-bottom:16px;}
.hero h1.hero-h1{font-size:clamp(34px,4.6vw,58px);}
.last-updated{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:rgba(255,255,255,.55);font-family:'Instrument Sans',sans-serif;margin-top:14px;}

/* ---------- Floating buttons ---------- */
.fab-wrap{position:fixed;left:20px;bottom:20px;z-index:290;display:flex;flex-direction:column-reverse;align-items:flex-start;gap:10px;transition:opacity .25s,transform .25s;}
.fab-main{width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;background:#155eef;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(21,94,239,.45);transition:transform .2s,background .2s,box-shadow .2s;position:relative;}
.fab-main:hover{background:#3b82f6;transform:translateY(-2px);box-shadow:0 14px 36px rgba(21,94,239,.55);}
.fab-main svg{width:24px;height:24px;transition:transform .25s;}
.fab-main::after{content:'';position:absolute;inset:0;border-radius:50%;border:2px solid rgba(59,130,246,.6);animation:fabPulse 2.4s ease-out infinite;}
.fab-wrap.open .fab-main::after{display:none;}
@keyframes fabPulse{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.5);opacity:0}}
.fab-menu{display:flex;flex-direction:column;gap:8px;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .2s,transform .2s;}
.fab-wrap.open .fab-menu{opacity:1;transform:none;pointer-events:auto;}
.fab-item{display:flex;align-items:center;gap:10px;background:var(--ds-surface);color:var(--ds-text);border:1px solid var(--ds-border);border-radius:999px;padding:10px 16px 10px 12px;font-family:'Instrument Sans',sans-serif;font-size:14px;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.18);cursor:pointer;white-space:nowrap;transition:transform .15s,border-color .15s,background .15s;}
.fab-item:hover{transform:translateX(3px);border-color:#155eef;}
.fab-item svg{width:18px;height:18px;color:#155eef;flex-shrink:0;}
html[data-theme="dark"] .fab-item svg{color:#60a5fa;}
.to-top{position:fixed;right:24px;bottom:64px;z-index:290;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:#0f172a;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 26px rgba(0,0,0,.3);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s,transform .25s,background .2s;}
.to-top.show{opacity:1;transform:none;pointer-events:auto;}
.to-top:hover{background:#155eef;}
.to-top svg{width:20px;height:20px;}
body.quiz-open .fab-wrap,body.quiz-open .to-top{opacity:0!important;pointer-events:none!important;transform:translateY(20px);}
body.cookie-visible .fab-wrap{opacity:0;pointer-events:none;}

/* ---------- Cookie banner ---------- */
.cookie-banner{position:fixed;left:20px;bottom:20px;z-index:320;max-width:380px;background:var(--ds-surface);color:var(--ds-text);border:1px solid var(--ds-border);border-radius:16px;padding:18px 18px 16px;box-shadow:var(--ds-shadow);font-family:'Instrument Sans',sans-serif;transform:translateY(20px);opacity:0;transition:opacity .3s,transform .3s;}
.cookie-banner.show{opacity:1;transform:none;}
.cookie-banner p{font-size:13px;line-height:1.6;color:var(--ds-muted);margin:0 0 12px;}
.cookie-banner strong{display:block;font-size:14px;color:var(--ds-text);margin-bottom:4px;}
.cookie-banner a{color:var(--ds-link);font-weight:600;text-decoration:underline;}
.cookie-actions{display:flex;gap:8px;}
.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;padding:10px 16px;font-family:'Instrument Sans',sans-serif;font-size:14px;font-weight:700;cursor:pointer;border:1px solid transparent;transition:background .2s,border-color .2s,transform .15s,color .2s;text-decoration:none;}
.ds-btn:active{transform:scale(.98);}
.ds-btn-primary{background:#155eef;color:#fff;}
.ds-btn-primary:hover{background:#3b82f6;}
.ds-btn-ghost{background:transparent;color:var(--ds-text);border-color:var(--ds-border);}
.ds-btn-ghost:hover{border-color:#155eef;color:#155eef;}
html[data-theme="dark"] .ds-btn-ghost:hover{color:#60a5fa;border-color:#60a5fa;}
@media(max-width:600px){.cookie-banner{left:12px;right:12px;bottom:56px;max-width:none;}.fab-wrap{left:14px;bottom:14px;}.fab-main{width:54px;height:54px;}.to-top{right:14px;bottom:60px;}}

/* ---------- Modal ---------- */
.ds-modal-backdrop{position:fixed;inset:0;z-index:5000;background:rgba(2,6,23,.62);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .2s;}
.ds-modal-backdrop.show{opacity:1;}
.ds-modal{background:var(--ds-surface);color:var(--ds-text);border:1px solid var(--ds-border);border-radius:18px;max-width:460px;width:100%;box-shadow:var(--ds-shadow);padding:26px;transform:translateY(12px) scale(.98);transition:transform .22s cubic-bezier(.22,1,.36,1);max-height:90vh;overflow:auto;font-family:'Instrument Sans',sans-serif;}
.ds-modal-backdrop.show .ds-modal{transform:none;}
.ds-modal-title{font-family:'Fraunces',serif;font-size:22px;font-weight:700;margin:0 0 10px;color:var(--ds-text);line-height:1.2;}
.ds-modal-body{font-size:15px;color:var(--ds-muted);line-height:1.65;}
.ds-modal-body p{color:var(--ds-muted);margin:0 0 10px;}
.ds-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;flex-wrap:wrap;}
.ds-modal-close{position:absolute;top:10px;right:10px;}
.ds-summary{list-style:none;padding:0;margin:8px 0 0;border:1px solid var(--ds-border);border-radius:12px;overflow:hidden;}
.ds-summary li{display:flex;justify-content:space-between;gap:14px;padding:10px 14px;border-bottom:1px solid var(--ds-border);font-size:14px;}
.ds-summary li:last-child{border-bottom:none;}
.ds-summary span:first-child{color:var(--ds-muted);}
.ds-summary span:last-child{color:var(--ds-text);font-weight:600;text-align:right;word-break:break-word;}
.ds-phone-big{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--ds-surface-2);border:1px solid var(--ds-border);border-radius:12px;padding:14px 16px;margin:6px 0 4px;}
.ds-phone-big a{font-family:'Fraunces',serif;font-size:24px;font-weight:700;color:var(--ds-text);}

/* ---------- Copy button & toast ---------- */
.copy-btn{display:inline-flex;align-items:center;gap:6px;background:rgba(21,94,239,.08);color:#155eef;border:1px solid rgba(21,94,239,.25);border-radius:8px;padding:6px 10px;font-family:'Instrument Sans',sans-serif;font-size:12px;font-weight:700;cursor:pointer;transition:background .2s,border-color .2s,color .2s;vertical-align:middle;}
.copy-btn:hover{background:#155eef;color:#fff;border-color:#155eef;}
.copy-btn svg{width:14px;height:14px;}
footer .copy-btn,.section-dark .copy-btn,.sidebar-card .copy-btn{background:rgba(255,255,255,.06);color:#cbd5e1;border-color:rgba(255,255,255,.18);}
footer .copy-btn:hover,.section-dark .copy-btn:hover,.sidebar-card .copy-btn:hover{background:#155eef;color:#fff;border-color:#155eef;}
html[data-theme="dark"] .copy-btn{color:#93c5fd;border-color:rgba(147,197,253,.3);background:rgba(147,197,253,.08);}
.ds-toast{position:fixed;left:50%;bottom:90px;transform:translate(-50%,20px);z-index:6000;background:#0f172a;color:#fff;border:1px solid rgba(255,255,255,.15);padding:10px 16px;border-radius:10px;font-family:'Instrument Sans',sans-serif;font-size:14px;font-weight:600;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;box-shadow:0 10px 30px rgba(0,0,0,.35);}
.ds-toast.show{opacity:1;transform:translate(-50%,0);}
.footer-phone-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}

/* ---------- Search ---------- */
.search-overlay{position:fixed;inset:0;z-index:5500;background:rgba(2,6,23,.66);backdrop-filter:blur(4px);display:none;align-items:flex-start;justify-content:center;padding:10vh 16px 16px;}
.search-overlay.open{display:flex;}
.search-panel{width:100%;max-width:640px;background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:18px;box-shadow:var(--ds-shadow);overflow:hidden;font-family:'Instrument Sans',sans-serif;animation:dsPop .2s cubic-bezier(.22,1,.36,1);}
@keyframes dsPop{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.search-field{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--ds-border);}
.search-field svg{width:20px;height:20px;color:var(--ds-muted);flex-shrink:0;}
.search-field input{flex:1;border:none;outline:none;background:transparent;color:var(--ds-text);font-size:17px;font-family:'Instrument Sans',sans-serif;min-width:0;}
.search-field kbd,.search-hint kbd{font-family:'Instrument Sans',sans-serif;font-size:11px;border:1px solid var(--ds-border);border-radius:6px;padding:2px 6px;color:var(--ds-muted);}
.search-results{max-height:60vh;overflow-y:auto;padding:8px;}
.search-result{display:block;padding:12px 14px;border-radius:12px;color:var(--ds-text);transition:background .15s;}
.search-result:hover,.search-result.active{background:var(--ds-surface-2);}
.search-result-title{font-weight:700;font-size:15px;color:var(--ds-text);margin-bottom:3px;}
.search-result-desc{font-size:13px;color:var(--ds-muted);line-height:1.5;}
.search-result-url{font-size:12px;color:var(--ds-link);margin-top:3px;}
.search-result mark{background:rgba(21,94,239,.15);color:inherit;border-radius:3px;padding:0 2px;}
.search-empty,.search-hint{padding:18px;font-size:14px;color:var(--ds-muted);}
.search-page-form{display:flex;gap:10px;margin:0 0 28px;flex-wrap:wrap;}
.search-page-form input{flex:1;min-width:200px;border:1.5px solid var(--ds-border);background:var(--ds-surface);color:var(--ds-text);border-radius:12px;padding:14px 16px;font-size:16px;font-family:'Instrument Sans',sans-serif;outline:none;}
.search-page-form input:focus{border-color:#155eef;}
.search-page-results .search-result{border:1px solid var(--ds-border);margin-bottom:10px;}

/* ---------- New content blocks ---------- */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.gallery-item{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:4/3;background:#1e293b;display:block;}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.22,1,.36,1);}
.gallery-item:hover img{transform:scale(1.05);}
.gallery-cap{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 12px;background:linear-gradient(transparent,rgba(2,6,23,.85));color:#fff;font-family:'Instrument Sans',sans-serif;font-size:14px;font-weight:700;display:flex;justify-content:space-between;align-items:center;}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.gallery-grid{grid-template-columns:1fr;}}
.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.post-card{display:flex;flex-direction:column;background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:16px;padding:24px;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s,border-color .2s;height:100%;}
.post-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.1);border-color:rgba(21,94,239,.35);}
.post-meta{font-size:12px;font-weight:600;color:var(--ds-muted);font-family:'Instrument Sans',sans-serif;margin-bottom:10px;letter-spacing:.02em;}
.post-card h3{font-size:19px;color:var(--ds-text);margin-bottom:10px;line-height:1.25;}
.post-card p{font-size:14px;color:var(--ds-muted);margin-bottom:16px;flex:1;}
.post-card .service-link{color:var(--ds-link);}
@media(max-width:900px){.posts-grid{grid-template-columns:1fr;}}
.remodel-band{background:linear-gradient(135deg,#0f172a 0%,#15254a 100%);border-top:1px solid rgba(255,255,255,.06);}
.remodel-band .section-heading{color:#fff;}
.remodel-band p{color:rgba(255,255,255,.7);}
.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0 30px;}
.room-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:18px;transition:background .2s,border-color .2s,transform .2s;}
.room-card:hover{background:rgba(21,94,239,.14);border-color:rgba(59,130,246,.45);transform:translateY(-3px);}
.room-card strong{display:block;color:#fff;font-family:'Fraunces',serif;font-size:17px;margin-bottom:4px;}
.room-card span{font-size:13px;color:rgba(255,255,255,.6);font-family:'Instrument Sans',sans-serif;}
@media(max-width:768px){.room-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:420px){.room-grid{grid-template-columns:1fr;}}
.scope-box{border-radius:14px;padding:20px 22px;margin:18px 0 26px;border:1px solid var(--ds-border);background:var(--ds-surface-2);}
.scope-box.no{border-left:4px solid #ef4444;}
.scope-box.yes{border-left:4px solid #155eef;}
.scope-box p{margin-bottom:0!important;}
.service-body .checklist{list-style:none;padding:0;margin:16px 0 24px;}
.service-body .checklist li{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:#475569;line-height:1.7;margin-bottom:10px;font-family:'Instrument Sans',sans-serif;}
.service-body .checklist li::before{content:"\2713";color:#155eef;font-weight:700;flex-shrink:0;}
.service-body .checklist.x li::before{content:"\2715";color:#ef4444;}
.article-body{max-width:760px;margin:0 auto;}
.article-body h2{color:var(--navy);margin:44px 0 14px;font-size:clamp(24px,3vw,32px);}
.article-body h3{color:var(--navy);margin:28px 0 10px;}
.article-body p{margin-bottom:16px;font-size:17px;}
.article-body ul,.article-body ol{padding-left:22px;margin-bottom:20px;}
.article-body li{margin-bottom:8px;color:#475569;font-size:16px;line-height:1.75;}
.article-body a{color:#155eef;font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font-family:'Instrument Sans',sans-serif;font-size:14px;color:rgba(255,255,255,.7);}
.article-meta time{color:#fff;font-weight:600;}
.article-cta{background:var(--navy);border-radius:20px;padding:36px;text-align:center;margin:48px 0 0;}
.article-cta h2{color:#fff!important;margin-top:0!important;}
.article-cta p{color:rgba(255,255,255,.7)!important;}
.page-404{min-height:70vh;display:flex;align-items:center;}
.page-404 .big{font-family:'Fraunces',serif;font-size:clamp(90px,16vw,170px);font-weight:900;line-height:1;background:linear-gradient(135deg,#60a5fa,#155eef);-webkit-background-clip:text;background-clip:text;color:transparent;}
.links-404{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:28px 0;}
.links-404 a{display:block;padding:14px 16px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);color:#fff;font-weight:600;font-family:'Instrument Sans',sans-serif;font-size:14px;transition:background .2s,border-color .2s,transform .2s;}
.links-404 a:hover{background:rgba(21,94,239,.18);border-color:#3b82f6;transform:translateY(-2px);}
@media(max-width:700px){.links-404{grid-template-columns:1fr 1fr;}}

/* ---------- Dark mode overrides for existing template ---------- */
html[data-theme="dark"] body{background:var(--ds-bg);color:#e2e8f0;}
html[data-theme="dark"] p{color:#b6c2d3;}
html[data-theme="dark"] .section-off{background:#0f1729;}
html[data-theme="dark"] .section-heading{color:#f1f5f9;}
html[data-theme="dark"] .section-heading .accent{color:#60a5fa;}
html[data-theme="dark"] .section-sub{color:#aab6c8;}
html[data-theme="dark"] .testimonial-card{background:var(--ds-surface);border-color:var(--ds-border);}
html[data-theme="dark"] .t-name,html[data-theme="dark"] .t-result{color:#f1f5f9;}
html[data-theme="dark"] .t-quote{color:#aab6c8;}
html[data-theme="dark"] .t-google-badge{color:#aab6c8;}
html[data-theme="dark"] .agg-badge{background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.35);color:#fcd34d;}
html[data-theme="dark"] .benefit-item h3,html[data-theme="dark"] .step-card h3{color:#f1f5f9;}
html[data-theme="dark"] .benefit-item p,html[data-theme="dark"] .step-card p{color:#aab6c8;}
html[data-theme="dark"] .faq-list{border-color:var(--ds-border);}
html[data-theme="dark"] .faq-item{border-color:var(--ds-border);}
html[data-theme="dark"] .faq-q{color:#f1f5f9;}
html[data-theme="dark"] .faq-q:hover,html[data-theme="dark"] .faq-q.open{background:var(--ds-surface-2);}
html[data-theme="dark"] .faq-a p{color:#aab6c8;}
html[data-theme="dark"] .faq-a p a{color:#60a5fa;}
html[data-theme="dark"] .service-body h2,html[data-theme="dark"] .service-body h3{color:#f1f5f9;}
html[data-theme="dark"] .service-body ul li,html[data-theme="dark"] .service-body .checklist li{color:#b6c2d3;}
html[data-theme="dark"] .sidebar-card{border:1px solid var(--ds-border);}
html[data-theme="dark"] .stat-card{background:var(--ds-surface);}
html[data-theme="dark"] .stat-num{color:#60a5fa;}
html[data-theme="dark"] .stat-label{color:#aab6c8;}
html[data-theme="dark"] .trust-bullet{color:#e2e8f0;}
html[data-theme="dark"] .contact-item h3{color:#f1f5f9;}
html[data-theme="dark"] .contact-item p{color:#aab6c8;}
html[data-theme="dark"] .contact-item a{color:#60a5fa;}
html[data-theme="dark"] .pricing-page-body h2,html[data-theme="dark"] .pricing-page-body h3{color:#f1f5f9;}
html[data-theme="dark"] .pricing-page-body p,html[data-theme="dark"] .pricing-page-body ul li,html[data-theme="dark"] .checklist li{color:#b6c2d3;}
html[data-theme="dark"] .pricing-range-box{background:var(--ds-surface);border-color:rgba(96,165,250,.3);border-left-color:#3b82f6;}
html[data-theme="dark"] .pricing-range-box .range-num{color:#f1f5f9;}
html[data-theme="dark"] .pricing-range-box .range-label{color:#60a5fa;}
html[data-theme="dark"] .pricing-range-box .range-note{color:#aab6c8;}
html[data-theme="dark"] .budget-summary{background:var(--ds-surface);}
html[data-theme="dark"] .budget-row{border-color:var(--ds-border);}
html[data-theme="dark"] .budget-label{color:#b6c2d3;}
html[data-theme="dark"] .budget-val{color:#f1f5f9;}
html[data-theme="dark"] .scenario-box,html[data-theme="dark"] .pricing-cta-block,html[data-theme="dark"] .apply-form,html[data-theme="dark"] .article-cta{border:1px solid var(--ds-border);}
html[data-theme="dark"] .careers-card{background:var(--ds-surface);border-color:var(--ds-border);}
html[data-theme="dark"] .careers-card h3{color:#f1f5f9;}
html[data-theme="dark"] .careers-card p{color:#aab6c8;}
html[data-theme="dark"] .article-body h2,html[data-theme="dark"] .article-body h3{color:#f1f5f9;}
html[data-theme="dark"] .article-body li{color:#b6c2d3;}
html[data-theme="dark"] .article-body a{color:#60a5fa;}
html[data-theme="dark"] .hero-quiz-card{background:rgba(19,29,51,.97);border:1px solid var(--ds-border);}
html[data-theme="dark"] .hero-quiz-header{border-color:var(--ds-border);}
html[data-theme="dark"] .hero-quiz-q{color:#f1f5f9;}
html[data-theme="dark"] .hero-quiz-opts button{background:#0f172a;border-color:var(--ds-border);color:#e2e8f0;}
html[data-theme="dark"] .hero-quiz-opts button:hover,html[data-theme="dark"] .hero-quiz-opts button.selected{background:rgba(21,94,239,.2);border-color:#3b82f6;color:#fff;}
html[data-theme="dark"] .hero-quiz-input{background:#0f172a;border-color:var(--ds-border);color:#f1f5f9;}
html[data-theme="dark"] .hero-quiz-label{color:#60a5fa;}
html[data-theme="dark"] .h-back{border-color:var(--ds-border);color:#aab6c8;}
html[data-theme="dark"] .h-back:hover{background:#16213a;color:#fff;}
html[data-theme="dark"] .h-next{background:#155eef;}
html[data-theme="dark"] #heroQuizSuccess p{color:#e2e8f0!important;}
html[data-theme="dark"] section:not(.section-dark):not(.final-cta) .city-chip{background:var(--ds-surface);border-color:var(--ds-border);color:#e2e8f0;}
html[data-theme="dark"] section:not(.section-dark):not(.final-cta) .city-chip:hover{border-color:#3b82f6;color:#fff;}
html[data-theme="dark"] .post-card h3{color:#f1f5f9;}
/* Inline-style surfaces in the original template */
html[data-theme="dark"] [style*="background:var(--off-white)"],html[data-theme="dark"] [style*="background:var(--white)"],html[data-theme="dark"] [style*="background:#fff"]{background:var(--ds-surface)!important;}
html[data-theme="dark"] [style*="border:1px solid #e2e8f0"],html[data-theme="dark"] [style*="border-bottom:1px solid #e2e8f0"]{border-color:var(--ds-border)!important;}
html[data-theme="dark"] [style*="color:#0f172a"],html[data-theme="dark"] [style*="color:var(--navy)"]{color:#f1f5f9!important;}
html[data-theme="dark"] [style*="color:#64748b"],html[data-theme="dark"] [style*="color:#475569"]{color:#aab6c8!important;}
html[data-theme="dark"] [style*="color:var(--accent)"],html[data-theme="dark"] [style*="color:#155eef"]{color:#60a5fa!important;}
html[data-theme="dark"] .sidebar-card [style*="color:#0f172a"]{color:#f1f5f9!important;}
html[data-theme="dark"] .ds-links-light a{color:#e2e8f0!important;}
html[data-theme="dark"] .legal-body h2{color:#f1f5f9;}
html[data-theme="dark"] .legal-body li{color:#b6c2d3;}
html[data-theme="dark"] .legal-body a{color:#60a5fa;}
html[data-theme="dark"] .city-chip-light{background:var(--ds-surface);border-color:var(--ds-border);color:#e2e8f0;}
html[data-theme="dark"] .city-chip-light:hover{border-color:#3b82f6;color:#fff;}
.city-chip-light:hover{border-color:#155eef;color:#155eef;}
@media(min-width:901px){.services-grid{grid-template-columns:repeat(3,1fr)!important;}}
@media(min-width:901px){.posts-grid.two{grid-template-columns:repeat(2,1fr);}}
#quizSuccess{display:none;}
