/* ===== Fair Contractors — site controls + dark theme ===== */
.site-controls{display:flex;align-items:center;gap:8px;margin-left:auto}
.utility .wrap{align-items:center}
.utility .wrap>a[href^="tel"]{margin-left:auto}
.utility .site-controls{margin-left:14px}
.ui-toggle{appearance:none;border:1px solid #ffffff55;background:#ffffff14;color:#fff;border-radius:999px;min-height:26px;height:26px;padding:0 10px;font:600 10px/1 Arial,Helvetica,sans-serif;letter-spacing:.14em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background .2s,border-color .2s,transform .2s}
.ui-toggle:hover{background:#ffffff28;border-color:#ffffff99}
.ui-toggle:focus-visible{outline:2px solid #b8dcf2;outline-offset:2px}
.theme-toggle{width:26px;padding:0}
.theme-toggle svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle .ico-moon{display:none}
[data-theme=dark] .theme-toggle .ico-moon{display:block}
[data-theme=dark] .theme-toggle .ico-sun{display:none}
@media(max-width:600px){.utility .wrap{flex-wrap:wrap;row-gap:6px}.utility .site-controls{margin-left:0}}

/* ---- Dark palette ---- */
[data-theme=dark]{color-scheme:dark;
  --navy:#e6eef6;--ink:#f3f7fb;--ivory:#0a1930;--paper:#11243d;--pale:#162c48;--gold:#8fc3ea;--slate:#a9bccf;--line:#28415e;--ice:#1a3a5c;
  --d-bg:#0a1930;--d-surface:#11243d;--d-surface-2:#162c48;--d-line:#28415e;--d-accent:#8fc3ea;--d-accent-2:#5fa3d6;--d-deep:#06101f}
[data-theme=dark] body{background:var(--d-bg);color:var(--navy)}
[data-theme=dark] p{color:var(--slate)}
[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3{color:var(--ink)}
[data-theme=dark] a:hover{color:var(--d-accent)}
[data-theme=dark] .eyebrow{color:var(--d-accent)}
[data-theme=dark] ::selection{background:#5fa3d6;color:#06101f}
/* chrome */
[data-theme=dark] .utility{background:var(--d-deep);color:#c9d8e6}
[data-theme=dark] .site-header{background:rgba(10,25,48,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom-color:var(--d-line)}
[data-theme=dark] .site-header nav a[aria-current=page]{color:var(--d-accent);border-bottom-color:var(--d-accent)}
[data-theme=dark] .brand img{filter:brightness(0) invert(1)}
[data-theme=dark] .brand{color:var(--ink)}
[data-theme=dark] .menu-toggle{color:var(--ink);border-color:var(--d-line)}
[data-theme=dark] .button,[data-theme=dark] .site-header .button,[data-theme=dark] .estimate-form>.button,[data-theme=dark] .filters button[aria-pressed=true]{background:var(--d-accent);color:#06101f;box-shadow:0 6px 18px #00000055}
[data-theme=dark] .button:hover,[data-theme=dark] .estimate-form>.button:hover{background:#b8dcf2;color:#06101f}
[data-theme=dark] .button.secondary{background:transparent;color:var(--ink);border-color:var(--d-line)}
[data-theme=dark] .button.secondary:hover{background:var(--d-surface-2)}
[data-theme=dark] .text-link{color:var(--ink);border-bottom-color:#4b6a8c}
[data-theme=dark] .trust-strip{background:var(--d-surface);border-color:var(--d-line);color:#c9d8e6}
[data-theme=dark] .trust-strip span+span{border-left-color:var(--d-line)}
/* home hero stays navy — deepen slightly so it sits on the dark page */
[data-theme=dark] .architecture-hero{background:#0c2240}
[data-theme=dark] .architecture-copy .button{background:var(--d-accent);color:#06101f}
[data-theme=dark] .architecture-copy .button:hover{background:#b8dcf2}
/* surfaces */
[data-theme=dark] .service-card,[data-theme=dark] .note,[data-theme=dark] .review,[data-theme=dark] .estimate-form,[data-theme=dark] .staff-card,[data-theme=dark] .lightbox,[data-theme=dark] .chat-panel,[data-theme=dark] .years-taglines li,[data-theme=dark] .person{background:var(--d-surface);border-color:var(--d-line);color:var(--navy)}
[data-theme=dark] .service-card:hover{background:var(--d-surface-2)}
[data-theme=dark] .staff-card,[data-theme=dark] .person{border-top-color:var(--d-line)}
[data-theme=dark] .staff-portrait{background:var(--d-surface-2)}
[data-theme=dark] .years-hero{background:var(--d-surface);border-bottom-color:var(--d-line)}
[data-theme=dark] .years-number,[data-theme=dark] .years-word,[data-theme=dark] .years-taglines li,[data-theme=dark] .years-mark{color:var(--ink)}
[data-theme=dark] .years-plus,[data-theme=dark] .years-est{color:var(--d-accent)}
[data-theme=dark] .years-est span{background:var(--d-accent-2)}
[data-theme=dark] .years-sub,[data-theme=dark] .years-inbiz{color:var(--slate)}
[data-theme=dark] .years-taglines li{border-left-color:var(--d-accent)}
[data-theme=dark] .years-taglines li:nth-child(even){border-left-color:var(--d-accent-2)}
[data-theme=dark] .meta-grid{background:var(--d-surface-2)}
[data-theme=dark] .meta-grid span{color:var(--slate)}
[data-theme=dark] .home-review{background:var(--d-surface);color:var(--ink)}
[data-theme=dark] .home-review blockquote{color:var(--ink)}
[data-theme=dark] .cta{background:linear-gradient(110deg,#0f2b4b,#17446b);color:var(--ink)}
[data-theme=dark] .cta p{color:#c9d8e6}
[data-theme=dark] .cta .button{background:var(--d-accent);color:#06101f}
[data-theme=dark] .process-section{background:linear-gradient(110deg,#0c2240,#163f63)}
[data-theme=dark] .scope-list li{border-bottom-color:var(--d-line);color:var(--navy)}
[data-theme=dark] .scope-list li::before{color:var(--d-accent)}
[data-theme=dark] .filters button{color:var(--ink);border-color:var(--d-line);background:transparent}
[data-theme=dark] .filters button:hover{background:var(--d-surface-2)}
[data-theme=dark] .project-photo,[data-theme=dark] .detail-photos figure,[data-theme=dark] .natural-details .natural-photo,[data-theme=dark] .page-gallery .natural-gallery .project-photo,[data-theme=dark] .prepare-section figure,[data-theme=dark] .planning-feature figure,[data-theme=dark] .contact-team-photo,[data-theme=dark] .about-team-photo{background:var(--d-surface-2)}
[data-theme=dark] .photo-expand{background:#11243dee;color:var(--ink)}
/* forms */
[data-theme=dark] .estimate-form input,[data-theme=dark] .estimate-form select,[data-theme=dark] .estimate-form textarea,[data-theme=dark] .form-grid input,[data-theme=dark] .form-grid select,[data-theme=dark] .form-grid textarea,[data-theme=dark] .file-field input[type=file]{background:#0c1d33;color:var(--ink);border-color:var(--d-line)}
[data-theme=dark] .estimate-form input:focus,[data-theme=dark] .estimate-form select:focus,[data-theme=dark] .estimate-form textarea:focus{border-color:var(--d-accent);outline-color:var(--d-accent)}
[data-theme=dark] .form-grid label{color:var(--ink)}
[data-theme=dark] .file-field input[type=file]::file-selector-button{background:var(--d-accent);color:#06101f}
[data-theme=dark] .estimate-form .form-note,[data-theme=dark] .file-hint{color:var(--slate)}
/* footer + mobile bar + chat */
[data-theme=dark] footer{background:var(--d-deep);color:#dbe6f0}
[data-theme=dark] .footer-bottom{border-top-color:var(--d-line)}
[data-theme=dark] .footer-brand span,[data-theme=dark] .footer-grid a:hover{color:var(--d-accent)}
[data-theme=dark] .mobile-actions{background:rgba(6,16,31,.96);border-top:1px solid var(--d-line)}
[data-theme=dark] .mobile-actions a{background:var(--d-surface-2);color:var(--ink)}
[data-theme=dark] .mobile-actions a:last-child{background:var(--d-accent);color:#06101f}
[data-theme=dark] .chat-launch{background:var(--d-accent);color:#06101f}
[data-theme=dark] .chat-launch:hover{background:#b8dcf2}
[data-theme=dark] .chat-options a:hover{background:var(--d-surface-2)}
[data-theme=dark] .chat-close{color:var(--ink)}
[data-theme=dark] .lightbox-close{color:var(--ink)}
[data-theme=dark] .lightbox::backdrop{background:#03080fe6}
[data-theme=dark] img:not(.brand img):not(.theme-toggle svg){filter:brightness(.94)}
[data-theme=dark] .digital-panel{background:linear-gradient(135deg,#11243d,#0c1d33);color:var(--ink)}
[data-theme=dark] .initial{background:linear-gradient(140deg,#1a3a5c,#0f2b4b);color:var(--ink)}
html{transition:background-color .25s ease}
body,.site-header,.service-card,.note,.review,.estimate-form,.staff-card,.years-hero,.years-taglines li,.trust-strip,footer{transition:background-color .25s ease,border-color .25s ease,color .25s ease}
/* ---- second pass: hard-coded light surfaces ---- */
[data-theme=dark] .projects-section,[data-theme=dark] .quote-section,[data-theme=dark] .route-card,[data-theme=dark] .route-card:hover,[data-theme=dark] .compact-footer,[data-theme=dark] .wide-photo,[data-theme=dark] .work-focus figure{background:var(--d-bg);color:var(--navy)}
[data-theme=dark] .projects-section{background:var(--d-surface)}
[data-theme=dark] .projects-section .staff-card,[data-theme=dark] .projects-section .service-card,[data-theme=dark] .projects-section .review,[data-theme=dark] .projects-section .note{background:var(--d-bg)}
[data-theme=dark] .home-review{background:var(--d-surface)}
[data-theme=dark] .estimate-form{background:var(--d-surface);border:1px solid var(--d-line)}
[data-theme=dark] .site-header nav,[data-theme=dark] .site-header nav.open{background:#0a1930;border-color:var(--d-line)}
[data-theme=dark] .cinematic-copy .button,[data-theme=dark] .team-led-copy .button,[data-theme=dark] .cta .button{background:var(--d-accent);border-color:var(--d-accent);color:#06101f}
[data-theme=dark] caption{background:var(--d-surface-2)}
[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:#0c1d33;color:var(--ink);border-color:var(--d-line)}
[data-theme=dark] .route-card{border-color:var(--d-line)}
[data-theme=dark] .route-card h3,[data-theme=dark] .project-card h3,[data-theme=dark] .service-card h3,[data-theme=dark] .staff-card h3,[data-theme=dark] .review blockquote,[data-theme=dark] .note h3,[data-theme=dark] .person h3{color:var(--ink)}
[data-theme=dark] .project-card>p:last-child,[data-theme=dark] .service-card p,[data-theme=dark] .person p{color:var(--slate)}
[data-theme=dark] .trust-strip span{color:#c9d8e6}
[data-theme=dark] .text-link:hover{color:var(--d-accent);border-bottom-color:var(--d-accent)}
[data-theme=dark] .section-heading h2,[data-theme=dark] .split-copy h2,[data-theme=dark] .page-intro h1,[data-theme=dark] .service-hero h1{color:var(--ink)}
[data-theme=dark] .lead{color:var(--slate)}
[data-theme=dark] .utility a{color:#c9d8e6}
[data-theme=dark] .visual-routes,[data-theme=dark] .visual-routes a,[data-theme=dark] .visual-routes span{color:var(--ink);border-color:var(--d-line)}
[data-theme=dark] .visual-routes a:hover{color:var(--d-accent)}
[data-theme=dark] .site-header .brand img,[data-theme=dark] .footer-brand img{filter:brightness(0) invert(1)!important}
