/* One additive refinement layer over the existing static-site layouts. */
:root{--ink:#f5f7f6;--ink2:#e8eef0;--text:#1e2933;--muted:#4f606b;--soft:#687985;--accent:#c92f3a;--line:rgba(30,41,51,.15);color-scheme:light}
body{background:#f5f7f6;color:var(--text)}
#site-bg{background:#f5f7f6 url('/media/technical-platinum.svg') center top/cover no-repeat;animation:none;transform:none;filter:none;will-change:auto}
#site-bg:before{display:block;position:absolute;content:"";inset:15% -25% -40%;background:repeating-linear-gradient(90deg,transparent 0 119px,#35495808 120px),repeating-linear-gradient(0deg,transparent 0 119px,#35495808 120px);transform:perspective(1100px) rotateX(55deg);opacity:.5;mask-image:linear-gradient(transparent,#000 30%,transparent 90%)}
#site-bg:after{width:70vmin;height:70vmin;top:10%;right:-35vmin;border-color:#6079851c;box-shadow:0 0 0 45px #ffffff55,0 0 0 95px #60798506,0 0 0 160px #ffffff33;animation:revlineRing 32s ease-in-out infinite alternate}
#shade{background:linear-gradient(180deg,#ffffff05,#f5f7f61f 60%,#f5f7f644)}
header{background:#f8faf9ed;border-color:var(--line);backdrop-filter:blur(16px)}
.nav{position:relative;min-height:76px;gap:20px}.brand{min-width:225px}.brand-title{color:var(--text);font-style:normal}.brand-title b{color:var(--accent)}.brand-sub{color:var(--muted)}
.navlinks{gap:20px}.navlinks a,.nav-phone{color:var(--text)}.navlinks a{min-height:44px;display:inline-flex;align-items:center}
.navlinks a:hover,.navlinks a[aria-current=page],.navlinks a.is-parent-active,.mobile-panel a[aria-current=page]{color:#a0222d;text-decoration:underline;text-underline-offset:6px}
.nav-cta,.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 7px 20px #c92f3a1a}.nav-cta:hover,.btn.primary:hover{background:#a7232d;border-color:#a7232d}
.btn{min-height:48px;border-radius:6px;border-color:#b4c1c8;background:#ffffffb8;color:var(--text);transition:background .2s,border-color .2s,transform .2s}.btn:hover{transform:translateY(-2px);border-color:#465964;background:#fff}.menu{min-width:44px;min-height:44px;border-radius:6px}
h1,h2,h3,.service-line h3,.statement strong,.proof-facts strong,.price-row strong,.price-row b{color:var(--text)}
.section-tag,.kicker,.page-kicker,.service-no,.service-arrow{color:#a7232d}
.hero{padding:48px 0 50px;min-height:0}.hero:before{color:#607580;opacity:.5}.hero-grid{gap:48px;align-items:center;grid-template-columns:1.05fr 1fr}
.hero-slogan{margin:16px 0 22px;font-size:clamp(2.65rem,4.7vw,4.8rem);font-weight:900;line-height:.99;letter-spacing:-.06em;color:var(--text)}.hero-slogan em{color:var(--accent);font-style:normal}
.hero h1{font-size:clamp(1.2rem,1.8vw,1.65rem);line-height:1.25;letter-spacing:-.025em;font-weight:750;font-style:normal;text-transform:none;max-width:30ch;margin:0 0 15px}
.hero-copy{font-size:1rem;line-height:1.65;max-width:53ch;color:var(--muted);margin:0}.hero-local{color:#536773;line-height:1.6}.hero .actions{margin-top:24px}
.hero-field{height:535px;border:1px solid #fff;clip-path:none;transform:none;box-shadow:0 25px 60px #1e29331f;border-radius:10px;overflow:hidden}
.field-picture{display:block;width:100%;height:100%}.hero-field img,.hero-field:hover img{width:100%;height:100%;object-fit:cover;object-position:center 46%;filter:saturate(.8) contrast(1.03);animation:none;transform:none}
.hero-field:before{width:3px}.hero-field .hero-index{background:#ffffffdf;color:#263a45;padding:8px 11px;top:18px;right:18px;font-size:.62rem;letter-spacing:.1em}
.hero-field .photo-overlay{bottom:24px;left:24px;right:24px}.hero-field .photo-overlay strong{font-size:1.35rem;letter-spacing:-.035em}.hero-field .photo-overlay span{font-size:.59rem;color:#e5ebee;letter-spacing:.12em}
.statement{margin-top:36px;background:#ffffff96;border-color:var(--line)}.statement strong{font-size:.98rem}.statement span{color:var(--muted)}
main>.section{border-color:var(--line)}main>.section:nth-of-type(2n){background:#ffffff63;backdrop-filter:none}main>.section:nth-of-type(2n+1){background:#e8eef04f}
.section-intro p,.proof-copy p,.process p,.service-line p,.price-row span,.price-note,.prose p,.prose li,.inside-lede,.aside-box p,.form-note,.status,.secondary-copy{color:var(--muted)}
.section-intro h2 em,.proof-copy h2 em{color:var(--accent)}.issue-strip{background:#ffffff94;border-color:var(--line)}.issue{border-color:var(--line)}.issue strong{color:var(--text)}.issue span{color:var(--muted)}.issue small{color:#a7232d}.issue:hover{background:#c92f3a07}
.service-line{border-color:var(--line)}.service-line:hover{background:#ffffff94}.prose p a,.prose li a,.breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.inside-main{background:#f5f7f63f}.inside-main h1{font-size:clamp(2.1rem,5.5vw,4.8rem);letter-spacing:-.05em;line-height:1.06;overflow-wrap:break-word}.inside-main h1,.prose h2,.prose h3,.aside-box h3{color:var(--text)}
.inside-lede{max-width:65ch}.breadcrumb,.breadcrumb a{color:#536773}.breadcrumb a{display:inline-block;padding-block:7px}
.aside-box{background:#ffffffc9;border-color:var(--line);border-radius:8px;box-shadow:0 12px 40px #1e29330a}.aside-box .btn{white-space:normal;text-align:center;line-height:1.4;overflow-wrap:anywhere}
.proof-photo{box-shadow:0 18px 45px #1e293314;border-color:var(--accent);border-radius:8px}.proof-diag img{filter:saturate(.9) contrast(1.03)}
.more-work{margin-top:20px}.more-work summary{min-height:48px;cursor:pointer;color:#9b2631;font-weight:700;padding:13px 0;text-decoration:underline;text-underline-offset:5px}.more-work .work-media{margin-top:12px}
.work-media .gallery-card{display:block;border-radius:8px}.gallery-card{padding:0;text-align:left;font:inherit}.gallery-card:hover{transform:translateY(-4px)}
.service-evidence{margin:30px 0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.service-evidence img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}.service-evidence figcaption{padding:12px 16px;color:var(--muted);font-size:.78rem;line-height:1.5}
.article-byline{padding:14px 0;border-block:1px solid var(--line);font-size:.85rem;color:var(--muted)}.article-byline a{color:#9b2631;text-decoration:underline;text-underline-offset:3px}
#fleet{background:#1e2933;color:#fff}#fleet p,#fleet .meta-list p{color:#d5dfe5}#fleet .section-tag{color:#f9adb5}#fleet h2 em{color:#ffb2bb}#fleet .btn.primary{background:#c92f3a;color:#fff;border-color:#c92f3a}
#payments{background:#ffffff08;border-color:#ffffff30;border-radius:8px}
.form-wrap{border-color:var(--line);border-top-color:var(--accent);background:#fffffff0;border-radius:8px;box-shadow:0 18px 50px #1e29330a}.form-intro-note{margin:0 0 24px;color:var(--muted);font-size:.9rem}
.field label{color:var(--text)}.field input,.field select,.field textarea{background:#f4f7f7;color:var(--text);border-color:#bcc9cf;border-radius:5px;min-height:48px;font-size:1rem}.field input::placeholder,.field textarea::placeholder{color:#60727d}.field select option{background:#fff;color:var(--text)}.field input:focus,.field select:focus,.field textarea:focus{border-color:#a7232d;box-shadow:0 0 0 3px #c92f3a12}
.email-address{color:var(--text)}.status{margin-top:8px}footer{background:#1e2933;color:#fff}footer p,footer a,footer .brand-sub{color:#d6e0e5}footer .copyright{color:#bacbd4}
.review-band{border-color:var(--line)}.review-band p{color:var(--muted)}.city-links a{background:#ffffffbd;color:var(--text);border-color:#b4c1c8;min-height:44px}.city-links a:hover{background:#1e2933;border-color:#1e2933}
.hero-review{margin:16px 0 0;font-size:.85rem;line-height:1.6}.hero-review a{color:#9b2631;text-decoration:underline;text-underline-offset:4px}.hero-review small{display:block;color:var(--muted);font-size:.7rem}
.hero-contact-note{margin:12px 0 0;max-width:60ch;line-height:1.6;color:var(--muted)}.hero-contact-note>a{display:inline-flex;align-items:center;min-height:44px;font-size:.82rem;font-weight:800;color:#9b2631;text-decoration:underline;text-underline-offset:4px}.hero-contact-note small{display:block;font-size:.8rem}
.customer-quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}.customer-quotes figure{margin:0;padding:24px;border:1px solid var(--line);border-radius:8px;background:#ffffffbd}.customer-quotes blockquote{margin:0 0 20px}.customer-quotes blockquote p{font-size:1.1rem;line-height:1.6;color:var(--text)}.customer-quotes figcaption{font-size:.82rem;line-height:1.6}.customer-quotes figcaption a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}.customer-quotes figcaption span{display:block;color:var(--muted)}
@media(max-width:600px){.customer-quotes{grid-template-columns:1fr;gap:14px}.customer-quotes figure{padding:20px}}
@media(max-width:1100px){.navlinks{gap:12px}.brand{min-width:190px}.nav{gap:15px}.hero-grid{gap:28px}}
@media(max-width:960px){
 .nav{min-height:72px}.navlinks,.nav-phone,.nav-cta,body:has(.inside-main) .navlinks{display:none}body:has(.inside-main) .nav{flex-wrap:nowrap;padding-block:0}.menu{display:block;margin-left:auto}
 .mobile-panel{position:absolute;top:100%;left:-15px;right:-15px;background:#fafcfb;border:1px solid var(--line);border-radius:0 0 8px 8px;max-height:calc(100dvh - 145px);overflow:auto;overscroll-behavior:contain;padding:14px;box-shadow:0 16px 32px #1e293314}.mobile-panel.open{display:grid;grid-template-columns:1fr 1fr;gap:4px}.mobile-panel a{min-height:48px;display:flex;align-items:center;padding:9px 12px;font-size:.8rem;font-weight:700;color:var(--text)}
 .hero-grid{grid-template-columns:1fr;gap:26px}.hero-field{height:auto;aspect-ratio:1.85/1;max-height:360px}.hero{padding:30px 0 35px}.hero-slogan{font-size:clamp(2.5rem,7.5vw,4.5rem)}.hero h1{max-width:none}.hero-copy{max-width:70ch}
 .mobile-cta{display:grid;position:fixed;bottom:0;left:0;right:0;z-index:60;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:8px 9px max(8px,env(safe-area-inset-bottom));background:#f5f7f6f5;backdrop-filter:blur(12px);border-top:1px solid var(--line)}.mobile-cta a{display:grid;place-items:center;text-align:center;font-size:.75rem;font-weight:800;color:var(--text);border:1px solid #b4c1c8;border-radius:5px;min-height:44px}.mobile-cta a:last-child{background:var(--accent);border-color:var(--accent);color:#fff}.content-grid{grid-template-columns:1fr;gap:30px}.aside-box{position:static}.footer-grid{padding-bottom:100px}
}
@media(max-width:600px){
 .hero-slogan{font-size:clamp(2.15rem,8.2vw,2.9rem);margin:12px 0 16px}.hero h1{font-size:1.18rem;margin-bottom:12px}.hero-copy{font-size:.92rem;line-height:1.55}.hero .actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.hero .actions .btn{padding:12px 6px;font-size:.74rem;min-height:48px;letter-spacing:.015em;text-align:center;line-height:1.4}.hero-local{font-size:.58rem;margin:12px 0 0}
 .hero-field{margin:0;aspect-ratio:1.85/1}.hero-field .photo-overlay{left:15px;right:15px;bottom:15px}.hero-field .photo-overlay strong{font-size:1rem}.hero-field .photo-overlay span{font-size:.5rem}.hero-field .hero-index{font-size:.48rem;padding:6px 8px;top:11px;right:11px}
 .statement{grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:22px}.statement div,.statement div:not(:first-child){padding:11px 0;border:0}.statement strong{font-size:.76rem;line-height:1.3}.statement span{font-size:.61rem;line-height:1.5}
 .inside-main{padding-top:32px}.breadcrumb{margin-bottom:22px;font-size:.65rem}.inside-lede{font-size:1.05rem;line-height:1.7}.content-grid{margin-top:32px}.prose h2{font-size:1.7rem}.prose h3{font-size:1.14rem}.prose p,.prose li{font-size:.98rem}.mobile-panel a{font-size:.73rem;padding:9px}
 .form-wrap{padding:24px 17px}.map iframe,.map{height:290px;min-height:290px}.work-media{gap:14px}.service-evidence img{aspect-ratio:4/3}
}
@media(prefers-reduced-motion:reduce){#site-bg:before,#site-bg:after,.hero-field img{animation:none!important;transform:none!important}.motion-item{opacity:1!important;transform:none!important;transition:none!important}}
/* Keep text and contact controls at full contrast during entrance movement. */
.motion-ready .motion-item:not(.motion-in){opacity:1}
.proof-facts span{color:#a7232d}
footer .brand-title{color:#fff}footer .brand-title b{color:#ffb2bb}
.hero-field .field-picture{position:absolute;inset:0}
.proof-diag picture{display:block;width:100%;height:100%}
.case-context{color:var(--muted);line-height:1.65;margin-top:22px;max-width:75ch}
.case-context a{color:#9b2631;text-decoration:underline;text-underline-offset:3px}

/* Make scope, starting cost and contact options visible before long service articles. */
.service-contact{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);gap:24px;align-items:center;margin:26px 0 0;padding:24px;border:1px solid var(--line);border-radius:8px;background:#ffffffdc}
.service-contact h2{margin:0 0 10px;font-size:clamp(1.25rem,2.4vw,1.7rem);line-height:1.25;color:var(--text);letter-spacing:-.025em}
.service-contact p{margin:0;color:var(--muted);line-height:1.65;font-size:1rem;max-width:65ch}
.service-contact .service-contact-note{margin-top:10px;font-size:.85rem}
.service-contact-actions{display:grid;gap:10px;min-width:0}
.service-contact-actions .btn{min-height:48px;white-space:normal;text-align:center;line-height:1.4;overflow-wrap:anywhere}
.service-contact-request{display:flex;align-items:center;justify-content:center;min-height:44px;text-align:center;font-size:.85rem;text-decoration:underline;text-underline-offset:4px;color:var(--text)}
@media(max-width:700px){.service-contact{grid-template-columns:1fr;gap:18px;padding:20px}.service-contact-actions .btn{font-size:.78rem}}
