@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@400;500;600&family=Poppins:wght@600;700;800&display=swap');
:root{--navy:#0F1B33;--navy-2:#16233F;--navy-3:#1C2A48;--red:#C8202A;--red-2:#E02830;--paper:#F5F5F3;--paper-2:#ECECE8;--steel:#7B8494;--white:#fff;--ok:#4CAF6D}
html{scroll-behavior:smooth}body{background:var(--paper);color:var(--navy);font-family:Inter,sans-serif}.font-poppins{font-family:Poppins,sans-serif}.font-mono{font-family:'IBM Plex Mono',monospace}.nav-shell{transition:.25s ease}.nav-shell.scrolled{padding-top:.65rem;padding-bottom:.65rem;box-shadow:0 18px 40px #0f1b3330;background:#0f1b33f2;backdrop-filter:blur(12px)}.eyebrow{display:flex;align-items:center;gap:.6rem;color:var(--red);font:500 .7rem 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase}.eyebrow:before{content:'';width:2rem;height:2px;background:var(--red)}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}.line-link{position:relative}.line-link:after{content:'';position:absolute;left:0;bottom:-3px;width:0;height:1px;background:currentColor;transition:.25s}.line-link:hover:after,.line-link:focus:after{width:100%}.work-order{box-shadow:0 25px 70px #08122555}.pulse-dot{animation:pulse 2s infinite}@keyframes pulse{0%,100%{box-shadow:0 0 0 0 #4caf6d66}50%{box-shadow:0 0 0 7px #4caf6d00}}.hero-grid{background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:42px 42px}.service-card,.soft-card{transition:transform .25s,box-shadow .25s}.service-card:hover,.soft-card:hover{transform:translateY(-5px);box-shadow:0 18px 34px #0f1b3315}.mobile-call{display:none}.lightbox{background:#071022ee}.lightbox img{max-height:78vh}.filter-active{background:var(--red)!important;color:white!important}.faq-answer{display:none}.faq-item.open .faq-answer{display:block}.faq-item.open .faq-chevron{transform:rotate(180deg)}.faq-chevron{transition:.2s}.logo-img{width:auto;height:3.2rem;max-width:12rem;object-fit:contain}.hero-logo{height:4rem;max-width:15rem}@media(max-width:767px){.mobile-call{display:block}.hero-grid{background-size:28px 28px}.logo-img{height:2.8rem;max-width:10.5rem}.hero-logo{height:3.5rem;max-width:13rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
/* Local fallback layer: keeps the design tokens reliable when CDN utilities are unavailable. */
.bg-navy{background-color:#0F1B33!important}.bg-navy2{background-color:#16233F!important}.bg-navy3{background-color:#1C2A48!important}.bg-red{background-color:#C8202A!important}.bg-red2{background-color:#E02830!important}.bg-paper{background-color:#F5F5F3!important}.bg-paper-2{background-color:#ECECE8!important}.bg-ok{background-color:#4CAF6D!important}.text-white{color:#fff!important}.text-navy{color:#0F1B33!important}.text-red{color:#C8202A!important}.text-steel{color:#7B8494!important}.border-white\/25{border-color:#ffffff40!important}.border-white\/10{border-color:#ffffff1a!important}.bg-ok\/10{background-color:#4caf6d1a!important}.bg-steel\/30{background-color:#7B84944d!important}.bg-navy3\/30{background-color:#1C2A484d!important}.bg-red\/30{background-color:#C8202A4d!important}
body:before{content:'NOW SERVING PLANTATION, FL  ·  DIAGNOSIS IS ALWAYS FREE  ·  CALL (754) 223-5452';display:block;position:fixed;inset:0 0 auto;z-index:70;height:32px;background:#C8202A;color:#fff;text-align:center;font:500 10px/32px 'IBM Plex Mono',monospace;letter-spacing:.06em;white-space:nowrap;overflow:hidden}
header.fixed{top:32px!important}main{padding-top:32px}.lightbox:not(.hidden){display:flex}
header.bg-navy{background:transparent!important;padding:.75rem!important}header.bg-navy nav{background:#0F1B33;border-radius:1rem;padding:.75rem 1.25rem;box-shadow:0 18px 40px #0f1b3330}
header.bg-navy nav{width:100%;box-sizing:border-box;min-height:56px}header.bg-navy nav>a:first-child{flex:none}header.bg-navy nav>a:last-child{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;flex:none}
header.bg-navy nav{position:relative}header.bg-navy nav>a:last-child{font-size:0!important;width:0;min-width:0;padding:0;overflow:hidden}header.bg-navy nav:after{content:'Call us';position:absolute;right:1rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;background:#C8202A;color:#fff;border-radius:999px;padding:.7rem 1rem;font:600 12px Inter,sans-serif;white-space:nowrap}
@media(max-width:1023px){header.bg-navy nav{width:calc(100vw - 1.5rem)!important;max-width:none!important;margin-left:0!important;margin-right:0!important}}
@media(max-width:1023px){header.bg-navy nav>a:first-child{position:absolute;left:50%;transform:translateX(-50%)}header.bg-navy:after{content:'Call us';position:fixed;right:1rem;top:48px;z-index:80;background:#C8202A;color:#fff;border-radius:999px;padding:.7rem 1rem;font:600 12px Inter,sans-serif}}
@media(max-width:767px){body:before{content:'PLANTATION, FL  ·  FREE DIAGNOSIS  ·  (754) 223-5452';font-size:9px}}
@media(max-width:1023px){.nav-shell nav>[data-menu]{display:block!important;position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:4;background:transparent!important;color:#fff!important;border:0;font-size:24px;line-height:1}}
.nav-shell{border:1px solid #ffffff2b;box-shadow:0 18px 40px #050b1a66,0 0 0 1px #0f1b3322;position:relative}.nav-shell:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px 0 #ffffff12}.site-footer{border-top:1px solid #ffffff1c}body{font-size:17px;line-height:1.7}main p:not(.font-mono){font-size:1.06rem;line-height:1.75}main p.text-sm:not(.font-mono){font-size:1rem}main h2{letter-spacing:-.025em}main h3{letter-spacing:-.015em}.service-card,.tool-card,.soft-card{padding:1.75rem}.service-card p,.tool-card p{line-height:1.7}.detail-list,.process-list,.service-faq{font-size:1.03rem}.eyebrow,.font-mono{letter-spacing:.075em}
.work-order-swap{animation:orderRefresh .55s ease-out}@keyframes orderRefresh{0%{opacity:.35;transform:translateY(8px) rotate(1deg)}100%{opacity:1;transform:translateY(0) rotate(1deg)}}
.console-choice{border:1px solid #0F1B3330;border-radius:999px;background:#fff;color:#0F1B33;padding:.7rem 1rem;font:500 .75rem 'IBM Plex Mono',monospace;transition:.2s}.console-choice:hover,.console-choice.active{background:#C8202A;color:#fff;border-color:#C8202A;transform:translateY(-2px)}.console-output{background:#fff;border-radius:1rem;padding:1.25rem;box-shadow:0 16px 30px #0f1b3312}.console-visual{min-height:330px;background:#0F1B33;border-radius:1.5rem;display:grid;place-items:center;padding:2rem;overflow:hidden}.vehicle-orbit{position:relative;width:min(100%,420px);height:250px}.orbit-ring{position:absolute;border:1px solid #ffffff25;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-18deg)}.ring-one{width:88%;height:52%;border-left-color:#C8202A;border-right-color:#C8202A;animation:spin 12s linear infinite}.ring-two{width:62%;height:92%;border-top-color:#C8202A;animation:spin 8s linear infinite reverse}.orbit-car{position:absolute;z-index:2;left:50%;top:50%;width:230px;height:92px;transform:translate(-50%,-50%);animation:carFloat 3.5s ease-in-out infinite}.car-body{position:absolute;bottom:18px;left:8px;width:214px;height:50px;background:#C8202A;border-radius:18px 28px 12px 12px;box-shadow:0 14px 22px #0005}.car-roof{position:absolute;z-index:1;left:55px;top:8px;width:108px;height:42px;border:8px solid #C8202A;border-bottom:0;border-radius:58px 58px 0 0;transform:skew(-12deg)}.car-window{position:absolute;left:64px;top:7px;width:40px;height:25px;background:#0F1B33;border-radius:18px 2px 2px 2px}.car-window.second{left:111px;border-radius:2px 18px 2px 2px}.wheel{position:absolute;z-index:3;bottom:3px;width:34px;height:34px;background:#0b1222;border:7px solid #7B8494;border-radius:50%;animation:wheelSpin .8s linear infinite}.wheel.one{left:38px}.wheel.two{right:38px}.scanline{position:absolute;z-index:4;left:4%;right:4%;top:50%;height:1px;background:#C8202A;box-shadow:0 0 16px #C8202A;opacity:.6;animation:scan 2.7s ease-in-out infinite}.scan-active .orbit-car{animation:driveIn .65s ease-out}.scan-active .scanline{animation:scanFast .65s ease-out}@keyframes carFloat{0%,100%{transform:translate(-50%,-50%) rotate(-1deg)}50%{transform:translate(-50%,-55%) rotate(1deg)}}@keyframes driveIn{0%{transform:translate(-100%,-50%);opacity:.2}100%{transform:translate(-50%,-50%);opacity:1}}@keyframes wheelSpin{to{transform:rotate(360deg)}}@keyframes spin{to{transform:translate(-50%,-50%) rotate(342deg)}}@keyframes scan{0%,100%{top:22%;opacity:.2}50%{top:78%;opacity:.9}}@keyframes scanFast{0%{top:15%}100%{top:85%}}.site-enhancements{position:relative;overflow:hidden}.site-enhancements:before{content:'';position:absolute;inset:0;opacity:.25;background-image:linear-gradient(#0f1b3310 1px,transparent 1px),linear-gradient(90deg,#0f1b3310 1px,transparent 1px);background-size:34px 34px;pointer-events:none}@media(prefers-reduced-motion:reduce){.orbit-car,.wheel,.ring-one,.ring-two,.scanline{animation:none!important}}
.page-tools{background:#F5F5F3;position:relative;overflow:hidden}.page-tools:before{content:'';position:absolute;inset:0;opacity:.2;background-image:linear-gradient(#0f1b3310 1px,transparent 1px),linear-gradient(90deg,#0f1b3310 1px,transparent 1px);background-size:32px 32px;pointer-events:none}.tool-card,.quiz-box,.detail-panel{position:relative;background:#fff;border:1px solid #0f1b3314;border-radius:1.25rem;padding:1.5rem;box-shadow:0 16px 30px #0f1b3310;transition:transform .25s,box-shadow .25s}.tool-card:hover,.facility-card:hover{transform:translateY(-5px);box-shadow:0 20px 38px #0f1b3320}.tool-select,.tool-input{width:100%;border:1px solid #0f1b3330;border-radius:.75rem;background:#F5F5F3;color:#0F1B33;padding:.8rem 1rem}.tool-button{border:0;border-radius:999px;background:#C8202A;color:#fff;padding:.75rem 1rem;font:600 .75rem Inter,sans-serif;transition:.25s}.tool-button:hover,.tool-button.copied{background:#E02830;box-shadow:0 0 0 6px #c8202a1c}.tool-tab{border:1px solid #0f1b3330;border-radius:999px;background:#fff;padding:.7rem 1rem;font:500 .72rem 'IBM Plex Mono',monospace;transition:.2s}.tool-tab:hover,.tool-tab.active{background:#C8202A;color:#fff;border-color:#C8202A}.tool-result{color:#7B8494;line-height:1.6}.mileage-track{height:6px;background:#ECECE8;border-radius:999px;position:relative}.mileage-track:before{content:'';position:absolute;inset:0;width:33%;background:#C8202A;border-radius:inherit}.mileage-track span{position:absolute;left:4%;top:50%;width:16px;height:16px;border:3px solid #C8202A;background:#fff;border-radius:50%;transform:translate(-50%,-50%);transition:left .25s}.warning-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.warning-grid button{display:grid;gap:.4rem;place-items:center;padding:.8rem .4rem;border:1px solid #0f1b3314;border-radius:.75rem;background:#F5F5F3;color:#C8202A;font-size:1.5rem;transition:.2s}.warning-grid button span{color:#0F1B33;font:500 .65rem 'IBM Plex Mono',monospace}.warning-grid button:hover,.warning-grid button.active{background:#0F1B33;transform:translateY(-3px)}.warning-grid button:hover span,.warning-grid button.active span{color:#fff}.cert-seal{display:grid;place-items:center;width:64px;height:64px;border:2px solid #C8202A;border-radius:50%;color:#C8202A;font:500 .85rem 'IBM Plex Mono',monospace;transition:.4s}.cert-card:hover .cert-seal{transform:rotate(12deg) scale(1.08);box-shadow:0 0 0 8px #c8202a14}.cert-more{max-height:0;overflow:hidden;opacity:0;transition:.3s}.cert-card:hover .cert-more,.cert-card.cert-open .cert-more{max-height:160px;opacity:1}.compare-box{position:relative;overflow:hidden;border-radius:1.25rem;height:360px;background:#0F1B33}.compare-box>img,.compare-after{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.compare-box>img{object-position:center}.compare-after{width:52%;overflow:hidden;border-right:3px solid #C8202A}.compare-after img{width:calc(100% / .52);max-width:none;height:100%;object-fit:cover;object-position:left center}.compare-box input{position:absolute;z-index:3;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}.detail-list{display:grid;gap:.85rem;color:#7B8494;line-height:1.6}.detail-panel{background:#ECECE8;box-shadow:none}.process-list{display:grid;gap:1rem}.process-list li{display:flex;gap:1rem;align-items:flex-start;color:#7B8494;line-height:1.6}.process-list span{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;background:#C8202A;color:#fff;font:500 .7rem 'IBM Plex Mono',monospace}.service-faq{border-top:1px solid #0f1b3314}.service-faq .faq-item{border-bottom:1px solid #0f1b3314;padding:1rem 0}.service-faq .faq-question{display:flex;justify-content:space-between;width:100%;text-align:left;font-weight:600}.service-faq .faq-answer{color:#7B8494;line-height:1.7;padding-top:.75rem}.reflow-in{animation:reflowIn .4s ease both}@keyframes reflowIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:640px){.warning-grid{grid-template-columns:repeat(2,1fr)}.compare-box{height:250px}}
.appointment-section{position:relative;overflow:hidden}.appointment-section:before{content:'';position:absolute;inset:0;opacity:.18;background-image:linear-gradient(#0f1b3310 1px,transparent 1px),linear-gradient(90deg,#0f1b3310 1px,transparent 1px);background-size:34px 34px;pointer-events:none}.appointment-section .max-w-6xl{position:relative}.appointment-note{border-left:3px solid #C8202A;padding:1rem 0 1rem 1.25rem}.appointment-form{background:#fff!important}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-field{display:grid;gap:.4rem}.form-field.full{grid-column:1/-1}.form-field label{font:500 .72rem 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.06em;color:#0F1B33}.form-field label b{color:#C8202A}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #0f1b3330;border-radius:.7rem;background:#F5F5F3;color:#0F1B33;padding:.8rem 1rem;font:inherit;line-height:1.4}.form-field textarea{resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.tool-input:focus,.tool-select:focus{outline:3px solid #c8202a33;border-color:#C8202A}.input-error{border-color:#C8202A!important;box-shadow:0 0 0 3px #c8202a1c}.field-error{min-height:1rem;color:#C8202A;font-size:.75rem}.consent-line{display:flex;gap:.6rem;align-items:flex-start;color:#7B8494;font-size:.85rem;line-height:1.5;margin-top:1.25rem}.consent-line input{accent-color:#C8202A;margin-top:.25rem}.honeypot{position:absolute;left:-10000px;opacity:0}.form-submit{margin-top:1.25rem;font-size:.9rem;padding:.9rem 1.2rem}.form-submit:disabled{opacity:.6;cursor:wait}.form-status{min-height:1.5rem;margin-top:1rem;font-size:.9rem;font-weight:600}.form-status.success{color:#2f8d50}.form-status.error{color:#C8202A}.form-privacy{font-size:.78rem!important;color:#7B8494;margin-top:.75rem}.text-navy{color:#0F1B33!important}@media(max-width:700px){.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.appointment-form{padding:1.25rem!important}}
.skip-link{position:fixed;left:1rem;top:-4rem;z-index:100;color:#fff;background:#C8202A;padding:.75rem 1rem;border-radius:.5rem;font-weight:700}.skip-link:focus{top:1rem}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #C8202A;outline-offset:3px}
*,*:before,*:after{box-sizing:border-box}html,body{overflow-x:hidden}img{max-width:100%;height:auto}@media(max-width:767px){.nav-shell{width:100%;max-width:100%}.nav-shell nav{position:relative}.nav-shell nav>[data-menu]{display:block!important;position:absolute!important;right:0!important;top:50%;transform:translateY(-50%);z-index:4}.nav-shell nav>[data-menu] span{font-size:0}.nav-shell nav>[data-menu] span:after{content:'☰';font-size:24px}main section .max-w-5xl,main section .max-w-6xl,main section .max-w-7xl{width:100%;max-width:100%;padding-left:24px!important;padding-right:24px!important}main p{width:100%!important;max-width:calc(100vw - 48px)!important;overflow-wrap:anywhere}.bg-red .max-w-5xl{align-items:flex-start;flex-direction:column}}
@media(max-width:1023px){.nav-shell nav>div:not([data-panel]){display:none!important}.nav-shell nav{min-height:52px}.nav-shell nav>[data-menu]{display:block!important}.nav-shell nav>a{flex:none}.nav-shell nav>a:first-child{margin-inline:auto}.nav-shell nav>a:last-child{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}}
@media(max-width:1023px){.nav-shell nav>div:first-child,.nav-shell nav>div:nth-of-type(2){display:none!important}.nav-shell nav>a:first-of-type{position:absolute;left:50%;transform:translateX(-50%);margin:0}.nav-shell nav{position:relative}.nav-shell nav>[data-menu]{margin-left:auto}header.bg-navy nav>a:last-child{position:absolute;right:1rem;top:50%;transform:translateY(-50%);min-width:74px;height:38px;overflow:hidden;font-size:12px!important;line-height:1}}
.homepage-utility{border:1px solid #ffffff18;border-bottom:0}.homepage .nav-services-menu{position:relative}.homepage .nav-services-trigger{background:none;border:0;min-height:44px;padding:0;cursor:pointer}.homepage .nav-services-dropdown{display:none;position:absolute;z-index:20;top:calc(100% + 1rem);left:-1rem;width:31rem;padding:1rem;background:#0F1B33;border:1px solid #ffffff25;border-radius:1rem;box-shadow:0 20px 40px #050b1a66;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem}.homepage .nav-services-menu.open .nav-services-dropdown{display:grid}.homepage .nav-services-dropdown a{padding:.75rem;border-radius:.5rem;color:#fff9;font-size:.82rem}.homepage .nav-services-dropdown a:hover,.homepage .nav-services-dropdown a:focus-visible{background:#C8202A;color:#fff}.homepage .nav-services-dropdown .nav-services-all{grid-column:1/-1;border-top:1px solid #ffffff1a;margin-top:.5rem;color:#fff;font-weight:700}.home-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-auto-rows:10rem}.home-gallery-card{height:auto!important;min-height:10rem;cursor:pointer;transition:transform .25s,filter .25s}.home-gallery-card:hover,.home-gallery-card:focus-visible{transform:translateY(-4px);filter:saturate(1.12)}.home-gallery-featured{grid-column:span 2;grid-row:span 2;min-height:20.75rem}.home-gallery-intro{font-size:1.08rem}.home-gallery-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.wizard-progress{position:relative;margin-bottom:2rem}.wizard-progress-bar{height:3px;background:#C8202A;width:33.33%;transition:width .3s}.wizard-steps{display:flex;justify-content:space-between;gap:1rem;margin-top:-.85rem}.wizard-step{display:flex;align-items:center;gap:.5rem;background:#fff;color:#7B8494;padding-right:.75rem;font:500 .72rem 'IBM Plex Mono',monospace}.wizard-step b{font:600 .82rem Inter,sans-serif;color:#7B8494}.wizard-step.active,.wizard-step.active b{color:#C8202A}.wizard-mobile-step{display:none}.wizard-panel h3:focus{outline:0}.wizard-options{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.6rem}.wizard-options label{display:flex;align-items:center;gap:.45rem;border:1px solid #0f1b3330;border-radius:999px;padding:.7rem 1rem;background:#F5F5F3}.wizard-options input{accent-color:#C8202A}.wizard-controls{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1.5rem}.wizard-back{border:1px solid #0f1b3330;background:transparent;border-radius:999px;padding:.85rem 1.2rem;color:#0F1B33;font-weight:600;min-height:44px}.wizard-next,.wizard-submit{min-height:44px;margin-left:auto}.optional-label{color:#7B8494;font:400 .65rem Inter,sans-serif;text-transform:none;letter-spacing:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:767px){.homepage-utility{justify-content:center;text-align:center;border-radius:0;font-size:9px}.homepage .nav-services-menu{display:none}.home-gallery-grid{display:grid!important;grid-template-columns:1fr 1fr!important;grid-auto-rows:9rem}.home-gallery-featured{grid-column:span 2;grid-row:span 2;min-height:18.5rem}.home-gallery-actions{align-items:flex-start;flex-direction:column}.wizard-steps{display:none}.wizard-mobile-step{display:block;color:#7B8494;font:500 .72rem 'IBM Plex Mono',monospace;margin-top:.7rem}.wizard-step b{display:none}.wizard-panel{min-width:0}.wizard-controls{position:sticky;bottom:0;background:#fff;padding-top:.75rem}.wizard-options label{min-height:44px}}
.lightbox-open{overflow:hidden}.home-gallery-lightbox{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:#071022ee;padding:1.5rem}.home-gallery-lightbox[hidden]{display:none}.home-gallery-dialog{position:relative;width:min(92vw,900px);min-height:min(78vh,680px);display:grid;grid-template-columns:3rem 1fr 3rem;grid-template-rows:1fr auto;align-items:center;gap:.75rem}.home-gallery-image{grid-column:1/-1;grid-row:1;min-height:min(68vh,590px);border-radius:1rem;background:#0F1B33 center/cover no-repeat;border:1px solid #ffffff2b}.home-gallery-caption{grid-column:1/-1;grid-row:2;color:#fff;font:500 .8rem 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.08em}.home-gallery-close,.home-gallery-prev,.home-gallery-next{border:1px solid #ffffff55;background:#0F1B33;color:#fff;border-radius:999px;min-width:44px;min-height:44px;font-size:1.3rem;cursor:pointer}.home-gallery-close{position:absolute;right:0;top:-3.5rem}.home-gallery-prev{grid-column:1;grid-row:1}.home-gallery-next{grid-column:3;grid-row:1}@media(max-width:767px){.home-gallery-dialog{width:100%;grid-template-columns:2.5rem 1fr 2.5rem}.home-gallery-image{min-height:60vh}.home-gallery-close{top:-3rem}}
.reveal{opacity:1;transform:none;animation:revealIn .7s ease both}.reveal.delay-1{animation-delay:.1s}.reveal.delay-2{animation-delay:.2s}.reveal.delay-3{animation-delay:.3s}@keyframes revealIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.site-container,.max-w-7xl{width:min(100% - 5rem,1240px)!important;max-width:1240px!important;margin-inline:auto!important}.max-w-6xl{width:min(100% - 5rem,1160px)!important;max-width:1160px!important;margin-inline:auto!important}.max-w-5xl{width:min(100% - 5rem,1080px)!important;max-width:1080px!important;margin-inline:auto!important}body{font-size:17px;line-height:1.65}body:before{display:none!important}header.fixed{top:0!important}main{padding-top:0!important}.eyebrow{font-size:.78rem;line-height:1.4;letter-spacing:.09em}.site-header{background:#0F1B33;color:#fff;box-shadow:0 10px 35px #050b1a26}.header-utility{height:34px;background:#C8202A;color:#fff}.header-utility .site-container{height:100%;display:flex;align-items:center;justify-content:space-between;gap:2rem;font:500 .75rem 'IBM Plex Mono',monospace;letter-spacing:.025em}.header-utility a{color:#fff;font-weight:700}.nav-shell{height:80px;background:#0F1B33;border:0;border-bottom:1px solid #ffffff1d;border-radius:0;box-shadow:none}.nav-shell nav{height:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2.4rem}.brand-link{display:flex;align-items:center}.site-header .logo-img{height:3.8rem;max-width:14rem}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:1.5rem}.desktop-nav>a,.services-trigger{color:#ffffffe0;font-size:.95rem;font-weight:600;line-height:1;border:0;background:none;min-height:44px;display:flex;align-items:center;padding:.5rem .15rem;cursor:pointer}.desktop-nav>a:hover,.desktop-nav>a:focus-visible,.services-trigger:hover,.services-trigger:focus-visible{color:#fff}.services-menu{position:relative}.services-dropdown{display:none;position:absolute;left:50%;top:calc(100% + .8rem);transform:translateX(-38%);width:38rem;padding:1.5rem;background:#0F1B33;border:1px solid #ffffff26;border-radius:1rem;box-shadow:0 24px 55px #050b1a70}.services-menu.open .services-dropdown{display:block}.services-dropdown-heading{font:500 .75rem 'IBM Plex Mono',monospace;color:#E02830;letter-spacing:.08em}.services-dropdown-grid{display:grid;grid-template-columns:1fr 1fr;gap:.25rem 1rem;margin-top:1rem}.services-dropdown-grid a{color:#ffffffc7;padding:.7rem .8rem;border-radius:.55rem;font-size:.9rem}.services-dropdown-grid a:hover,.services-dropdown-grid a:focus-visible{background:#C8202A;color:#fff}.services-dropdown-footer{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #ffffff1c;margin-top:1rem;padding-top:1rem}.services-dropdown-footer a{font-weight:700;color:#fff;font-size:.85rem}.header-actions{display:flex;align-items:center;gap:.75rem}.header-phone,.header-book,.mobile-header-call{min-height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.75rem 1.1rem;font-size:.88rem;font-weight:700}.header-phone{color:#fff;border:1px solid #ffffff35}.header-book{background:#C8202A;color:#fff}.header-book:hover{background:#E02830}.menu-trigger,.mobile-header-call{display:none}.nav-shell.scrolled{height:68px;padding:0;background:#0F1B33;box-shadow:0 16px 35px #050b1a40}.mobile-drawer[hidden]{display:none}.menu-open{overflow:hidden}.homepage main>section:not(.hero-grid),main>section.service-expansion,.appointment-section,.site-enhancements,.page-tools{padding-top:6.5rem!important;padding-bottom:6.5rem!important}.hero-grid{padding-top:12rem!important;padding-bottom:7rem!important;min-height:720px;display:flex;align-items:center}.hero-grid h1{font-size:clamp(3.9rem,6vw,6.2rem)!important;line-height:.95!important;letter-spacing:-.055em}.hero-grid>div{grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr)!important;gap:5rem!important}.work-order{max-width:500px!important;padding:2rem!important;box-shadow:0 34px 90px #050b1a70!important}.work-order dd{font-size:1rem}.clarity-intro>div{grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr)!important;align-items:start!important}.clarity-intro h2{font-size:clamp(2.8rem,4.5vw,4.6rem)!important;line-height:1.02!important;max-width:700px}.clarity-intro p{max-width:720px}.clarity-panel{padding:2.25rem!important}.clarity-panel .grid{display:block!important}.clarity-feature{padding:1.25rem 0;border-bottom:1px solid #ffffff18}.clarity-feature:last-child{border-bottom:0}.clarity-feature h3{font-size:1.25rem!important}.clarity-feature p{font-size:.98rem!important;line-height:1.6!important}.home-services .service-card{min-height:260px;display:flex;flex-direction:column;padding:2rem!important;border:1px solid #0f1b3316;box-shadow:0 12px 30px #0f1b330d}.home-services .service-card h3{font-size:1.35rem!important}.home-services .service-card p{font-size:1rem!important}.service-card-action{display:inline-flex;margin-top:auto;padding-top:1.4rem;color:#C8202A;font-weight:700;font-size:.9rem}.services-context-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:2.5rem;padding:2rem 2.25rem;background:#0F1B33;color:#fff;border-radius:1.25rem}.services-context-cta h3{font-size:1.55rem}.services-context-cta p{color:#ffffffa8;max-width:650px}.services-context-cta>div:last-child{display:flex;gap:.75rem;flex:none}.services-context-cta a,.process-cta{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:.8rem 1.25rem;border-radius:999px;background:#C8202A;color:#fff;font-weight:700}.services-context-cta a+ a{background:transparent;border:1px solid #ffffff40}.home-process .grid{position:relative;gap:2rem!important}.home-process .grid:before{content:'';position:absolute;left:7%;right:7%;top:28px;height:2px;background:#C8202A33}.home-process .grid>div{position:relative}.home-process h3{font-size:1.35rem!important}.home-process p{font-size:1rem!important}.process-cta{margin-top:3rem}.trust-statements .max-w-7xl{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:2rem!important}.trust-statements strong{display:block;font-family:Poppins,sans-serif;font-size:1.35rem}.trust-statements span{display:block;color:#ffffffbd;font-size:.92rem;line-height:1.5;margin-top:.45rem}.work-order-explainer .bg-navy{padding:2.5rem!important}.work-order-explainer .bg-navy h3{font-size:1.8rem;margin-top:1.2rem}.work-order-explainer dl{margin-top:1.5rem;border-top:1px solid #ffffff1a}.work-order-explainer dl>div{display:grid;grid-template-columns:1fr 1.25fr;gap:1rem;padding:1rem 0;border-bottom:1px solid #ffffff1a}.work-order-explainer dt{font:500 .75rem 'IBM Plex Mono',monospace;color:#E02830;text-transform:uppercase}.work-order-explainer dd{color:#ffffffd6}.home-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:repeat(2,230px)!important;grid-auto-rows:230px!important}.home-gallery-card{min-height:0!important;height:auto!important;border-radius:1rem!important;background-color:#0F1B33;background-size:cover!important;background-position:center!important;box-shadow:inset 0 -80px 90px #07102299}.home-gallery-featured{grid-column:span 2!important;grid-row:span 2!important}.home-gallery-card span{font-size:.82rem!important;color:#fff;background:#071022b8;padding:.55rem .75rem;border-radius:.4rem}.home-gallery-intro{font-size:1.08rem!important}.home-faq{background:#F5F5F3}.faq-layout{display:grid;grid-template-columns:.38fr .62fr;gap:5rem;align-items:start}.faq-intro{position:sticky;top:150px}.faq-intro h2{font-size:3.4rem;line-height:1.05;margin-top:1.2rem}.faq-intro p{color:#7B8494;margin-top:1.25rem}.faq-actions{display:flex;gap:.75rem;margin-top:2rem}.faq-actions a{min-height:48px;display:inline-flex;align-items:center;padding:.8rem 1.1rem;border-radius:999px;background:#C8202A;color:#fff;font-weight:700}.faq-actions a+ a{background:#0F1B33}.faq-list{border-top:1px solid #0f1b3320}.faq-list .faq-item{border-bottom:1px solid #0f1b3320}.faq-list .faq-question{min-height:72px;font-size:1.08rem;padding:1rem 0}.faq-list .faq-chevron{font-size:1.6rem;color:#C8202A}.faq-list .faq-answer{font-size:1rem!important;padding:0 2rem 1.4rem 0}.action-paths h2{font:600 clamp(2.4rem,4vw,4rem)/1.05 Poppins,sans-serif;margin-top:1.2rem}.action-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2.5rem}.action-card{display:flex;flex-direction:column;min-height:280px;padding:2rem;background:#fff;border:1px solid #0f1b3317;border-radius:1.25rem;color:#0F1B33;box-shadow:0 14px 30px #0f1b330c;transition:.25s}.action-card:hover,.action-card:focus-visible{transform:translateY(-5px);box-shadow:0 22px 45px #0f1b331a}.action-icon{font:500 .78rem 'IBM Plex Mono',monospace;color:#C8202A}.action-card h3{font-size:1.4rem;margin-top:1.2rem}.action-card p{color:#7B8494;margin-top:.75rem}.action-card b{color:#C8202A;margin-top:auto;padding-top:1.5rem}.appointment-section>div>div{grid-template-columns:minmax(280px,.7fr) minmax(520px,1.3fr)!important;gap:4rem!important}.appointment-form{max-width:620px;width:100%;justify-self:end;padding:2.25rem!important;border:1px solid #0f1b3320!important;box-shadow:0 24px 60px #0f1b3317!important;min-height:650px}.appointment-section h2{font-size:3.2rem!important;line-height:1.06}.appointment-note{margin-top:2rem!important}.appointment-note:before{content:'✓ Takes about two minutes\A ✓ Appointment requires confirmation\A ✓ Call for urgent concerns';white-space:pre-line;display:block;color:#0F1B33;font-weight:600;line-height:2;margin-bottom:1.2rem}.form-field label,.form-field legend{font-size:.82rem!important;line-height:1.4}.form-field input,.form-field select{min-height:52px;font-size:1rem}.form-field textarea{min-height:120px;font-size:1rem}.wizard-progress-bar{height:4px}.wizard-step{font-size:.8rem}.wizard-step b{font-size:.9rem}.wizard-controls button{min-height:50px;font-size:.95rem}.form-privacy,.consent-line{font-size:.85rem!important}.form-success-summary h3{font:600 2rem/1.1 Poppins,sans-serif;margin-top:1rem}.success-mark{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#e7f6ed;color:#2f8d50;font-size:1.5rem}.form-success-summary dl{display:grid;gap:.8rem;margin-top:1.5rem}.form-success-summary dl>div{display:grid;grid-template-columns:1fr 1.6fr;gap:1rem;border-bottom:1px solid #0f1b3315;padding-bottom:.8rem}.form-success-summary dt{font:500 .75rem 'IBM Plex Mono',monospace;color:#7B8494;text-transform:uppercase}.form-success-summary dd{font-weight:700}.success-actions{display:flex;gap:.75rem;margin-top:1.5rem}.success-actions a{padding:.8rem 1rem;border-radius:999px;background:#C8202A;color:#fff;font-weight:700}.success-actions a+ a{background:#0F1B33}.site-footer{background:#0B162B;color:#fff;padding:6rem 0 2rem;border-top:1px solid #ffffff18}.footer-grid{display:grid;grid-template-columns:1.25fr .75fr 1fr 1fr;gap:4rem}.footer-brand .logo-img{height:4.3rem;max-width:16rem}.site-footer h2{font:600 1.15rem Poppins,sans-serif}.site-footer p,.site-footer a{font-size:.92rem;line-height:1.7}.site-footer p{color:#ffffff9c;margin-top:1rem}.site-footer nav{display:grid;gap:.6rem;margin-top:1rem}.site-footer nav a,.site-footer>div>div>a{color:#ffffffb8}.footer-book{display:inline-flex!important;margin-top:1.5rem;padding:.75rem 1rem;border-radius:999px;background:#C8202A;color:#fff!important;font-weight:700}.footer-phone{display:inline-flex;margin-top:.8rem;color:#fff!important;font-weight:700}.footer-legal{display:flex;justify-content:space-between;gap:2rem;border-top:1px solid #ffffff18;margin-top:4rem!important;padding-top:1.5rem;color:#ffffff70;font-size:.82rem}.footer-legal>div{display:flex;gap:1.5rem}
@media(max-width:1023px){.site-container,.max-w-7xl,.max-w-6xl,.max-w-5xl{width:min(100% - 3.5rem,100%)!important}.header-utility .site-container span:first-child{display:none}.nav-shell nav{grid-template-columns:1fr auto auto;gap:.75rem}.desktop-nav,.header-actions{display:none!important}.menu-trigger,.mobile-header-call{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;border-radius:999px}.menu-trigger{border:1px solid #ffffff2c;background:transparent;color:#fff;font-size:1.5rem}.mobile-header-call{color:#fff;background:#C8202A;font-weight:700;padding:.65rem 1rem}.mobile-drawer{position:fixed;inset:114px 0 0;background:#0F1B33;overflow:auto}.mobile-drawer.open{display:block}.mobile-drawer-inner{width:min(100% - 3rem,640px);margin:auto;padding:2rem 0 3rem;display:grid;gap:.25rem}.mobile-drawer-inner>a,.mobile-drawer summary{display:flex;align-items:center;min-height:52px;color:#fff;font-size:1.08rem;font-weight:600;border-bottom:1px solid #ffffff12;cursor:pointer}.mobile-primary-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.25rem}.mobile-call-action{display:flex;align-items:center;justify-content:center;min-height:50px;border:1px solid #ffffff38;border-radius:999px;color:#fff;font-weight:700}.mobile-service-links{display:grid;grid-template-columns:1fr 1fr;gap:.25rem .75rem;padding:1rem 0}.mobile-service-links a{color:#ffffffbd;padding:.65rem 0}.mobile-business-meta{display:grid;gap:.4rem;color:#ffffff9c;border-top:1px solid #ffffff18;margin-top:1.5rem;padding-top:1.5rem}.hero-grid>div,.clarity-intro>div,.appointment-section>div>div{grid-template-columns:1fr!important}.work-order{margin:1rem auto 0!important}.clarity-panel{max-width:none}.faq-layout{grid-template-columns:1fr;gap:2.5rem}.faq-intro{position:static}.footer-grid{grid-template-columns:1fr 1fr;gap:3rem}.action-card-grid{grid-template-columns:1fr 1fr}.action-card:last-child{grid-column:1/-1}.trust-statements .max-w-7xl{grid-template-columns:1fr 1fr!important}.services-context-cta{align-items:flex-start;flex-direction:column}.appointment-form{justify-self:stretch;max-width:none}.homepage main>section:not(.hero-grid),main>section.service-expansion,.appointment-section,.site-enhancements,.page-tools{padding-top:5rem!important;padding-bottom:5rem!important}}
@media(max-width:767px){.site-container,.max-w-7xl,.max-w-6xl,.max-w-5xl{width:calc(100% - 2.5rem)!important;padding-left:0!important;padding-right:0!important}.header-utility{height:32px}.header-utility .site-container{font-size:.7rem;justify-content:center}.header-utility .site-container span{display:none}.nav-shell{height:72px}.site-header .logo-img{height:3rem;max-width:10.5rem}.mobile-drawer{inset:104px 0 0}.mobile-primary-actions{grid-template-columns:1fr}.mobile-service-links{grid-template-columns:1fr}.hero-grid{padding-top:9.5rem!important;padding-bottom:4rem!important;min-height:auto}.hero-grid h1{font-size:clamp(3rem,15vw,4.5rem)!important}.hero-grid>div{gap:3rem!important}.work-order{padding:1.4rem!important}.homepage main>section:not(.hero-grid),main>section.service-expansion,.appointment-section,.site-enhancements,.page-tools{padding-top:4rem!important;padding-bottom:4rem!important}.clarity-intro h2,.faq-intro h2,.appointment-section h2{font-size:2.5rem!important}.home-services .grid{grid-template-columns:1fr!important}.services-context-cta>div:last-child{width:100%;flex-direction:column}.services-context-cta a{width:100%}.home-process .grid{display:grid!important;grid-template-columns:1fr!important;padding-left:3rem}.home-process .grid:before{left:27px;right:auto;top:28px;bottom:28px;width:2px;height:auto}.home-process .grid>div>div:first-child{position:absolute;left:-3rem}.trust-statements .max-w-7xl{grid-template-columns:1fr!important}.trust-statements .max-w-7xl>div{border-bottom:1px solid #ffffff25;padding-bottom:1rem}.work-order-explainer dl>div{grid-template-columns:1fr;gap:.35rem}.home-gallery-grid{grid-template-columns:1fr!important;grid-template-rows:auto!important;grid-auto-rows:240px!important}.home-gallery-card,.home-gallery-featured{grid-column:1!important;grid-row:auto!important;min-height:240px!important}.home-gallery-card span{display:block}.faq-actions,.success-actions{flex-direction:column}.faq-actions a,.success-actions a{justify-content:center}.action-card-grid{grid-template-columns:1fr}.action-card:last-child{grid-column:auto}.action-card{min-height:240px}.appointment-section>div>div{gap:2.5rem!important}.appointment-form{padding:1.4rem!important;min-height:620px}.wizard-controls{display:flex;flex-direction:column}.wizard-controls button{width:100%;order:1}.wizard-controls .wizard-back{order:2}.form-success-summary dl>div{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:2.5rem}.footer-legal{flex-direction:column}.footer-legal>div{flex-wrap:wrap}}
.photo-card{min-height:320px!important;background-color:#0F1B33!important;background-size:cover!important;background-position:center!important;color:#fff!important;font:600 .9rem 'IBM Plex Mono',monospace!important;letter-spacing:.06em;text-transform:uppercase;box-shadow:inset 0 -100px 100px #071022a8;transition:transform .25s,box-shadow .25s}.photo-card:hover,.photo-card:focus-visible{transform:translateY(-4px);box-shadow:inset 0 -100px 100px #071022c0,0 18px 35px #0f1b3320}.coupon-book{margin-top:.75rem;margin-left:.5rem}

/* Match the homepage proof strip to the larger editorial trust statement treatment. */
.home-proof-strip .max-w-7xl>div{display:block!important;min-width:0;padding:0;font-family:Poppins,sans-serif;font-size:1.35rem!important;font-weight:700;line-height:1.2}
.home-proof-strip .max-w-7xl>div strong{display:block;font-family:Poppins,sans-serif;font-size:1.35rem!important;font-weight:700;line-height:1.2;letter-spacing:-.02em;text-transform:none!important}
.home-proof-strip .max-w-7xl>div span{display:block;font-family:Inter,sans-serif;font-size:.98rem!important;font-weight:400;line-height:1.45;margin-top:.55rem;color:#ffffffbd;letter-spacing:0;text-transform:none!important}

/* Final responsive hardening: override legacy mobile-header positioning. */
@media(max-width:1023px){
  .nav-shell nav>.brand-link{position:static!important;left:auto!important;transform:none!important;margin:0!important;min-width:0;grid-column:1;justify-self:start}
  .nav-shell nav>.mobile-header-call{position:static!important;inset:auto!important;transform:none!important;margin:0!important;width:auto!important;grid-column:2;justify-self:end}
  .nav-shell nav>.menu-trigger{position:static!important;inset:auto!important;transform:none!important;margin:0!important;grid-column:3;justify-self:end}
  .mobile-call:not(.mobile-header-call){display:none!important}
}

/* Keep newly introduced finance content contained on narrow viewports. */
html,body{overflow-x:hidden}
@media(max-width:767px){
  .hero-grid>div{width:100%!important;min-width:0!important}
  .hero-grid>div>*{min-width:0;max-width:100%}
  .hero-grid h1{font-size:clamp(2.25rem,11.8vw,3rem)!important;line-height:.98!important;letter-spacing:-.045em!important;max-width:100%!important;white-space:normal!important}
  .hero-grid p{font-size:1rem!important;line-height:1.65!important}
  .hero-grid h1,.hero-grid p{overflow-wrap:anywhere}
  .hero-grid .work-order{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box;overflow:hidden}
  .hero-grid .work-order *{max-width:100%;overflow-wrap:anywhere}
  .nav-shell nav{min-width:0!important;width:100%!important}
  .nav-shell nav>*{min-width:0}
  .site-header .logo-img{max-width:42vw!important}
}
@media(max-width:767px){
  html,body{max-width:100%;overflow-x:hidden}
  .nav-shell nav{grid-template-columns:minmax(0,1fr) auto auto!important;gap:.5rem!important}
  .site-header .logo-img{width:auto!important;height:2.65rem!important;max-width:9rem!important}
  .mobile-header-call{min-width:54px!important;min-height:44px!important;padding:.6rem .85rem!important}
  .menu-trigger{min-width:44px!important;min-height:44px!important}
  main,main>section,main>section>div{max-width:100%!important}
  .hero-grid h1{max-width:100%;font-size:clamp(2.75rem,13vw,3.25rem)!important;overflow-wrap:normal}
  .hero-grid h1~p{max-width:100%!important;font-size:1.04rem!important}
  .hero-grid h1~.flex{width:100%;flex-direction:column;align-items:stretch}
  .hero-grid h1~.flex a{width:100%;justify-content:center;text-align:center}
  .hero-grid .work-order{width:100%!important;max-width:100%!important;margin-inline:0!important}
  .hero-grid .work-order dl{grid-template-columns:1fr!important}
  .hero-grid .work-order dd{overflow-wrap:anywhere}
  .appointment-section .max-w-6xl,.appointment-section .appointment-form{min-width:0!important;max-width:100%!important;width:100%!important}
  .appointment-section h2{overflow-wrap:anywhere}
  .appointment-form h3{font-size:1.55rem!important;line-height:1.2}
  .wizard-options{display:grid!important;grid-template-columns:1fr!important}
  .wizard-options label{min-height:50px;justify-content:flex-start}
  .footer-grid>*{min-width:0}
}
@media(max-width:430px){
  .site-container,.max-w-7xl,.max-w-6xl,.max-w-5xl{width:calc(100% - 2.5rem)!important;max-width:calc(100% - 2.5rem)!important}
  .header-utility .site-container{width:100%!important;max-width:100%!important}
  .hero-grid{padding-top:8.5rem!important}
  .hero-grid h1{letter-spacing:-.045em!important}
  .work-order{transform:rotate(0)!important}
  .services-context-cta,.clarity-panel,.action-card{padding:1.5rem!important}
  .appointment-form{padding:1.25rem!important;border-radius:1rem!important}
}

/* Centered desktop brand and restored announcement banner. */
.utility-banner{display:flex;align-items:center;justify-content:center;width:100%;min-height:34px;color:#fff!important;text-align:center;font:600 .74rem/1.2 'IBM Plex Mono',monospace;letter-spacing:.045em}
.banner-mobile{display:none}
.home-gallery-wide{grid-column:span 2!important}
@media(min-width:1024px){
  .nav-shell nav{position:relative;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:1.25rem}
  .nav-shell nav>.brand-link{position:absolute!important;left:50%!important;top:50%;transform:translate(-50%,-50%)!important;margin:0!important;z-index:3}
  .desktop-nav-left{justify-content:flex-start}
  .desktop-nav-right{justify-content:flex-end}
  .header-actions{justify-self:end}
}
@media(max-width:1023px){
  .header-utility .banner-desktop{display:none!important}
  .header-utility .banner-mobile{display:inline!important}
  .utility-banner{font-size:.74rem;letter-spacing:.035em}
}
@media(max-width:767px){
  .home-gallery-wide{grid-column:1!important}
}

/* Final mobile art direction and reliable navigation controls. */
@media(max-width:1023px){
  .site-header,.nav-shell,.nav-shell.scrolled{overflow:visible!important}
  .nav-shell,.nav-shell.scrolled{
    height:74px!important;
    padding:0!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    transform:none!important;
  }
  .nav-shell nav{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:.6rem!important;
    width:min(100% - 2.5rem,100%)!important;
    max-width:none!important;
    margin-inline:auto!important;
  }
  .nav-shell nav>.brand-link{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    margin:0 auto 0 0!important;
    flex:0 1 auto;
  }
  .nav-shell nav>.mobile-header-call{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    margin:0!important;
    flex:none;
  }
  .nav-shell nav>.menu-trigger{
    display:grid!important;
    place-items:center;
    position:static!important;
    inset:auto!important;
    transform:none!important;
    margin:0!important;
    flex:0 0 46px;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    padding:0!important;
    border:1px solid #ffffff35!important;
    border-radius:50%!important;
    background:#ffffff08!important;
    color:#fff!important;
    cursor:pointer;
    pointer-events:auto!important;
    z-index:70;
  }
  .menu-trigger span{font-size:0!important}
  .menu-trigger span:after{content:'☰'!important;font:400 1.35rem/1 Arial,sans-serif!important}
  .menu-trigger[aria-expanded="true"]{background:#C8202A!important;border-color:#C8202A!important}
  .menu-trigger[aria-expanded="true"] span:after{content:'×'!important;font-size:1.7rem!important}
  .mobile-drawer{
    display:block;
    position:fixed!important;
    inset:106px 0 0!important;
    width:100vw!important;
    height:calc(100dvh - 106px)!important;
    max-width:none!important;
    z-index:65;
    background:#0F1B33!important;
    opacity:1!important;
    visibility:visible!important;
    border-top:1px solid #ffffff1c;
    box-shadow:0 30px 60px #050b1a70;
    overflow-y:auto!important;
    overscroll-behavior:contain;
  }
  .mobile-drawer[hidden]{display:none!important}
  .mobile-drawer.open{display:block!important}
  .mobile-drawer-inner{padding-top:1.5rem}
  .mobile-drawer-inner>a,.mobile-drawer summary{font-size:1rem;min-height:56px}
}

@media(max-width:767px){
  body{font-size:16px;line-height:1.65}
  .nav-shell{height:74px}
  .site-header .logo-img{height:auto!important;width:9.25rem!important;max-width:42vw!important}
  .mobile-header-call{height:44px!important;min-height:44px!important;min-width:58px!important;padding:.55rem .9rem!important;font-size:.86rem!important}
  .mobile-drawer{inset:106px 0 0!important}
  .mobile-drawer-inner{width:calc(100% - 2.5rem)!important}
  .mobile-primary-actions{gap:.65rem}
  .mobile-primary-actions a{min-height:50px}

  .homepage .hero-grid{padding-top:8.75rem!important;padding-bottom:4.25rem!important}
  .hero-grid>div{gap:2.75rem!important}
  .hero-grid .eyebrow{max-width:18rem}
  .hero-grid h1{font-size:clamp(2.55rem,11.8vw,3rem)!important;line-height:.96!important;letter-spacing:-.05em!important;margin-top:1.4rem!important}
  .hero-grid h1~p{font-size:1rem!important;line-height:1.7!important;margin-top:1.5rem!important}
  .hero-grid h1~.flex{gap:.65rem!important;margin-top:1.75rem!important}
  .hero-grid h1~.flex a{min-height:52px;padding:.8rem 1.1rem!important}
  .hero-grid .font-mono.text-xs{line-height:1.6}
  .hero-grid .work-order{padding:1.35rem!important;border-radius:1rem!important;box-shadow:0 22px 55px #050b1a55!important}
  .work-order h2{font-size:1.45rem!important;line-height:1.1}
  .work-order dl{gap:1rem!important}
  .work-order dt{font-size:.68rem!important}
  .work-order dd{font-size:.98rem!important}

  .homepage main>section:not(.hero-grid),main>section.service-expansion,.appointment-section,.site-enhancements,.page-tools{padding-top:3.75rem!important;padding-bottom:3.75rem!important}
  .eyebrow{font-size:.72rem;line-height:1.5}
  .clarity-intro h2,.faq-intro h2,.appointment-section h2{font-size:clamp(2.15rem,10.5vw,2.65rem)!important;line-height:1.03!important}
  .clarity-intro p{font-size:1rem!important;line-height:1.7!important;margin-top:1.25rem!important}
  .clarity-intro .flex{display:grid!important;grid-template-columns:1fr!important;gap:.65rem!important;margin-top:1.75rem!important}
  .clarity-intro .flex a{display:flex;align-items:center;justify-content:center;min-height:50px;width:100%;padding:.75rem 1rem!important}
  .clarity-panel{padding:1.35rem!important;border-radius:1rem!important}
  .clarity-feature{padding:1.05rem 0!important}
  .clarity-feature h3{font-size:1.15rem!important}
  .clarity-feature p{font-size:.94rem!important;line-height:1.55!important;margin-top:.4rem!important}
  .clarity-panel>.mt-8{margin-top:1rem!important;padding-top:1rem!important}

  .home-proof-strip{padding-top:2.5rem!important;padding-bottom:2.5rem!important}
  .home-proof-strip .max-w-7xl{display:grid!important;grid-template-columns:1fr 1fr!important;gap:1rem!important}
  .home-proof-strip .max-w-7xl>div{display:block!important;align-items:initial;min-width:0;font-size:1.05rem!important;line-height:1.25!important;padding:.25rem 0;text-transform:none!important;letter-spacing:0!important}
  .home-proof-strip .max-w-7xl>div strong{font-size:1.05rem!important;line-height:1.25!important}
  .home-proof-strip .max-w-7xl>div span{font-size:.82rem!important;line-height:1.45!important;margin-top:.35rem!important}

  .homepage main section .rounded-full{touch-action:manipulation}
  .home-services h2{font-size:2.35rem!important;line-height:1.02!important}
  .home-services h2+p{font-size:1rem!important;line-height:1.65!important}
  .home-services .grid{gap:.8rem!important;margin-top:2rem!important}
  .home-services .service-card{min-height:0!important;padding:1.35rem!important;border-radius:1rem!important}
  .home-services .service-card h3{font-size:1.15rem!important;line-height:1.25!important;margin-top:.65rem!important}
  .home-services .service-card p{font-size:.94rem!important;line-height:1.55!important;margin-top:.55rem!important}
  .home-services .service-card .font-mono{font-size:.68rem!important}
  .service-card-action{padding-top:1rem!important;font-size:.86rem!important}
  .services-context-cta{padding:1.4rem!important;margin-top:1.5rem!important;border-radius:1rem!important}
  .services-context-cta h3{font-size:1.4rem!important;line-height:1.2}
  .services-context-cta p{font-size:.94rem;line-height:1.55}
  .services-context-cta>div:last-child{gap:.6rem!important}
  .services-context-cta a{min-height:48px}

  .home-process h2{font-size:2.3rem!important;line-height:1.04!important}
  .home-process .grid{padding-left:3.65rem!important;gap:1.8rem!important;margin-top:2rem!important}
  .home-process .grid:before{left:23px!important}
  .home-process .grid>div>div:first-child{left:-3.65rem!important;width:46px!important;height:46px!important;display:grid!important;place-items:center;padding:0!important}
  .home-process h3{font-size:1.25rem!important;line-height:1.2!important;margin-top:0!important}
  .home-process p{font-size:.96rem!important;line-height:1.6!important;margin-top:.45rem!important}
  .process-cta{width:100%;min-height:50px;margin-top:2rem!important}

  .trust-statements .max-w-7xl{grid-template-columns:1fr 1fr!important;gap:1rem!important}
  .trust-statements .max-w-7xl>div{border:1px solid #ffffff22!important;border-radius:.8rem;padding:1rem!important}
  .trust-statements strong{font-size:1.05rem!important;line-height:1.25}
  .trust-statements span{font-size:.82rem!important;margin-top:.3rem!important}

  .home-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:auto!important;grid-auto-rows:165px!important;gap:.65rem!important}
  .home-gallery-card{min-height:165px!important;grid-column:auto!important;grid-row:auto!important}
  .home-gallery-featured{grid-column:1/-1!important;min-height:255px!important}
  .home-gallery-wide{grid-column:1/-1!important}
  .home-gallery-card span{font-size:.68rem!important;padding:.45rem .55rem!important}
  .home-gallery-actions{display:grid!important;grid-template-columns:1fr!important;gap:.7rem!important;margin-top:1.25rem}

  .faq-layout{gap:2rem!important}
  .faq-list .faq-question{min-height:64px;font-size:1rem!important;line-height:1.35;text-align:left}
  .faq-list .faq-answer{font-size:.95rem!important;line-height:1.65;padding-right:0!important}

  .appointment-section>div>div{gap:2rem!important}
  .appointment-note{margin-top:1.4rem!important}
  .appointment-form{padding:1.2rem!important;min-height:0!important}
  .wizard-progress{margin-bottom:1.5rem}
  .appointment-form h3{font-size:1.4rem!important}
  .wizard-options{gap:.55rem!important}
  .wizard-options{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .wizard-options label{min-height:44px!important;padding:.55rem .6rem!important;justify-content:center!important;font-size:.78rem!important;line-height:1.2!important}
  .wizard-options input[type="radio"]{
    appearance:auto!important;
    width:16px!important;
    height:16px!important;
    min-width:16px!important;
    min-height:16px!important;
    margin:0!important;
    padding:0!important;
    flex:0 0 16px!important;
    box-shadow:none!important;
  }

  .action-card-grid{gap:.8rem!important;margin-top:1.75rem!important}
  .action-card{min-height:0!important;padding:1.35rem!important}
  .site-footer{padding:4rem 0 1.5rem}
  .footer-grid{gap:2rem!important}
  .footer-brand .logo-img{height:auto!important;width:10rem!important}
  .footer-legal{margin-top:2.5rem!important}
}

@media(max-width:359px){
  .nav-shell nav{gap:.4rem!important}
  .site-header .logo-img{width:7.25rem!important;max-width:none!important}
  .mobile-header-call{min-width:48px!important;padding:.5rem .65rem!important}
  .nav-shell nav>.menu-trigger{flex-basis:42px;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important}
  .hero-grid h1{font-size:2.35rem!important}
  .home-proof-strip .max-w-7xl,.trust-statements .max-w-7xl{grid-template-columns:1fr!important}
}
@media(min-width:360px) and (max-width:767px){
  .hero-grid .work-order dl{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Editorial individual service pages */
.service-editorial-page{background:#f6f5f1;color:#0f1b33}
.service-editorial-page .service-editorial-main{overflow:hidden}
.service-shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.service-editorial-hero{position:relative;padding:11rem 0 6.5rem;background:#0b1830;color:#fff;overflow:hidden}
.service-editorial-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,#000 35%,transparent)}
.service-editorial-hero:after{content:"";position:absolute;width:36rem;height:36rem;right:-12rem;top:2rem;border-radius:50%;background:#d31f2b20;filter:blur(2px)}
.service-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);gap:5rem;align-items:center}
.service-breadcrumb{display:flex;gap:.6rem;align-items:center;font:600 .72rem/1.2 "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:#aeb8c8}
.service-breadcrumb a{color:#fff;text-decoration:none;border-bottom:1px solid #ffffff55}
.service-kicker,.service-heading>span,.service-heading>div>span,.service-technical-visual>span,.service-approval span,.service-final-cta>div>span{display:block;margin-top:2rem;color:#ef3340;font:600 .72rem/1.4 "IBM Plex Mono",monospace;letter-spacing:.12em;text-transform:uppercase}
.service-hero-copy h1{max-width:780px;margin:.9rem 0 0;font:700 clamp(3.25rem,5.6vw,5.8rem)/.97 "Poppins",sans-serif;letter-spacing:-.055em}
.service-hero-copy>p{max-width:690px;margin:1.2rem 0 0;color:#c6ced9;font-size:1.08rem;line-height:1.7}
.service-hero-copy .service-hero-deck{max-width:700px;margin-top:1.25rem;color:#fff;font:600 clamp(1.45rem,2.3vw,2.15rem)/1.15 "Poppins",sans-serif;letter-spacing:-.025em}
.service-hero-copy .service-hero-intro{margin-top:1rem}
.service-hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.2rem}
.service-button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.3rem;border-radius:999px;font-size:.9rem;font-weight:700;text-decoration:none;transition:transform .25s,background .25s,border-color .25s}
.service-button:hover{transform:translateY(-2px)}
.service-button.primary{background:#d31f2b;color:#fff}
.service-button.secondary{border:1px solid #ffffff50;color:#fff}
.service-promise{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;margin-top:2.2rem;padding-top:1.4rem;border-top:1px solid #ffffff1c;color:#aeb8c8;font:.68rem/1.4 "IBM Plex Mono",monospace;letter-spacing:.05em}
.service-promise b{color:#fff}
.service-hero-media{position:relative;margin:0;min-height:520px;transform:rotate(1.2deg)}
.service-hero-media:before{content:"";position:absolute;inset:1rem -1rem -1rem 1rem}
.service-hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:1.4rem;filter:saturate(.86) contrast(1.05)}
.service-hero-media:after{content:"";position:absolute;inset:0;border-radius:1.4rem;background:linear-gradient(180deg,transparent 52%,#071022e8)}
.service-hero-media figcaption{position:absolute;z-index:1;left:2rem;right:2rem;bottom:1.7rem;display:flex;justify-content:space-between;gap:1rem;color:#fff}
.service-hero-media figcaption span{font:.68rem "IBM Plex Mono",monospace;letter-spacing:.1em}.service-hero-media figcaption b{font-size:.95rem}
.service-editorial-section{padding:7.5rem 0}
.service-heading{max-width:780px}.service-heading>span,.service-heading>div>span{margin-top:0}
.service-heading h2,.service-technical h2,.service-causes h2{margin:.85rem 0 0;font:700 clamp(2.35rem,4vw,4.25rem)/1.02 "Poppins",sans-serif;letter-spacing:-.045em}
.service-heading>p,.service-heading.split>p,.service-technical-grid>div>p{margin-top:1.2rem;color:#687386;font-size:1.05rem;line-height:1.75}
.service-heading.split{display:grid;grid-template-columns:1.15fr .85fr;gap:4rem;max-width:none;align-items:end}.service-heading.split>p{margin:0}
.service-facts{background:#fff}
.service-fact-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:3.5rem;border:1px solid #d9dce0}
.service-fact-grid article{min-height:160px;padding:2rem;border-right:1px solid #d9dce0}.service-fact-grid article:last-child{border:0}
.service-fact-grid span,.service-causes>span{display:block;color:#d31f2b;font:600 .68rem "IBM Plex Mono",monospace;letter-spacing:.1em}
.service-fact-grid strong{display:block;margin-top:1rem;font:600 1.15rem/1.45 "Poppins",sans-serif}
.service-symptoms{background:#ecece8}
.service-symptom-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:3.5rem}
.service-symptom-grid article{position:relative;min-height:330px;padding:1.5rem;background:#fff;border:1px solid #dedfdf;border-radius:1rem;overflow:hidden;transition:transform .3s,border-color .3s}
.service-symptom-grid article:hover{transform:translateY(-6px);border-color:#d31f2b}
.service-symptom-grid article>span{font:600 .7rem "IBM Plex Mono",monospace;color:#d31f2b}
.service-symptom-grid article>i{display:block;width:5rem;height:5rem;margin:2rem 0 3.2rem;border:1px solid #ccd1d8;border-radius:50%;box-shadow:inset 0 0 0 14px #f2f3f3;position:relative}
.service-symptom-grid article>i:after{content:"";position:absolute;width:2rem;height:2px;background:#d31f2b;right:-1rem;top:50%;transform:rotate(-25deg)}
.service-symptom-grid h3{font:600 1.3rem/1.2 "Poppins",sans-serif}.service-symptom-grid p{margin-top:.7rem;color:#687386;line-height:1.65}
.service-technical{background:#0f1b33;color:#fff}
.service-technical-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.service-technical-visual{padding:2rem;background:#0a152a;border:1px solid #ffffff18;border-radius:1.2rem}
.service-technical-visual>span{margin:0}.service-technical-visual>small{display:block;color:#8994a7;font:600 .62rem "IBM Plex Mono",monospace;letter-spacing:.08em}
.service-diagram{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;min-height:320px;margin:2rem 0;padding:2rem;place-content:center;border:1px solid #ffffff17;background:radial-gradient(circle at 50% 50%,#d31f2b20,transparent 45%)}
.service-diagram:before{content:"";position:absolute;left:15%;right:15%;top:50%;height:1px;background:#ef334088}
.service-diagram span{position:relative;z-index:1;display:grid;min-height:74px;place-items:center;border:1px solid #ffffff35;border-radius:.6rem;background:#0f1b33;color:#fff;font:600 .66rem "IBM Plex Mono",monospace;letter-spacing:.08em}
.service-diagram span:nth-child(3){border-color:#ef3340;color:#ff6973}
.service-diagram-alignment{grid-template-columns:repeat(3,1fr)}.service-diagram-alignment span{transform:rotate(calc((var(--i) - 1) * 7deg));min-height:160px;border-radius:50%}
.service-diagram-rotation span{border-radius:2rem}.service-diagram-brakes span:nth-child(4){border-radius:50%;box-shadow:0 0 0 20px #ffffff0a}.service-diagram-transmission span{border-radius:50%;aspect-ratio:1}
.service-diagram-suspension{grid-template-columns:repeat(3,1fr)}.service-diagram-suspension span:first-child{border-style:dashed}.service-diagram-suspension span:last-child{border-radius:999px}
.service-technical-grid>div>p{color:#aeb8c8}.service-tech-notes{margin-top:2.2rem}
.service-tech-notes article{display:grid;grid-template-columns:38px 1fr;gap:1rem;padding:1.2rem 0;border-top:1px solid #ffffff1b}
.service-tech-notes article>span{color:#ef3340;font:600 .68rem "IBM Plex Mono",monospace}.service-tech-notes h3{font:600 1.08rem "Poppins",sans-serif}.service-tech-notes p{margin-top:.35rem;color:#aeb8c8;line-height:1.6}
.service-appointment-context{background:#f6f5f1!important;border-top:1px solid #dedfdf;border-bottom:1px solid #dedfdf}
.service-process{background:#fff}.service-process ol{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:4rem;list-style:none}
.service-process li{position:relative;display:grid;grid-template-columns:52px 1fr;gap:1rem;padding:1.5rem 1.3rem 1.5rem 0;border-top:1px solid #c9cdd2}
.service-process li:before{content:"";position:absolute;top:-4px;left:0;width:8px;height:8px;border-radius:50%;background:#d31f2b}
.service-process li>span{color:#d31f2b;font:600 .7rem "IBM Plex Mono",monospace}.service-process h3{font:600 1rem "Poppins",sans-serif}.service-process li p{margin-top:.6rem;color:#687386;line-height:1.65;font-size:.93rem}.service-process-note{margin-top:2rem;padding-left:1rem;border-left:3px solid #d31f2b;color:#687386;font-style:italic}
.service-concept{background:#0f1b33;color:#fff}.service-concept .service-heading>p{color:#aeb8c8}.service-concept-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:3rem}.service-concept-grid>article{padding:1.5rem;border:1px solid #ffffff20;border-radius:1rem;background:#0a152a}.service-concept-grid>article>span{color:#ef3340;font:600 .68rem "IBM Plex Mono",monospace;letter-spacing:.09em}.service-concept-grid .service-diagram{min-height:220px;margin:1.5rem 0}.service-concept-grid>article:last-child .service-diagram span{border-color:#6fcf97}.service-concept-grid ul{display:grid;gap:.65rem;color:#c6ced9}.service-concept-grid li{padding-left:1rem;position:relative}.service-concept-grid li:before{content:"";position:absolute;left:0;top:.65em;width:5px;height:5px;border-radius:50%;background:#ef3340}.service-concept-grid>article:last-child li:before{background:#6fcf97}
.service-compare{background:#ecece8}.service-table{margin-top:3rem;overflow-x:auto;border:1px solid #d4d6d8;background:#fff}.service-table table{width:100%;min-width:720px;border-collapse:collapse}.service-table th,.service-table td{padding:1.3rem 1.5rem;border-bottom:1px solid #e2e3e3;text-align:left;line-height:1.5}.service-table thead th,.service-table tr:first-child th{background:#0f1b33;color:#fff;font:600 .7rem "IBM Plex Mono",monospace;letter-spacing:.08em}.service-table th[scope=row]{width:24%;font:600 .72rem "IBM Plex Mono",monospace;color:#d31f2b}
.service-context{background:#fff}.service-context-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:5rem}.service-outcomes{margin-top:3rem}.service-outcomes article{display:grid;grid-template-columns:52px 1fr;gap:1rem;padding:1.4rem 0;border-top:1px solid #dfe1e3}.service-outcomes article>span{color:#d31f2b;font:600 .7rem "IBM Plex Mono",monospace}.service-outcomes h3{font:600 1.2rem "Poppins",sans-serif}.service-outcomes p{margin-top:.4rem;color:#687386;line-height:1.65}
.service-causes{align-self:start;padding:2.3rem;background:#0f1b33;color:#fff;border-radius:1rem}.service-causes>span{color:#ef3340}.service-causes h2{font-size:2.2rem;margin-bottom:2rem}.service-causes div{display:flex;flex-wrap:wrap;gap:.65rem}.service-causes small{padding:.65rem .8rem;border:1px solid #ffffff25;border-radius:999px;color:#c4ccd8;font-size:.78rem}
.service-approval{padding:4rem 0;background:#0f1b33;color:#fff;border-top:4px solid #d31f2b}.service-approval-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.service-approval span{margin:0;color:#ef3340}.service-approval h2{margin:.7rem 0 0;font:700 2.5rem/1.08 "Poppins",sans-serif;letter-spacing:-.035em}.service-approval-grid>div:last-child{display:grid;gap:.7rem}.service-approval p{display:flex;align-items:center;gap:.8rem;padding:.8rem 0;border-bottom:1px solid #ffffff35}.service-approval p b{display:grid;width:30px;height:30px;place-items:center;border:1px solid #ef3340;border-radius:50%;color:#ef3340;font:.65rem "IBM Plex Mono",monospace}.service-approval-copy{max-width:650px;margin-top:1rem;color:#aeb8c8;line-height:1.65}
.service-faq-editorial{background:#f6f5f1}.service-faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:5rem}.service-faq-row{border-top:1px solid #cfd2d6}.service-faq-row:last-child{border-bottom:1px solid #cfd2d6}.service-faq-row button{display:flex;width:100%;min-height:78px;align-items:center;justify-content:space-between;gap:1rem;background:none;border:0;text-align:left;font:600 1.05rem/1.4 "Poppins",sans-serif;cursor:pointer}.service-faq-row button i{display:grid;flex:0 0 36px;height:36px;place-items:center;border:1px solid #c9cdd2;border-radius:50%;font:400 1.2rem Arial}.service-faq-row>div{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s}.service-faq-row>div>p{overflow:hidden;color:#687386;line-height:1.7}.service-faq-row.open>div{grid-template-rows:1fr}.service-faq-row.open>div>p{padding:0 3.5rem 1.5rem 0}
.service-related{background:#ecece8}.service-heading.split a{color:#d31f2b;font-weight:700}.service-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3rem}.service-related-grid>a{position:relative;min-height:225px;padding:1.7rem;background:#fff;border:1px solid #dcdddf;border-radius:1rem;color:#0f1b33;text-decoration:none;transition:transform .25s,border-color .25s}.service-related-grid>a:hover{transform:translateY(-5px);border-color:#d31f2b}.service-related-grid span{color:#d31f2b;font:600 .7rem "IBM Plex Mono",monospace}.service-related-grid h3{margin-top:3rem;font:600 1.35rem "Poppins",sans-serif}.service-related-grid p{margin-top:.5rem;color:#687386}.service-related-grid>a>i{position:absolute;right:1.5rem;bottom:1.5rem;color:#d31f2b;font-style:normal}
.service-final-cta{padding:7rem 0;text-align:center;background:#0f1b33;color:#fff}.service-final-cta>div>span{margin:0}.service-final-cta h2{max-width:850px;margin:1rem auto 0;font:700 clamp(2.5rem,5vw,4.8rem)/1.02 "Poppins",sans-serif;letter-spacing:-.05em}.service-final-cta p{margin-top:1rem;color:#aeb8c8;font-size:1.05rem}.service-final-cta>div>div{display:flex;justify-content:center;gap:.8rem;margin-top:2rem}.service-button.light{background:#fff;color:#0f1b33}.service-button.outline{border:1px solid #ffffff55;color:#fff}
.service-reveal{opacity:1;transform:none;transition:transform .65s ease}.service-reveal.visible{opacity:1;transform:none}
@media(prefers-reduced-motion:no-preference){
  .service-reveal:not(.visible){transform:translateY(10px)}
}

@media(max-width:1023px){
  .service-hero-grid,.service-technical-grid,.service-context-grid,.service-faq-grid{grid-template-columns:1fr;gap:3.5rem}
  .service-hero-media{min-height:460px}.service-symptom-grid,.service-process ol{grid-template-columns:repeat(2,1fr)}
  .service-heading.split,.service-approval-grid{grid-template-columns:1fr;gap:2rem}.service-related-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:767px){
  .service-editorial-page .service-shell{width:calc(100% - 2rem)!important;max-width:calc(100% - 2rem)!important;margin-inline:auto!important}
  .service-editorial-hero{padding:8.5rem 0 4.5rem}.service-hero-grid{display:block}.service-hero-copy{min-width:0;width:100%;overflow:hidden}.service-hero-copy>*{max-width:100%}.service-hero-copy h1{width:100%;font-size:clamp(2.25rem,10vw,3.1rem);line-height:1;overflow-wrap:normal}.service-hero-copy>p{width:100%!important;max-width:100%!important;font-size:1rem;line-height:1.68}
  .service-hero-actions,.service-final-cta>div>div{display:grid}.service-button{width:100%}.service-hero-media{min-height:350px;margin-top:3rem}.service-hero-media figcaption{left:1.2rem;right:1.2rem;bottom:1.2rem}.service-hero-media figcaption b{display:none}
  .service-editorial-section{padding:5rem 0}.service-heading h2,.service-technical h2{font-size:2.45rem}.service-heading.split{display:block}.service-heading.split>p{margin-top:1.2rem}
  .service-fact-grid{grid-template-columns:1fr;margin-top:2.5rem}.service-fact-grid article{min-height:auto;border-right:0;border-bottom:1px solid #d9dce0;padding:1.5rem}
  .service-symptom-grid{grid-template-columns:1fr;margin-top:2.5rem}.service-symptom-grid article{min-height:270px}.service-symptom-grid article>i{margin:1.5rem 0 2.2rem}
  .service-technical-visual{padding:1rem}.service-diagram{min-height:260px;padding:1rem;gap:.7rem}.service-diagram span{font-size:.56rem}.service-diagram-alignment span{min-height:120px}
  .service-process ol{grid-template-columns:1fr;margin-top:2.5rem}.service-process li{padding:1.3rem 0}.service-concept-grid{grid-template-columns:1fr}.service-context-grid{gap:3rem}.service-causes{padding:1.5rem}
  .service-approval{padding:3.5rem 0}.service-approval h2{font-size:2rem}.service-faq-grid{gap:2.5rem}.service-faq-row button{font-size:.98rem}
  .service-related-grid{grid-template-columns:1fr}.service-related-grid>a{min-height:180px}.service-final-cta{padding:5rem 0}
}
@media(max-width:359px){
  .service-shell{width:calc(100% - 24px)}.service-hero-copy h1{font-size:2.55rem}.service-hero-media{min-height:300px}.service-diagram{padding:.65rem}.service-diagram span{min-height:62px}
}
@media(prefers-reduced-motion:reduce){
  .service-reveal{opacity:1;transform:none;transition:none}.service-button,.service-symptom-grid article,.service-related-grid>a{transition:none}
}

/* Encoding-safe disclosure icons */
.services-trigger{gap:.5rem}
.services-chevron,.faq-chevron{
  display:inline-block;
  flex:0 0 auto;
  width:.5rem;
  height:.5rem;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  font-size:0;
  transform:translateY(-2px) rotate(45deg);
  transform-origin:center;
  transition:transform .2s ease;
}
.services-menu.open .services-chevron,
.faq-item.open .faq-chevron{
  transform:translateY(2px) rotate(225deg);
}

/* Non-service editorial FAQ */
.site-faq-editorial{padding:7.5rem 0!important;background:#f6f5f1!important}
.site-faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:5rem;align-items:start}
.site-faq-intro{position:sticky;top:9rem}
.site-faq-intro .eyebrow{margin:0}
.site-faq-intro h2{margin:.9rem 0 0;font:700 clamp(2.6rem,4vw,4.2rem)/1.02 "Poppins",sans-serif;letter-spacing:-.045em}
.site-faq-intro>p{max-width:34rem!important;margin-top:1.2rem;color:#687386;font-size:1.05rem!important;line-height:1.75}
.site-faq-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}
.site-faq-actions a{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:.8rem 1.2rem;border-radius:999px;background:#d31f2b;color:#fff;font-weight:700;text-decoration:none;transition:transform .2s,background .2s}
.site-faq-actions a:last-child{background:#0f1b33}
.site-faq-actions a:hover{transform:translateY(-2px)}
.site-faq-list{border-top:1px solid #cfd2d6}
.site-faq-list .faq-item{border-bottom:1px solid #cfd2d6}
.site-faq-list h3{margin:0}
.site-faq-list .faq-question{display:flex;width:100%;min-height:82px;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem 0;border:0;background:transparent;color:#0f1b33;text-align:left;font:600 1.08rem/1.4 "Poppins",sans-serif;cursor:pointer}
.site-faq-icon{position:relative;display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;border:1px solid #c9cdd2;border-radius:50%;transition:border-color .2s,background .2s}
.site-faq-icon:before,.site-faq-icon:after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:#d31f2b;transform:translate(-50%,-50%);transition:transform .2s}
.site-faq-icon:after{transform:translate(-50%,-50%) rotate(90deg)}
.site-faq-list .faq-item.open .site-faq-icon{border-color:#d31f2b;background:#d31f2b}
.site-faq-list .faq-item.open .site-faq-icon:before{background:#fff}
.site-faq-list .faq-item.open .site-faq-icon:after{background:#fff;transform:translate(-50%,-50%) rotate(0) scaleX(0)}
.site-faq-answer{display:grid!important;grid-template-rows:0fr;transition:grid-template-rows .3s ease}
.site-faq-answer>p{min-height:0;overflow:hidden;margin:0;color:#687386;font-size:1rem!important;line-height:1.7}
.site-faq-list .faq-item.open .site-faq-answer{grid-template-rows:1fr}
.site-faq-list .faq-item.open .site-faq-answer>p{padding:0 4rem 1.6rem 0}
@media(max-width:1023px){
  .site-faq-grid{grid-template-columns:1fr;gap:3rem}
  .site-faq-intro{position:static}
}
@media(max-width:767px){
  .site-faq-editorial{padding:5rem 0!important}
  .site-faq-intro h2{font-size:2.5rem}
  .site-faq-actions{display:grid}
  .site-faq-actions a{width:100%}
  .site-faq-list .faq-question{min-height:76px;font-size:1rem;gap:1rem}
  .site-faq-icon{flex-basis:36px;width:36px;height:36px}
  .site-faq-list .faq-item.open .site-faq-answer>p{padding-right:0}
}

.address-link {
  color:inherit;
  text-decoration:underline;
  text-decoration-color:#C8202A;
  text-decoration-thickness:2px;
  text-underline-offset:3px;
}

.legal-content h2 {
  color: var(--navy);
  font-family: Poppins, sans-serif;
  font-size: 1.75rem;
  line-height: 1.2;
  margin-top: 2.75rem;
}

.legal-content h2:first-child { margin-top: 0; }

.legal-content p,
.legal-content li { color: var(--steel); line-height: 1.8; }

.legal-content ul {
  display: grid;
  gap: .6rem;
  list-style: disc;
  margin-top: 1rem;
  padding-left: 1.4rem;
}

/* Keep the homepage and finance hero cards level for a cleaner reading surface. */
.hero-grid .work-order {
  transform: none !important;
}

.hero-grid .address-link {
  font-size: .9rem;
  line-height: 1.5;
}

.address-link:hover,
.address-link:focus-visible {
  color:#C8202A;
}

/* Homepage photography campaign */
.home-media {
  overflow: hidden;
  border: 1px solid rgba(15, 27, 51, .12);
  border-radius: 1.1rem;
  background: #dfe2e4;
  box-shadow: 0 20px 44px rgba(15, 27, 51, .12);
}

.home-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-clarity-media,
.home-precision-media,
.home-appointment-media {
  aspect-ratio: 3 / 2;
  margin-top: 2.25rem;
}

.home-clarity-media img {
  object-position: center 42%;
}

.home-services .service-card {
  overflow: hidden;
}

.home-services .service-card-image {
  display: block;
  width: calc(100% + 4rem);
  max-width: none;
  aspect-ratio: 16 / 10;
  margin: -2rem -2rem 1.45rem;
  object-fit: cover;
  background: #dfe2e4;
}

.home-process-media {
  aspect-ratio: 2 / 1;
  margin-top: 3rem;
}

.home-process-media img {
  object-position: center 48%;
}

.home-precision-media img {
  object-position: center 44%;
}

.home-gallery-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.home-gallery-card::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 35% 0 0;
  background: linear-gradient(180deg, transparent, rgba(7, 16, 34, .82));
  pointer-events: none;
}

.home-gallery-image-asset {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.home-gallery-card:hover .home-gallery-image-asset,
.home-gallery-card:focus-visible .home-gallery-image-asset {
  transform: scale(1.035);
}

.home-gallery-card > span {
  position: relative;
  z-index: 1;
}

.home-financing-media {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.home-financing-media::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg, #0f1b33 0%, #0f1b33 46%, rgba(15, 27, 51, .92) 68%, rgba(15, 27, 51, .68) 100%);
  pointer-events: none;
}

.home-financing-media > .home-financing-image {
  position: absolute;
  z-index: -2;
  inset: 0 0 0 auto;
  width: 58%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.home-financing-media > .max-w-7xl {
  position: relative;
  z-index: 1;
}

.home-appointment-media img {
  object-position: center 38%;
}

@media (max-width: 1023px) {
  .home-clarity-media,
  .home-precision-media,
  .home-appointment-media {
    max-height: 31rem;
  }

  .home-financing-media::after {
    background: rgba(15, 27, 51, .9);
  }

  .home-financing-media > .home-financing-image {
    width: 100%;
    opacity: .52;
  }
}

@media (max-width: 767px) {
  .home-clarity-media,
  .home-precision-media,
  .home-appointment-media {
    aspect-ratio: 4 / 3;
    margin-top: 1.75rem;
    border-radius: .9rem;
  }

  .home-services .service-card-image {
    width: calc(100% + 2.7rem);
    margin: -1.35rem -1.35rem 1.15rem;
  }

  .home-process-media {
    aspect-ratio: 4 / 3;
    margin-top: 2.25rem;
  }

  .home-process-media img {
    object-position: 58% center;
  }

  .home-gallery-card::after {
    inset: 25% 0 0;
  }

  .home-financing-media > .home-financing-image {
    object-position: 64% center;
  }
}

/* Shared entrance and scroll motion */
.motion-enabled .motion-item {
  --motion-delay: 0ms;
  opacity: 0;
  transition:
    opacity .72s cubic-bezier(.22, 1, .36, 1) var(--motion-delay),
    translate .82s cubic-bezier(.22, 1, .36, 1) var(--motion-delay),
    scale .82s cubic-bezier(.22, 1, .36, 1) var(--motion-delay),
    filter .72s ease var(--motion-delay),
    clip-path .9s cubic-bezier(.22, 1, .36, 1) var(--motion-delay);
  will-change: opacity, translate, scale, filter, clip-path;
}

.motion-enabled .motion-rise {
  translate: 0 2rem;
}

.motion-enabled .motion-slide-left {
  translate: -2.5rem 0;
}

.motion-enabled .motion-slide-right {
  translate: 2.5rem 0;
}

.motion-enabled .motion-scale {
  scale: .955;
}

.motion-enabled .motion-soft-focus {
  translate: 0 1.1rem;
  filter: blur(7px);
}

.motion-enabled .motion-image-wipe {
  opacity: 1;
  translate: 0 0;
  scale: 1;
  clip-path: none;
}

.motion-enabled .motion-item.motion-visible {
  opacity: 1;
  translate: 0 0;
  scale: 1;
  filter: none;
  clip-path: none;
}

.motion-enabled .motion-image-wipe.motion-visible {
  animation: motionImageReveal .9s cubic-bezier(.22, 1, .36, 1) var(--motion-delay) both;
  clip-path: none;
}

@keyframes motionImageReveal {
  from {
    opacity: .35;
    clip-path: inset(0 0 100% 0 round .75rem);
  }
  to {
    opacity: 1;
    clip-path: inset(-3% -2% -5% -2% round 0);
  }
}

/* Preserve space for large-heading descenders such as g, y, and p. */
.hero-grid h1,
.service-hero-copy h1 {
  padding-bottom: .08em;
}

@media (max-width: 767px) {
  .service-hero-copy {
    overflow: visible;
  }
}

.motion-header-part {
  opacity: 0;
  translate: 0 -1rem;
}

.motion-page-ready .motion-header-part {
  opacity: 1;
  translate: none;
  transition:
    opacity .55s ease var(--motion-delay),
    translate .7s cubic-bezier(.22, 1, .36, 1) var(--motion-delay);
}

@media (max-width: 767px) {
  .motion-enabled .motion-slide-left,
  .motion-enabled .motion-slide-right {
    translate: 0 1.5rem;
  }

  .motion-enabled .motion-item {
    transition-duration: .6s, .68s, .68s, .6s, .72s;
  }
}

@media (prefers-reduced-motion: reduce) {
  .motion-enabled .motion-item,
  .motion-header-part,
  .motion-page-ready .motion-header-part {
    opacity: 1 !important;
    translate: none !important;
    scale: 1 !important;
    filter: none !important;
    clip-path: none !important;
    transition: none !important;
  }
}

/* Keep the desktop Services menu aligned with its trigger and inside the viewport. */
@media (min-width: 1024px) {
  .services-dropdown {
    left: 0;
    right: auto;
    transform: none;
  }
}

/* Match every page to the individual service-page mobile content width. */
@media (max-width: 767px) {
  main section .max-w-7xl,
  main section .max-w-6xl,
  main section .max-w-5xl,
  main section > .site-container {
    width: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
    margin-inline: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .appointment-section .max-w-6xl {
    width: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
    margin-inline: auto !important;
  }
}
