:root{--pf-header-height:70px}@media(max-width:700px){:root{--pf-header-height:64px}}
html,body,#root{margin:0;min-height:100%;scroll-behavior:smooth}body{background:#fff}main{padding:0!important}.file-card{max-width:none!important;padding:0!important}.pf{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1d1d1f;background:#fff;overflow:hidden;letter-spacing:-.025em}.pf *{box-sizing:border-box}.pf h1,.pf h2,.pf h3,.pf p{margin:0;font-family:inherit}.pf a{text-decoration:none}.review-note{font-size:11px;text-align:center;padding:8px;background:#f5f5f7;color:#68686c;letter-spacing:0}.nav{height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 5%;background:rgba(255,255,255,.96);border-bottom:1px solid #eee}.nav img{width:115px;height:50px;object-fit:contain}.nav nav{display:flex;gap:28px}.nav a,.nav button{color:#1d1d1f;font-size:13px}.nav-end{display:flex;gap:20px;align-items:center}.nav button{background:none;border:0;min-width:44px;min-height:44px;cursor:pointer}.nav-call{color:#bc0928!important}.hero{background:#050505;color:#f5f5f7;text-align:center;position:relative;min-height:710px;padding-top:72px}.hero-copy{position:relative;z-index:1;padding:0 24px}.eyebrow{font-size:14px!important;font-weight:600;letter-spacing:.08em!important;text-transform:uppercase;margin-bottom:14px!important}.pf h1{font-size:clamp(46px,5.2vw,78px);line-height:1.02;font-weight:650;letter-spacing:-.06em;white-space:pre-line}.hero-copy>p:not(.eyebrow){font-size:25px;line-height:1.3;margin:20px auto 26px}.hero>img{width:100%;height:380px;object-fit:cover;object-position:center;display:block;opacity:.8;margin-top:24px;mask-image:linear-gradient(transparent,black 22%)}.actions{display:flex;justify-content:center;align-items:center;gap:24px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:#bc0928;border:1px solid #bc0928;border-radius:25px;color:white!important;padding:11px 22px;font-size:15px;letter-spacing:-.01em}.text-link{font-size:17px;color:#bc0928;display:inline-flex;align-items:center;min-height:44px;gap:7px}.hero .text-link,.dark .text-link{color:#ff5266}.intro{text-align:center;padding:96px 24px 100px}.pf h2{font-size:clamp(36px,4.2vw,62px);line-height:1.05;font-weight:650;letter-spacing:-.055em;white-space:pre-line}.intro>p:last-child{font-size:21px;line-height:1.5;max-width:720px;margin:24px auto 0;color:#6e6e73}.spotlight{text-align:center;padding:68px 24px 0;margin-top:12px;min-height:660px}.light{background:#f5f5f7}.dark{background:#090909;color:white}.spotlight-copy>p:not(.eyebrow){font-size:20px;line-height:1.4;max-width:640px;margin:20px auto 25px;color:#6e6e73}.dark .spotlight-copy>p:not(.eyebrow){color:#aaa}.product-image{margin:35px auto 0;width:min(360px,100%);height:290px;overflow:hidden;border-radius:30px 30px 0 0}.product-image img{width:100%;height:100%;object-fit:cover;display:block}.more{padding:95px 5%;text-align:center}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:45px}.service-grid article{padding:32px 25px;background:#f5f5f7}.service-grid img{width:125px;height:125px;border-radius:22px;object-fit:cover}.service-grid h3{font-size:23px;margin:25px 0 15px}.service-grid p{font-size:16px;line-height:1.5;color:#6e6e73}.service-grid a{display:inline-flex;min-height:44px;align-items:center;color:#bc0928;margin-top:12px;font-size:16px}.emergency{background:#bc0928;color:white;text-align:center;padding:88px 24px 100px}.emergency p:not(.eyebrow){font-size:21px;margin:22px 0 30px}.emergency .pill{background:white;color:#bc0928!important;border-color:white}.industries{padding:100px 5%;text-align:center;background:#f5f5f7}.industry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin:64px auto 0;max-width:1120px;text-align:left}.industry-number{font-size:38px;color:#bc0928;font-weight:600}.industry-grid h3{font-size:24px;margin:18px 0 12px}.industry-grid p{font-size:17px;line-height:1.5;color:#6e6e73}.about{padding:92px 5%;text-align:center}.about>img{width:185px;margin-bottom:40px}.about>p{max-width:740px;margin:24px auto 0;font-size:21px;line-height:1.5;color:#6e6e73}.team{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;max-width:1020px;margin:60px auto 0;text-align:left}.team h3{font-size:22px}.team p{font-size:16px;color:#6e6e73;line-height:1.5;margin-top:8px}.contact{padding:96px 24px;background:#f5f5f7;text-align:center}.contact>p:not(.eyebrow){font-size:20px;line-height:1.4;max-width:660px;margin:25px auto}.form-link{display:inline-flex;align-items:center;min-height:44px;color:#bc0928;font-size:16px;margin-top:15px}.contact .contact-detail{font-size:17px!important}.contact .preview-caveat{font-size:12px!important;letter-spacing:0;max-width:530px!important;color:#888}footer{padding:40px 5%;background:#fff;display:flex;gap:22px;flex-wrap:wrap;align-items:center;justify-content:space-between}footer img{width:120px}footer>div{display:flex;gap:20px}footer a{font-size:13px;color:#666}footer p{font-size:11px;color:#888;letter-spacing:0}footer p:last-child{width:100%;border-top:1px solid #eee;padding-top:20px}.pf :focus-visible{outline:3px solid #0071e3;outline-offset:4px}section[id]{scroll-margin-top:20px}
@media (max-width:700px){.nav{height:auto;min-height:68px;padding:8px 16px;gap:8px;flex-wrap:wrap}.nav img{width:98px;height:42px}.nav nav{order:3;width:100%;justify-content:space-around;gap:10px;border-top:1px solid #eee}.nav nav a{font-size:12px;min-height:44px;display:flex;align-items:center}.nav-end{gap:9px}.hero{padding-top:55px;min-height:620px}.hero-copy>p:not(.eyebrow){font-size:20px;max-width:310px}.hero>img{height:285px;margin-top:35px}.eyebrow{font-size:11px!important}.intro{padding:70px 24px}.intro>p:last-child{font-size:18px}.spotlight{padding:55px 20px 0;min-height:590px}.spotlight-copy>p:not(.eyebrow){font-size:17px}.actions{gap:10px 18px}.pill{font-size:13px;padding:10px 16px}.text-link{font-size:15px}.product-image{width:275px;height:260px}.more{padding:68px 16px}.service-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:35px}.service-grid article{padding:25px 14px}.service-grid img{width:92px;height:92px}.service-grid h3{font-size:20px}.service-grid p{font-size:14px}.emergency{padding:70px 20px}.emergency p:not(.eyebrow){font-size:18px}.industries{padding:70px 24px}.industry-grid{grid-template-columns:1fr 1fr;gap:32px 24px;margin-top:45px}.industry-grid h3{font-size:21px}.industry-grid p{font-size:15px}.about{padding:70px 24px}.about>p{font-size:18px}.team{grid-template-columns:1fr;gap:28px;margin-top:40px;text-align:center}.contact{padding:70px 20px}.contact>p:not(.eyebrow){font-size:18px}footer{padding:30px 24px;justify-content:center;text-align:center}.pf h2{font-size:38px}.contact h2{font-size:34px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Device-native appearance; brand red is kept unchanged. */
.pf{--pf-bg:#fff;--pf-panel:#f5f5f7;--pf-text:#1d1d1f;--pf-muted:#6e6e73;background:var(--pf-bg);color:var(--pf-text);color-scheme:light dark}.pf,.pf button,.pf input,.pf select,.pf textarea{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.logo-dark-mode{display:none!important}.nav,.about,footer,.intro,.more{background:var(--pf-bg)}.light,.industries,.contact,.service-grid article,.review-note{background:var(--pf-panel)}.nav a,.nav button{color:var(--pf-text)}.intro>p:last-child,.spotlight-copy>p:not(.eyebrow),.service-grid p,.industry-grid p,.about>p,.team p{color:var(--pf-muted)}.hero,.spotlight.dark{background:var(--pf-panel);color:var(--pf-text)}.hero .text-link,.dark .text-link{color:#bc0928}.hero>img{opacity:1;mask-image:none;height:390px;margin-top:40px}.product-image{width:min(430px,100%);height:355px;border-radius:20px;margin-bottom:24px}.product-image img{object-fit:cover}.spotlight.dark .product-image{height:450px;width:300px}.spotlight.dark .product-image img{object-fit:contain;background:#ded9dc}.photo-credit{font-size:10px!important;color:var(--pf-muted);letter-spacing:0;padding-bottom:22px}.photo-credit a{color:inherit;text-decoration:underline}.dark .spotlight-copy>p:not(.eyebrow){color:var(--pf-muted)}
@media (prefers-color-scheme:dark){.pf{--pf-bg:#000;--pf-panel:#111;--pf-text:#f5f5f7;--pf-muted:#a1a1a6}.logo-light-mode{display:none!important}.logo-dark-mode{display:inline-block!important}.nav{border-color:#292929}.nav nav{border-color:#292929}.hero .text-link,.dark .text-link,.light .text-link,.service-grid a,.form-link,.contact .text-link,.nav-call{color:#ff5266!important}.nav button{color:#f5f5f7}.review-note{color:#a1a1a6}footer a{color:#a1a1a6}footer p:last-child{border-color:#292929}.hero>img{opacity:.9}}
@media (max-width:700px){.hero>img{height:285px}.product-image{width:100%;max-width:330px;height:270px}.spotlight.dark .product-image{height:365px;width:240px}.service-grid img{width:100%;height:125px}.spotlight{min-height:initial}.hero{min-height:initial}}

.contact address{font-style:normal;font-size:18px;line-height:1.5;margin:22px auto 0}.pf button,.pf a{font-family:inherit}

@media (prefers-color-scheme:dark){.pf footer a,.pf footer p{color:#a1a1a6}.pf .preview-caveat{color:#a1a1a6}}

.nav img{width:40px;height:50px}.nav>a:first-child{min-width:44px;display:flex;justify-content:center;align-items:center}@media (max-width:700px){.nav img{width:34px;height:42px}}

.nav{position:relative;flex-wrap:nowrap;height:70px;z-index:10}.header-menu{position:relative;margin-left:auto}.header-menu summary{list-style:none;width:44px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer}.header-menu summary::-webkit-details-marker{display:none}.header-menu summary span{height:2px;width:22px;background:var(--pf-text);border-radius:1px}.header-menu nav{position:absolute;right:0;top:52px;width:260px;display:flex;flex-direction:column;gap:0;padding:10px;background:var(--pf-bg);border:1px solid var(--pf-muted);border-radius:14px;box-shadow:0 12px 36px #0002}.header-menu nav a,.header-menu nav button{font-size:16px;min-height:44px;justify-content:flex-start;text-align:left;display:flex;align-items:center;padding:10px 12px;border:0;color:var(--pf-text);background:none}.header-menu nav .language-control{border-top:1px solid var(--pf-muted);margin-top:6px}.header-menu nav a:hover,.header-menu nav button:hover{background:var(--pf-panel);border-radius:8px}@media (max-width:700px){.nav{height:64px;min-height:64px}.header-menu nav{width:260px;order:initial;border-top:1px solid var(--pf-muted);justify-content:initial}.header-menu nav a{font-size:16px}}

html,body,.pf,.pf *{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",sans-serif!important}.pf summary,.pf button,.pf input,.pf select,.pf textarea{font:inherit}.pf summary span{font-family:inherit!important}

/* Header remains in view after the small preview strip scrolls away. */
.pf{overflow:clip}.nav{position:sticky;top:0;z-index:50}.header-controls{display:flex;align-items:center;gap:8px}.header-controls>.language-control{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;background:none;border:0;color:var(--pf-text);font-size:14px;font-weight:500;letter-spacing:0;cursor:pointer}section[id],div[id],main[id]{scroll-margin-top:84px}
@media (prefers-color-scheme:dark){html,body{background:#000}.pf{--pf-panel:#000}.pf section,.pf article,.pf .review-note,.pf .nav,.pf footer,.pf .header-menu nav{background:#000}.pf .emergency .pill{color:#bc0928!important}.pf .spotlight.dark .product-image img{background:#000}.header-controls>.language-control{color:#fff}}

/* Pop-out is anchored at the hamburger itself, with its control still reachable. */
.header-menu summary{position:relative;z-index:2}.header-menu nav{top:0;right:0;padding:48px 10px 10px;transform-origin:calc(100% - 22px) 22px}.header-menu[open] nav{animation:menu-pop .16s ease-out}.header-menu[open] summary{border-radius:12px}@keyframes  menu-pop{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.header-menu[open] nav{animation:none}}
.header-controls>.language-control{position:relative;z-index:3}
.page-title{text-align:center;padding:100px 24px 80px}.page-title p:last-child{font-size:24px;color:var(--pf-muted);margin:26px auto 0;max-width:700px}.service-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;padding:90px 8%;max-width:1440px;margin:auto;min-height:640px}.service-copy h2{font-size:50px;letter-spacing:-.045em}.service-copy>p:not(.eyebrow){font-size:21px;line-height:1.5;color:var(--pf-muted);margin:24px 0}.service-copy ul{padding-left:20px;font-size:18px;line-height:1.8;color:var(--pf-muted)}.service-visual{display:flex;justify-content:center;align-items:center;min-height:420px}.service-visual img{max-width:100%;max-height:470px;width:auto;object-fit:contain}.service-feature:has(img[src*="kitchen"]) img{border-radius:20px}.page-directory{padding:50px 8% 100px;max-width:1100px;margin:auto}.page-directory a{display:flex;justify-content:space-between;padding:30px 0;border-bottom:1px solid var(--pf-muted);font-size:32px;color:var(--pf-text)}.dedicated-page{min-height:65vh}.will-reveal{opacity:0;transform:translateX(-45px);transition:opacity .65s ease,transform .65s ease}.will-reveal.in-view{opacity:1;transform:translateX(0)}.header-menu nav{top:0}.service-feature:has(.service-copy:only-child){grid-template-columns:1fr;min-height:initial}.service-feature:has(.service-copy:only-child) .service-copy{max-width:850px}
@media (max-width:700px){.page-title{padding:70px 24px 50px}.page-title p:last-child{font-size:20px}.service-feature{grid-template-columns:1fr;padding:60px 24px;gap:30px;min-height:initial}.service-copy h2{font-size:38px}.service-copy>p:not(.eyebrow){font-size:18px}.service-copy ul{font-size:17px}.service-visual{min-height:280px}.service-visual img{max-height:350px}.page-directory a{font-size:26px}}
@media (prefers-reduced-motion:reduce){.will-reveal{opacity:1;transform:none;transition:none}}
.header-menu[open] summary{visibility:hidden}.header-controls:has(.header-menu[open])>.language-control{visibility:hidden}.header-menu[open] nav{z-index:4;padding:12px;border-radius:28px}
/* Owner revision: content is ready immediately; no scroll entry. */
.hero,.page-hero,.page-title,.intro,.contact,.service-copy,.industries,.about,main h1,main h2,main p{text-align:left!important}
.hero,.page-hero{align-items:flex-start!important}
.reveal,.will-reveal,.will-reveal.in-view{opacity:1!important;transform:none!important;transition:none!important}
.pf main,.pf main *{text-align:left}
.hero-copy,.intro,.page-title,.home-services-title{padding-left:8%;padding-right:8%}
.hero-copy>p:not(.eyebrow),.intro>p:last-child,.page-title p:last-child,.about>p,.contact>p:not(.eyebrow){margin-left:0!important;margin-right:0!important}
.actions{justify-content:flex-start}.eyebrow{letter-spacing:.17em!important;line-height:1.6!important;margin-bottom:25px!important}.home-services-title{padding-top:80px;padding-bottom:10px}
@media (max-width:700px){.hero-copy,.intro,.page-title,.home-services-title{padding-left:24px;padding-right:24px}.service-feature{padding:64px 24px;gap:22px}}
.assessment-section{padding:75px 8% 100px;max-width:1100px;margin:0 auto}.form-intro{font-size:20px;color:var(--pf-muted);margin:24px 0!important}.assessment-form{display:grid;grid-template-columns:1fr 1fr;gap:28px 24px;margin-top:40px}.assessment-form label{font-size:15px;line-height:1.5;color:var(--pf-text)}.assessment-form input,.assessment-form select,.assessment-form textarea{display:block;box-sizing:border-box;width:100%;border:1px solid #bbb6;background:var(--pf-panel);color:var(--pf-text);font:inherit;font-size:17px;padding:16px;border-radius:14px;margin-top:9px;min-height:54px}.assessment-form textarea{resize:vertical}.full-field{grid-column:1/-1}.form-status{font-size:14px!important;line-height:1.5;color:var(--pf-muted)}.assessment-form .pill{cursor:pointer;justify-self:start}.assessment-form .text-link{font-size:15px}@media (max-width:700px){.assessment-section{padding:60px 24px}.assessment-form{grid-template-columns:1fr;gap:22px}}
/* Hero is the sole centered exception. */
.pf .hero,.pf .hero *{text-align:center!important}.pf .hero .actions{justify-content:center}.pf .hero-copy>p:not(.eyebrow){margin-left:auto!important;margin-right:auto!important;max-width:780px}.hero{padding-bottom:82px;min-height:initial}.hero h1{max-width:1100px;margin:0 auto!important}.hero .hero-copy{padding-left:8%;padding-right:8%}@media (max-width:700px){.hero .hero-copy{padding-left:24px;padding-right:24px}.hero{padding-bottom:64px}}
.pf .hero h1{letter-spacing:-.025em!important;line-height:1.1!important}.pill{background:#bc0928;border-color:#bc0928}.text-link,.nav-call,.industry-number{color:#bc0928}
.pf h1,.pf h2,.pf h3{letter-spacing:-.015em!important;line-height:1.12!important}.assessment-form input,.assessment-form select,.assessment-form textarea{border-radius:22px;outline:none!important;transition:border-color .15s}.assessment-form input:focus,.assessment-form select:focus,.assessment-form textarea:focus{border-color:#0071e3;outline:none!important;box-shadow:none}.page-directory a{border-radius:18px}
@media (prefers-reduced-motion:reduce){.assessment-form input,.assessment-form select,.assessment-form textarea{transition:none}}

footer a svg{width:24px;height:24px;display:block}footer a[aria-label]{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;color:inherit}

.contact-clean{max-width:1120px;margin:auto;padding:100px 56px 110px;display:grid;grid-template-columns:1.6fr 1fr;gap:96px;background:transparent!important}.contact-clean h1{font-size:clamp(52px,5.6vw,80px);font-weight:700;line-height:1.04;letter-spacing:-.012em!important;max-width:680px}.contact-clean .eyebrow{font-size:12px;letter-spacing:.12em;font-weight:600;margin-bottom:26px}.contact-lead{font-size:20px;line-height:1.5;max-width:410px;margin-top:24px!important;color:#6e6e73}.contact-clean .call-primary{display:inline-flex;align-items:center;gap:22px;margin-top:32px;padding:15px 24px;font-size:16px}.contact-facts{padding-top:67px;display:flex;flex-direction:column;gap:40px}.contact-facts h2{font-size:11px!important;letter-spacing:.10em!important;font-weight:600!important;margin-bottom:12px!important;color:#6e6e73}.contact-facts a,.contact-facts address{font-size:20px;font-style:normal;line-height:1.5;color:inherit;text-decoration:none;letter-spacing:0}.contact-facts a:hover{text-decoration:underline}.contact-clean+.assessment-section{border-top:1px solid #ddd}.pf strong,.pf b{letter-spacing:0}
@media (prefers-color-scheme:dark){.contact-lead,.contact-facts h2{color:#a1a1a6}.contact-clean+.assessment-section{border-color:#333}}
@media (max-width:700px){.contact-clean{padding:68px 24px 64px;display:block}.contact-clean h1{font-size:52px}.contact-lead{font-size:18px;max-width:310px;margin-top:22px!important}.contact-facts{padding-top:52px;display:grid;grid-template-columns:1fr;gap:28px}.contact-facts a,.contact-facts address{font-size:18px}.contact-clean .eyebrow{margin-bottom:20px}.contact-clean .call-primary{margin-top:28px}}
.hero-copy>p:not(.eyebrow){font-size:21px!important;line-height:1.45;color:#6e6e73!important;max-width:720px;letter-spacing:0}.pill{min-height:48px;padding:13px 24px;font-size:16px;border-radius:28px}.contact-clean .call-primary{padding:16px 25px;min-height:50px}
@media (prefers-color-scheme:dark){.hero-copy>p:not(.eyebrow){color:#a1a1a6!important}}
@media (max-width:700px){.hero-copy>p:not(.eyebrow){font-size:18px!important;max-width:310px}.pill{min-height:47px;padding:12px 19px;font-size:14px}}

.feature-promises{max-width:1120px;padding:76px 24px 84px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:56px}.feature-promises article{padding:0;background:transparent;box-shadow:none;border:0;text-align:left}.feature-promises svg{display:block;width:40px;height:40px;color:#bc0928;margin-bottom:26px}.feature-promises h2{font-size:25px!important;line-height:1.2!important;letter-spacing:-.005em!important;font-weight:600!important;white-space:normal;max-width:290px;margin-bottom:14px!important}.feature-promises p{font-size:17px;line-height:1.5;color:#6e6e73;letter-spacing:0;max-width:290px}@media (prefers-color-scheme:dark){.feature-promises p{color:#a1a1a6}}@media (max-width:700px){.feature-promises{padding:60px 24px;grid-template-columns:1fr;gap:48px}.feature-promises svg{margin-bottom:20px}.feature-promises h2{font-size:26px!important;max-width:310px}}

.contact-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.contact-clean .contact-buttons .pill{margin-top:0;padding:16px 22px;font-size:15px;min-height:50px}.contact-phone{font-size:16px!important;line-height:1.4;letter-spacing:0;color:#6e6e73;margin-top:15px!important}.contact-phone a{color:inherit!important;text-decoration:none;pointer-events:none}@media (prefers-color-scheme:dark){.contact-phone{color:#a1a1a6}}@media (max-width:700px){.contact-buttons{gap:10px;margin-top:28px}.contact-clean .contact-buttons .pill{font-size:14px;padding:14px 18px;min-height:48px}}

.footer-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;grid-column:1/-1}.footer-legal a{font-size:12px;color:inherit;text-decoration:none}.footer-legal a:hover{text-decoration:underline}

.header-menu[open] nav{position:fixed;inset:0;width:100vw;height:100dvh;min-height:100vh;border:0;border-radius:0;padding:100px 11% 50px;box-shadow:none;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;background:var(--pf-bg);overflow-y:auto;z-index:100;animation:menu-sheet .35s cubic-bezier(.16,1,.3,1)}.header-menu[open] nav .menu-item{display:block;width:100%;min-height:0;padding:8px 0;font-size:32px;font-weight:600;letter-spacing:-.025em;line-height:1.2;animation:menu-drop .45s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--menu-order)*.045s + .04s)}.header-menu nav .menu-close{position:absolute;top:22px;right:20px;width:44px;height:44px;min-height:0;padding:10px;display:flex;align-items:center;justify-content:center;cursor:pointer}.menu-close svg{width:24px;height:24px}.header-menu[open] nav .menu-item:last-child{font-size:20px;letter-spacing:0;margin-top:12px}.header-menu[open] nav a:hover,.header-menu[open] nav button:hover{background:none;border-radius:0;color:var(--pf-muted)}body.menu-is-open{overflow:hidden}.nav:has(.header-menu[open]){z-index:1000}@keyframes  menu-sheet{from{opacity:0;height:35vh}to{opacity:1;height:100dvh}}@keyframes  menu-drop{from{opacity:0;transform:translateY(-22px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.header-menu[open] nav,.header-menu[open] nav .menu-item{animation:none}}

.header-menu[open] nav{padding-top:88px;animation-duration:.44s;background:var(--pf-bg)}.header-menu[open] nav .menu-item{font-size:28px;line-height:1.25;padding:7px 0;animation-duration:.4s;animation-delay:calc(var(--menu-order)*.025s + .12s)}.header-menu[open] nav .menu-item:last-child{font-size:19px}.menu-close:focus:not(:focus-visible){outline:none}@media (prefers-color-scheme:dark){.header-menu[open] nav{background:#161617}}.header-menu[open].menu-closing nav{animation:menu-hide .32s cubic-bezier(.4,0,.6,1) both}.header-menu[open].menu-closing nav .menu-item{animation:menu-out .16s ease-in both;animation-delay:0s}@keyframes  menu-hide{from{clip-path:inset(0)}to{clip-path:inset(0 0 100% 0)}}@keyframes  menu-out{to{opacity:0;transform:translateY(-12px)}}

.menu-close{outline:none}.menu-close:focus-visible{outline:2px solid #0071e3;outline-offset:2px}

body:not(.menu-keyboard) .menu-close:focus-visible{outline:none}body.menu-keyboard .menu-close:focus-visible{outline:2px solid #0071e3;outline-offset:2px}

.footer-legal{display:block;text-align:center;margin:8px 0 18px}.footer-legal a{display:inline-block;text-decoration:underline;text-underline-offset:3px;font-size:12px;color:var(--pf-text);padding:8px}

.header-menu[open] nav .menu-item:last-child{font-size:28px;letter-spacing:-.025em;margin-top:0}

/* Contact review: modest title, matching controls, labeled phone. */
.contact-clean h1{font-size:clamp(46px,5vw,72px)}
.contact-clean .contact-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:480px}
.contact-clean .contact-buttons .pill{width:100%;min-height:50px;box-sizing:border-box;display:flex;justify-content:center;align-items:center;gap:10px;text-align:center;padding:14px 12px;white-space:nowrap}
.contact-phone-group{margin-top:28px}.contact-phone-group h2{font-size:11px!important;letter-spacing:.10em!important;font-weight:600!important;margin:0 0 12px!important;color:#6e6e73}.contact-phone-group .contact-phone{margin:0!important}
@media (prefers-color-scheme:dark){.contact-phone-group h2{color:#a1a1a6}}
@media (max-width:700px){.contact-clean h1{font-size:46px}.contact-clean .contact-buttons .pill{min-height:48px;font-size:14px}.contact-phone-group{margin-top:28px}}

/* First screen owns the hero; feature section begins below it. */
.hero{min-height:calc(100svh - var(--pf-header-height));display:flex;align-items:center!important;justify-content:center;padding:48px 0;box-sizing:border-box}.hero .hero-copy{width:100%}
@media (min-width:701px){.hero{min-height:calc(100svh - var(--pf-header-height))}}
@media (max-width:700px){.hero{min-height:calc(100svh - var(--pf-header-height));padding:40px 0}}

@media (prefers-color-scheme:dark){.header-menu nav{background:#000!important}}

.contact-clean h1{font-size:clamp(36px,4.2vw,62px)}@media (max-width:700px){.contact-clean h1{font-size:38px}}

.contact-clean .contact-phone{color:var(--pf-text)!important}
.hero{isolation:isolate;overflow:hidden}@keyframes  logoCoin{0%,50%,100%{transform:scaleX(1)}25%,75%{transform:scaleX(0)}}
/* Contact title uses the same typography as standard section titles. */
.contact-clean h1{font-size:clamp(36px,4.2vw,62px);font-weight:650;letter-spacing:-.055em!important;line-height:1.05}
@media (max-width:700px){.contact-clean h1{font-size:38px}}

/* One contact block, equal fact spacing, comfortable title tracking. */
.contact-clean h1{letter-spacing:-.015em!important}
.contact-facts{gap:28px}.contact-facts .contact-phone-group{margin-top:0}
.contact-facts .contact-phone{font-size:20px!important;line-height:1.5}
@media (max-width:700px){.contact-facts{padding-top:36px;gap:28px}.contact-facts .contact-phone{font-size:18px!important}}

.services-opener{font-family:inherit;border:0;background:none;padding:0;cursor:pointer}
.services-overlay{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;box-sizing:border-box;border:0;border-radius:0;padding:88px 11% 50px;background:#000!important;color:#f5f5f7;overflow-y:auto;overscroll-behavior:contain}
.services-overlay::backdrop{background:#000}.services-overlay[open]{display:flex;flex-direction:column;align-items:flex-start;animation:menu-sheet .44s cubic-bezier(.16,1,.3,1)}
.services-overlay-item{display:block;width:100%;padding:7px 0;font-size:28px;font-weight:600;letter-spacing:-.025em;line-height:1.25;color:inherit;text-decoration:none;animation:menu-drop .4s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--menu-order)*.025s + .12s)}
.services-overlay h2{font-size:18px!important;font-weight:600;letter-spacing:0!important;margin:0 0 18px!important;color:#a1a1a6}
.services-overlay a:hover{color:#a1a1a6}.services-overlay .services-close{position:absolute;top:22px;right:20px;width:44px;height:44px;min-height:0;padding:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:0;background:none;color:inherit}
body.services-is-open{overflow:hidden}.services-overlay.menu-closing{animation:menu-hide .32s cubic-bezier(.4,0,.6,1) both}.services-overlay.menu-closing .services-overlay-item{animation:menu-out .16s ease-in both;animation-delay:0s}
@media (max-width:700px){.services-overlay{padding:88px 8% 36px}.services-overlay-item{font-size:28px;padding:7px 0}}
@media (prefers-reduced-motion:reduce){.services-overlay[open],.services-overlay-item{animation:none}}

.about-overlay-copy{max-width:820px;width:100%;margin:0 auto;animation:menu-drop .4s cubic-bezier(.22,1,.36,1) both;animation-delay:.12s}
.about-overlay .about-overlay-copy h2{font-size:clamp(36px,4.2vw,62px)!important;color:#f5f5f7;letter-spacing:-.015em!important;line-height:1.05;margin:0 0 36px!important;font-weight:650}
.about-overlay-copy p{font-size:21px;line-height:1.6;color:#d2d2d7;margin:0 0 28px;letter-spacing:0}
@media (max-width:700px){.about-overlay-copy p{font-size:18px;line-height:1.6}.about-overlay .about-overlay-copy h2{font-size:38px!important;margin-bottom:28px!important}}
@media (prefers-reduced-motion:reduce){.about-overlay-copy{animation:none}}

/* Service choices match the full-screen navigation type at every viewport. */
.services-overlay a.services-overlay-item{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:28px;font-weight:600;letter-spacing:-.025em;line-height:1.25;padding:7px 0}

/* Hero actions are centered and stacked on every screen. */
.hero .actions{flex-direction:column;align-items:center;gap:12px}

/* Uniform services overlay in the original service order. */
#services-overlay{gap:12px}
#services-overlay .services-overlay-item{margin:0!important;padding:7px 0;font-size:28px!important;font-weight:600;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.025em!important;line-height:1.25;color:#f5f5f7;flex-shrink:0}
#services-overlay a.services-overlay-item{display:flex;align-items:baseline;gap:8px}
#services-overlay .service-menu-arrow{font-weight:400;font-size:inherit;line-height:inherit}

#services-overlay a.services-overlay-item{position:relative}

/* Homepage services match the red icon treatment of the feature blocks. */
.service-copy>.service-home-icon{display:block;width:40px;height:40px;color:#BC0928;margin-bottom:26px}
@media (max-width:700px){.service-copy>.service-home-icon{margin-bottom:20px}}

/* Separate the homepage service heading from the first service block. */
.home-services-title{padding-bottom:70px}

/* Platform-like confirmation after a successful request, on the home screen. */
.request-confirmation{border:0;border-radius:18px;padding:0;width:min(320px,calc(100vw - 48px));background:#f2f2f2;color:#1d1d1f;box-shadow:0 12px 60px #0004;text-align:center;font-family:-apple-system,system-ui,sans-serif;overflow:hidden}
.request-confirmation::backdrop{background:#0006;backdrop-filter:blur(3px)}
.request-confirmation h2{font-size:18px!important;font-weight:600;line-height:1.3!important;letter-spacing:0!important;margin:22px 20px 9px;text-align:center!important}
.request-confirmation p{font-size:14px;line-height:1.45;letter-spacing:0;margin:0 22px 22px;text-align:center!important}
.request-confirmation button{width:100%;min-height:48px;border:0;border-top:1px solid #0002;background:transparent;color:#007aff;font-size:17px;cursor:pointer;font-weight:600}
@media (prefers-color-scheme:dark){.request-confirmation{background:#282828;color:#f5f5f7}.request-confirmation button{border-color:#fff2;color:#0a84ff}}
/* Keep autofilled fields identical to manually filled fields. */
.assessment-form input:-webkit-autofill,
.assessment-form input:-webkit-autofill:hover,
.assessment-form input:-webkit-autofill:focus,
.assessment-form textarea:-webkit-autofill,
.assessment-form select:-webkit-autofill{
 -webkit-text-fill-color:var(--pf-text)!important;
 caret-color:var(--pf-text);
 -webkit-box-shadow:0 0 0 1000px var(--pf-panel) inset!important;
 box-shadow:0 0 0 1000px var(--pf-panel) inset!important;
 background-color:var(--pf-panel)!important;
}
.assessment-form input:autofill,
.assessment-form textarea:autofill,
.assessment-form select:autofill{
 color:var(--pf-text)!important;
 background-color:var(--pf-panel)!important;
 box-shadow:0 0 0 1000px var(--pf-panel) inset!important;
 caret-color:var(--pf-text);
}
/* Services sheet uses the same row rhythm as the three-line navigation. */
#services-overlay{gap:0}
#services-overlay .services-overlay-item{line-height:1.25!important;padding:7px 0!important}

.equipment-renders{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0}.equipment-renders img{display:block;width:100%;max-width:420px;max-height:460px;object-fit:contain;filter:none!important;background:transparent!important}.equipment-group img{width:33%;max-height:290px}.equipment-group img:only-child{width:100%}.equipment-group img:first-child:nth-last-child(2),.equipment-group img:first-child:nth-last-child(2)~img{width:48%}@media (max-width:700px){.equipment-renders{min-height:260px}.equipment-renders img{max-height:330px}.equipment-group img{max-height:230px}}

.service-feature{grid-template-columns:1fr 1.1fr}.equipment-renders{justify-content:flex-start;align-items:center;gap:0;flex-wrap:wrap;min-height:0}.equipment-renders img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;max-width:440px;max-height:none;margin:0}.equipment-renders img:nth-child(2){margin-top:-80px}@media (max-width:700px){.service-feature{grid-template-columns:1fr;gap:20px}.equipment-renders{width:100%;justify-content:flex-start}.equipment-renders img{width:100%;max-width:340px;margin-left:-40px}.equipment-renders img:nth-child(2){margin-top:-70px}}

/* Home services: copy first, equipment underneath, quiet divider after each. */
.home-stacked-service{display:flex;flex-direction:column;align-items:flex-start;gap:28px;min-height:0;padding-top:80px;padding-bottom:55px;border-bottom:1px solid #d2d2d7}
.home-stacked-service .service-copy{width:100%;max-width:880px}
.home-stacked-service .equipment-renders{width:100%;justify-content:flex-start}
.home-stacked-service .equipment-renders img{max-width:520px}
@media (prefers-color-scheme:dark){.home-stacked-service{border-bottom-color:#424245}}
@media (max-width:700px){.home-stacked-service{padding-top:56px;padding-bottom:36px;gap:18px}.home-stacked-service .equipment-renders img{max-width:340px}}
/* Services and About sheets follow the visitor's appearance setting. */
@media (prefers-color-scheme:light){.services-overlay{background:#fff!important;color:#1d1d1f}.services-overlay::backdrop{background:#fff}#services-overlay .services-overlay-item{color:#1d1d1f}.services-overlay h2{color:#6e6e73}}

.home-stacked-service .equipment-renders{padding-left:0;min-height:380px}.home-stacked-service .equipment-renders img{width:auto;height:var(--equipment-height);max-width:100%;aspect-ratio:auto;object-fit:contain;margin:0}
@media (max-width:700px){.home-stacked-service .equipment-renders{min-height:335px}.home-stacked-service .equipment-renders img{height:var(--equipment-mobile-height);max-width:100%;margin:0}}

.home-stacked-service{gap:12px}.home-stacked-service .service-copy>p:last-child{margin-bottom:0}.home-stacked-service>.text-link{margin-top:4px;margin-bottom:0}.home-stacked-service .equipment-renders{justify-content:flex-start}

.detail-stacked-service{display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding-top:20px;min-height:0}.detail-stacked-service .service-copy{max-width:880px}.detail-stacked-service .equipment-renders{display:flex;flex-direction:column;align-items:flex-start;perspective:850px;min-height:0;gap:12px}.detail-stacked-service .equipment-renders img{width:auto;max-width:100%;height:390px;aspect-ratio:auto;margin:0;cursor:grab;touch-action:pan-y;transform-origin:center;will-change:transform}.interactive-equipment:active{cursor:grabbing}.equipment-hint{font-size:13px;color:#6e6e73}.detail-stacked-service>.text-link{margin-top:0}.detail-stacked-service .service-copy>p:last-child{margin-bottom:0}@media (max-width:700px){.detail-stacked-service .equipment-renders img{height:300px;max-width:100%;margin:0}.detail-stacked-service{padding-top:12px}}
.equipment-renders img[data-model]{cursor:zoom-in;touch-action:pan-y}.equipment-viewer{border:0;padding:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;background:var(--pf-bg);color:var(--pf-text);overflow:hidden}.equipment-viewer::backdrop{background:var(--pf-bg)}.equipment-viewer[open]{display:flex;flex-direction:column}.equipment-viewer header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 32px;position:absolute;inset:0 0 auto;z-index:2}.equipment-viewer h2{font-size:20px!important;letter-spacing:0!important;margin:0!important}.equipment-viewer button{border:1px solid var(--pf-muted);background:transparent;color:inherit;border-radius:50%;width:44px;height:44px;cursor:pointer;font-size:28px}.equipment-viewer model-viewer{width:100%;height:100%;flex:1;--progress-bar-color:var(--pf-text);--progress-bar-height:2px}.equipment-viewer .viewer-help{position:absolute;bottom:26px;left:24px;right:24px;text-align:center;font-size:14px;color:var(--pf-muted);pointer-events:none}.equipment-viewer .viewer-error{position:absolute;inset:45% 10% auto;text-align:center}body.equipment-is-open{overflow:hidden}@media (max-width:700px){.equipment-viewer header{padding:18px 20px}.equipment-viewer h2{max-width:260px;font-size:18px!important}}
.equipment-viewer model-viewer{flex:none;width:100%;height:calc(100% - 160px);margin-top:85px}.equipment-viewer header{background:var(--pf-bg)}.equipment-viewer .viewer-help{margin:0!important;bottom:30px}
.inline-equipment-3d{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:440px;touch-action:pan-y}.inline-equipment-3d img{max-height:100%!important}.inline-equipment-3d model-viewer{position:absolute;inset:0;width:100%;height:100%;cursor:grab}.inline-equipment-3d model-viewer:active{cursor:grabbing}.inline-expand{position:absolute;bottom:0;right:12px;z-index:1;width:44px;height:44px;border-radius:50%;border:1px solid var(--pf-muted);background:var(--pf-bg);color:var(--pf-text);font-size:24px;cursor:pointer}@media (max-width:700px){.inline-equipment-3d{height:342px}}
html{scrollbar-gutter:stable}.header-menu[open] nav,.services-overlay[open]{animation:pf-sheet-in .2s ease-out!important}@keyframes  pf-sheet-in{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
.equipment-viewer header{border:0!important}.equipment-viewer{width:100vw!important;max-width:none!important}body.equipment-is-open{scrollbar-gutter:auto}
/* Fullscreen presents only the object and a menu-style close control. */
.equipment-viewer h2,.equipment-viewer .viewer-help,.equipment-viewer .viewer-error{display:none!important}.equipment-viewer header{background:transparent!important;border:0!important;padding:0!important;inset:18px 18px auto auto!important;width:44px;height:44px}.equipment-viewer button{border:0!important;border-radius:0!important;width:44px;height:44px;background:none!important;font-size:28px;font-weight:300;outline:none!important;padding:0}.equipment-viewer model-viewer{height:calc(100% - 96px)!important;margin-top:64px!important}.inline-expand{display:none!important}


.equipment-viewer{background:#000;color:#fff!important}.equipment-viewer::backdrop{background:transparent!important}.equipment-viewer .viewer-help{display:block!important;color:#999!important;font-size:13px!important;bottom:25px!important}.equipment-viewer button{color:#fff!important}.equipment-renders img[data-model]:focus:not(:focus-visible){outline:none!important}.equipment-viewer model-viewer{opacity:0;transition:opacity .12s}

html.equipment-open-root{scrollbar-gutter:auto!important;overflow:hidden!important}.equipment-viewer{position:fixed!important;left:0!important;top:0!important;right:0!important;bottom:0!important;margin:0!important;border-radius:0!important}


.home-stacked-service .equipment-renders img{height:460px!important;width:auto!important;max-width:100%!important}@media (max-width:700px){.home-stacked-service .equipment-renders img{height:333px!important}}

.equipment-viewer model-viewer,.inline-equipment-3d model-viewer{--progress-bar-height:0px;--progress-bar-color:transparent}



.equipment-viewer{background:#000}.equipment-viewer::backdrop{background:transparent!important}.equipment-viewer header{z-index:8!important}.equipment-viewer .viewer-help{z-index:8}.equipment-viewer model-viewer{transition:none!important}


@media (prefers-color-scheme:light){.hero{background:#fff!important}}

@media (prefers-color-scheme:light){.equipment-viewer{background:#fff;color:#1d1d1f!important}.equipment-viewer::backdrop{background:#fff!important}.equipment-viewer button,.equipment-viewer .viewer-help{color:#1d1d1f!important}}

.inline-equipment-3d{overflow:hidden}.inline-equipment-3d img{position:relative;width:100%!important;height:100%!important;max-width:100%!important;object-fit:contain;flex:none}.inline-equipment-3d model-viewer{inset:auto!important;max-width:none!important;max-height:none!important}

.equipment-viewer,.equipment-viewer *,.inline-equipment-3d,.inline-equipment-3d *,.model-frame,.model-frame *{user-select:none!important;-webkit-user-select:none!important;-webkit-touch-callout:none!important;-webkit-user-drag:none!important}
.equipment-viewer .viewer-zoom{touch-action:none;transition:none!important}
.photo-viewer header{z-index:10!important;position:relative}.photo-viewer .viewer-help{z-index:10!important}
.photo-viewer header{position:fixed!important;inset:16px 16px auto auto!important;width:48px!important;height:48px!important;z-index:10!important}.photo-viewer header button{position:static!important}.photo-viewer .viewer-help{position:fixed;bottom:24px;left:0;width:100%;text-align:center;pointer-events:none}



/* Keep every inline turn inside a reserved visual well, clear of its hint. */
.inline-equipment-3d img{width:84%!important;height:84%!important}.detail-stacked-service .equipment-renders{gap:24px}.equipment-hint{margin-top:0}






html{scrollbar-gutter:stable}.will-reveal{transform:none!important;opacity:1!important;transition:none!important}.header-menu[open] nav{height:100dvh;animation:pf-sheet-in .24s ease-out!important}body{overflow-anchor:none}

/* Review: original flame proportions, with independent bottom and side feathering. */






.hero-logo-background{position:absolute;inset:0;pointer-events:none;display:flex;align-items:center;justify-content:center;overflow:hidden;contain:paint;filter:blur(11px);opacity:.39}.hero-logo-background img,.hero-logo-background canvas{display:block;width:100%;height:120%;max-height:none;object-fit:fill;transform:translateY(25px);mask-image:linear-gradient(to right,transparent,#000 20%,#000 80%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 20%,#000 80%,transparent)}@media(prefers-color-scheme:dark){.hero-logo-background{opacity:.56}}
/* Descending sheet leads equal-duration words in a top-to-bottom wave. */
@keyframes pf-menu-sheet-down{from{transform:translateY(-100%)}to{transform:translateY(0)}}
@keyframes pf-menu-words-down{from{opacity:0;transform:translateY(-22px)}to{opacity:1;transform:translateY(0)}}
.header-menu[open]:not(.menu-closing) nav,.services-overlay[open]:not(.menu-closing){overflow:hidden!important;opacity:1!important;animation:pf-menu-sheet-down .38s cubic-bezier(.22,.75,.25,1) both!important}
.header-menu[open]:not(.menu-closing) nav .menu-item,.services-overlay[open]:not(.menu-closing) .services-overlay-item{animation:pf-menu-words-down .4s cubic-bezier(.22,.75,.25,1) both!important;animation-delay:calc(.04s + var(--menu-order,0)*.035s)!important}
.services-overlay::backdrop{background:transparent!important}
@media(prefers-reduced-motion:reduce){.header-menu[open] nav,.header-menu[open] nav .menu-item,.services-overlay[open],.services-overlay-item{animation:none!important;transform:none!important}}
/* Soft continuous fire, higher at the sides than at the center. */
.hero-logo-background{opacity:.22!important;filter:blur(22px)!important;overflow:hidden;align-items:center}
.hero-logo-background img,.hero-logo-background canvas{width:110%!important;height:100%!important;object-fit:fill!important;transform:translateY(-12px)!important;mask-image:linear-gradient(to bottom,transparent 0%,#000 12%,#000 62%,transparent 91%)!important;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 12%,#000 62%,transparent 91%)!important}
@media(prefers-color-scheme:dark){.hero-logo-background{opacity:.33!important}}
@media(prefers-reduced-motion:reduce){.header-menu[open]:not(.menu-closing) nav,.header-menu[open]:not(.menu-closing) nav .menu-item,.services-overlay[open]:not(.menu-closing),.services-overlay[open]:not(.menu-closing) .services-overlay-item{animation:none!important;clip-path:none!important;transform:none!important}}

/* Move the background itself without carrying the words along with it. */
.header-menu[open]:not(.menu-closing) nav,.services-overlay[open]:not(.menu-closing){animation:none!important;background:transparent!important;isolation:isolate}
.header-menu[open]:not(.menu-closing) nav::before,.services-overlay[open]:not(.menu-closing)::before{content:"";position:absolute;inset:0;background:var(--pf-bg,#000);z-index:-1;animation:pf-menu-sheet-down .38s cubic-bezier(.22,.75,.25,1) both}
.services-overlay[open]:not(.menu-closing)::before{background:#000}
@media(prefers-reduced-motion:reduce){.header-menu[open] nav::before,.services-overlay[open]::before{animation:none!important}}
/* Private layout review based on the supplied sketch. */
.hero-sketch-logo{display:block!important;width:132px!important;height:180px!important;object-fit:contain;margin:0 auto 30px!important;filter:brightness(0) invert(1)}
.hero{padding-top:30px!important;min-height:900px!important;background:#000!important;color:#f5f5f7!important}
.hero-copy{padding-top:0!important;padding-bottom:75px!important;transform:none!important}
.hero-copy>p:not(.eyebrow){color:#a1a1a6!important}
.nav{align-items:flex-start!important;padding-top:8px!important}
.header-controls{align-self:flex-start!important}
@media(min-width:701px){.hero-sketch-logo{width:180px!important;height:230px!important;margin-bottom:32px!important}.hero{min-height:980px!important;padding-top:38px!important}}
/* Owner review: lift the whole hero content a little. */
.hero-copy{transform:translateY(-24px)!important}
/* Keep the approved hero layout while honoring the system appearance. */
.hero{background:var(--pf-bg)!important;color:var(--pf-text)!important}
.hero-sketch-logo{filter:brightness(0)!important}
.hero-copy>p:not(.eyebrow){color:var(--pf-muted)!important}
@media(prefers-color-scheme:dark){.hero-sketch-logo{filter:brightness(0) invert(1)!important}}
/* Pre-blurred fire atlas: no live full-width blur surface. */
.hero-logo-background{filter:none!important;contain:layout paint style}
.hero-logo-background canvas{will-change:auto}
.focal-model-surface{will-change:transform;contain:layout style}

/* Original-site photo background test: static, heavily tinted, short edge fade. */
.hero-logo-background{opacity:.28!important;filter:none!important;display:block!important}
.hero-logo-background img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:43% center!important;transform:none!important;mask-image:linear-gradient(to bottom,#000 0%,#000 77%,transparent 100%)!important;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 77%,transparent 100%)!important}
.hero-logo-background{mask-image:linear-gradient(to right,transparent 0%,#000 7%,#000 93%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 7%,#000 93%,transparent 100%)}
@media(prefers-color-scheme:dark){.hero-logo-background{opacity:.24!important}}

img[data-context]{object-fit:cover!important;width:100%;height:auto!important;border-radius:12px;cursor:pointer}.installed-panel{margin-top:24px}.service-visual.equipment-renders img[data-context]{max-height:none;max-width:820px}
/* Installed-context images retain their whole composition on narrow screens. */
.pf img[data-context]{width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;max-height:none!important;object-fit:contain!important;visibility:visible!important;opacity:1!important;transform:none!important}
.pf .service-visual.equipment-renders:has(img[data-context]){display:block;width:100%;max-width:820px;min-width:0;min-height:0;height:auto}
.pf .installed-panel{width:100%;max-width:100%}

/* Keep the installed scene visible behind the device lift. */
.equipment-viewer::backdrop{background:transparent!important}

/* v2: no focus ring / tap highlight left on scene images after the viewer closes */
img[data-context],img[data-context]:focus,img[data-context]:focus-visible,img[data-context]:active,.pf [data-model]:focus,.pf [data-model]:focus-visible{outline:none!important;box-shadow:none!important;-webkit-tap-highlight-color:transparent!important;-webkit-user-select:none;user-select:none}
img[data-context]::selection{background:transparent}
.hero-logo-background{transform:translateZ(0);will-change:transform}

.equipment-renders img[data-crop]{width:auto!important;max-width:100%!important;height:auto!important;max-height:340px!important;object-fit:contain!important;border-radius:0!important;background:transparent!important}
/* uniform sharp pictures */
.pf img:not([class*="logo"]):not(.logo-light-mode):not(.logo-dark-mode),.product-image,.service-grid img,img[data-context],.service-feature:has(img[src*="kitchen"]) img{border-radius:0!important}
img[data-context]{aspect-ratio:4/3;object-fit:cover!important;width:100%;height:auto!important}
@media(min-width:900px){img[data-context]{width:100%!important;max-width:none!important}.service-visual.equipment-renders:has(img[data-context]){max-width:none!important;width:100%}}
.service-feature img[data-model]:not([data-crop]){display:block;width:100%!important;max-width:none!important;height:auto!important;aspect-ratio:4/3;object-fit:contain;margin:0!important;border-radius:0!important;background:radial-gradient(ellipse at 50% 42%,#d6d6da 0%,#b9b9be 62%,#8c8c91 100%)}
.service-feature img[data-model="pull-station"],.service-feature img[data-model="sprinkler"],.service-feature img[data-model="fx3500"],.service-feature img[data-model="extinguisher"]{object-fit:cover}
.service-feature .service-visual{width:100%;max-width:none}
@media(min-width:900px){.service-feature img[data-model]:not([data-crop]){max-height:none}}
