/* Shared, standalone components. Original desktop proportions live in the compiled styles. */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:105px}
body{margin:0;color:#272727;background:#fff;font-family:'Poppins',sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background-color:#f6f6f6;opacity:.11;background-image:linear-gradient(#cacaca 1px,transparent 1px),linear-gradient(90deg,#cacaca 1px,transparent 1px),linear-gradient(#cacaca .5px,transparent .5px),linear-gradient(90deg,#cacaca .5px,#f6f6f6 .5px);background-size:25px 25px,25px 25px,5px 5px,5px 5px}
button,input,textarea{font:inherit}button,a,input,summary,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img,video{max-width:100%}img{vertical-align:middle}button{border:0}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #f15a24;outline-offset:5px}button:disabled{cursor:wait;opacity:.6}[hidden]{display:none!important}h1,h2,h3,p{overflow-wrap:break-word}main{display:block}
.skip-link{position:fixed;left:20px;top:-100px;z-index:10000;background:#111;color:#fff;padding:12px 20px;border-radius:8px}.skip-link:focus{top:15px}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);box-shadow:0 0 21px -10px #0008;backdrop-filter:blur(16px);max-width:none;width:100%;margin:0;padding:0}
.site-header .header-inner{height:79px;max-width:1080px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 8px}
.brand{flex:none;display:block}.brand img{width:177px;height:52px;object-fit:contain}
.desktop-nav{display:flex;align-items:center;gap:50px;margin-left:40px;font:400 16px/1.4 'DM Sans',sans-serif}.desktop-nav a{position:relative;padding:15px 0;transition:color .25s}.desktop-nav a:hover{color:#cb3522}
.proposal-button{display:flex;align-items:center;gap:15px;min-height:44px;white-space:nowrap}
.availability-dot{width:10px;height:10px;border-radius:50%;background:#52ff39;box-shadow:0 0 7px 2px #52ff3980;flex:none}.menu-toggle{display:none;background:transparent;padding:12px;color:#222}.menu-toggle span{width:22px;height:2px;display:block;background:currentColor;margin:6px 0;transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav{padding:12px 24px 24px;display:grid;gap:4px;border-top:1px solid #eee}.mobile-nav a{padding:12px 0;font-size:16px}
.site-footer{background:#1a1a1a;color:#fff;padding:30px 24px;font-family:'DM Sans',sans-serif}.footer-inner{max-width:1300px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:24px}.footer-inner p{margin:3px 0;font-size:13px;color:#ddd}.footer-links{display:flex;gap:24px;align-items:center;font-size:13px}.footer-links a:hover{color:#f15a24}.footer-links button{padding:8px 0;background:transparent;color:#ddd;font-size:13px}
.brand-marquee{overflow:hidden;width:100%;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.marquee-track{display:flex;width:max-content;animation:marquee 65s linear infinite}.marquee-track>div{display:flex;align-items:center;gap:33px;padding-right:33px}.marquee-track img{width:170px;height:80px;object-fit:contain;filter:grayscale(1);opacity:.7;flex:none}.brand-marquee:hover .marquee-track{animation-play-state:paused}@keyframes marquee{to{transform:translateX(-50%)}}
.page-home .strato-267 .strato-element-fb0e7ed{overflow:hidden}.page-home .strato-267 .strato-element-61bd4e5e{width:100%;max-width:100%}.page-home .st-main-media>img{width:100%;height:100%;object-fit:cover}.page-home .strato-widget-video{overflow:hidden}.page-home .strato-267 .strato-element-eb2faa3{display:flex;align-items:center;gap:12px;margin-left:0}.page-home .strato-267 .strato-element-eb2faa3>img{width:125px;height:auto;flex:none}.page-home .strato-267 .strato-element-9e40216{margin:0!important;max-width:140px}.page-home .strato-267 .strato-element-9e40216 p{margin:0}
.faq-item{border-bottom:1px solid #ddd}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;padding:23px 0;font-size:17px;font-weight:500;cursor:pointer}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary>span{flex:none;font-weight:300;font-size:25px;transition:transform .3s}.faq-item[open] summary>span{transform:rotate(45deg)}.faq-answer{padding:0 36px 24px 0;font-size:15px;line-height:1.75;color:#555}.faq-answer p{margin:0 0 14px}.faq-answer p:last-child{margin-bottom:0}
/* Content stays visible if JavaScript is unavailable. Motion is progressively enhanced. */
.reveal-inner,.fade-up{opacity:1;transform:none}.motion-ready [data-reveal]{opacity:0;transform:translateY(35px);transition:opacity 1s ease,transform 1s cubic-bezier(.22,1,.36,1)}.motion-ready [data-reveal].is-revealed{opacity:1;transform:none}.pps-card{opacity:1;transform:none}.motion-ready .pps-card{opacity:0;transform:translateY(30px)}.motion-ready .pps-card.is-visible{opacity:1;transform:none}.motion-ready .reveal-inner,.motion-ready .fade-up{opacity:0;transform:translateY(32px)}.motion-ready .reveal-inner.in,.motion-ready .fade-up.in{opacity:1;transform:none}
.project-main{min-height:65vh}.project-gallery{max-width:1140px;margin:0 auto;padding:10px;display:grid;grid-template-columns:minmax(0,1fr);gap:9px}.gallery-image{display:block;overflow:hidden;background:#f5f5f5;aspect-ratio:16/9;cursor:zoom-in}.gallery-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.22,1,.36,1)}.gallery-image:hover img{transform:scale(1.015)}.project-navigation{max-width:1120px;margin:30px auto 70px;display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid #e8e8e8;font-size:14px}.project-navigation a:hover{color:#f15a24}.project-contact{padding:85px 24px;text-align:center;background:#f5f5f5}.project-contact>p:first-child{font-size:12px;letter-spacing:1px;color:#f15a24}.project-contact h2{font-size:clamp(32px,5vw,54px);line-height:1.2;font-weight:500;margin:12px 0 18px}.project-contact>p{font-size:16px;color:#666}.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:48px}
.lightbox{position:fixed;inset:0;margin:auto;padding:55px 65px;max-width:100vw;max-height:100dvh;width:100vw;height:100dvh;background:#111f;color:#fff;border:0;overflow:hidden}.lightbox::backdrop{background:#111}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:16px;max-height:100%;width:100%}.lightbox figure img{display:block;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 150px);object-fit:contain}.lightbox figcaption{font-size:12px;color:#aaa}.lightbox>button{position:absolute;background:transparent;color:#fff;min-width:48px;min-height:48px;font-size:40px;font-weight:300}.lightbox-close{right:16px;top:8px}.lightbox-prev{left:8px;top:calc(50% - 24px)}.lightbox-next{right:8px;top:calc(50% - 24px)}body.dialog-open{overflow:hidden}
.contact-page{max-width:920px;margin:0 auto;padding:90px 30px 100px}.contact-heading{margin-bottom:50px}.contact-heading h1{font-size:clamp(32px,4.2vw,48px);font-weight:500;line-height:1.2;margin:0 0 25px}.contact-heading>p{font-size:17px;line-height:1.7;max-width:750px;color:#555}.form-field{margin-bottom:27px}.form-field>label{display:block;font-size:16px;font-weight:500;margin-bottom:9px}.form-field input:not([type=checkbox]),.form-field textarea{display:block;width:100%;background:#f9f9f9;border:1px solid #d8d8d8;border-radius:4px;color:#222;font-size:15px;padding:15px 17px;min-height:52px;transition:border-color .2s;resize:vertical}.form-field input:focus,.form-field textarea:focus{border-color:#f15a24}.form-field input::placeholder,.form-field textarea::placeholder{color:#999}.form-field .strato-field-subgroup{display:flex;flex-wrap:wrap;gap:12px 22px}.form-field .strato-field-option{display:flex;align-items:center;gap:8px;font-size:15px}.form-field input[type=checkbox]{width:18px;height:18px;accent-color:#f15a24;flex:none}.form-field input[aria-invalid=true],.form-field textarea[aria-invalid=true]{border-color:#b42318}.field-error{display:block;color:#b42318;font-size:12px;margin-top:6px}.form-trap{position:absolute;left:-9999px;height:1px;width:1px;overflow:hidden}.form-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}.form-status{font-size:14px;line-height:1.7;margin-top:20px;color:#555}.form-status a{color:#d94715;text-decoration:underline}.form-help{font-size:12px;color:#888;line-height:1.6}.contact-direct{margin-top:45px;border-top:1px solid #ddd;padding-top:25px;display:flex;gap:25px;flex-wrap:wrap;font-size:14px}.contact-direct a:hover{color:#f15a24}
@media(min-width:768px) and (max-width:1100px){.header-inner{padding:0 30px}.desktop-nav{gap:28px;margin-left:0}.page-home .strato-267 .strato-element-e49a382{--width:52%}.page-home .strato-267 .strato-element-cf175e9{--width:48%}.page-home .strato-267 .strato-element-21b86fc2 .strato-heading-title{font-size:clamp(32px,4vw,45px);line-height:1.25}.page-home .strato-267 .strato-element-157ba0ea{margin-right:20px}.project-navigation{margin-left:25px;margin-right:25px}}
@media(max-width:767px){
 html{scroll-padding-top:88px}.header-inner{height:72px;padding:0 18px;gap:12px}.brand img{width:136px;height:42px}.desktop-nav{display:none}.proposal-button{min-height:40px;margin-left:auto;gap:9px}.availability-dot{width:7px;height:7px}.menu-toggle{display:block;padding:5px}.site-footer{padding:30px 24px}.footer-inner{flex-direction:column;align-items:flex-start;gap:20px}.footer-links{gap:20px;flex-wrap:wrap}
 .page-home main>.e-con{max-width:100%;width:100%;--width:100%;--content-width:100%;margin-left:0;margin-right:0}.page-home .e-con-inner{max-width:100%;min-width:0}.page-home .strato-widget{min-width:0}.page-home .strato-267 .strato-element-0740ca0{--min-height:auto;padding:0 22px 30px}.page-home .strato-267 .strato-element-0740ca0>.e-con-inner{flex-direction:column;gap:36px}.page-home .strato-267 .strato-element-e49a382{--width:100%;width:100%;max-width:100%;padding:0;gap:22px}.page-home .strato-267 .strato-element-21b86fc2{margin:45px 0 0}.page-home .strato-267 .strato-element-21b86fc2 .strato-heading-title{font-size:clamp(30px,7.6vw,42px);line-height:1.2;letter-spacing:-.5px}.page-home .strato-267 .strato-element-157ba0ea{margin:0;font-size:15px;line-height:1.55}.page-home .strato-267 .strato-element-f2891b7{margin:0}.page-home .strato-267 .strato-element-eb2faa3{--width:100%;width:100%;margin:0;gap:14px}.page-home .strato-267 .strato-element-eb2faa3>img{width:113px}.page-home .strato-267 .strato-element-9e40216{font-size:12px;line-height:1.3;max-width:130px}.page-home .strato-267 .strato-element-a8c5dcd{display:none}.page-home .strato-267 .strato-element-cf175e9{width:100%;--width:100%;padding:0}.page-home .strato-267 .strato-element-8c71ba6{width:100%;max-width:100%;--container-widget-width:100%;border-radius:22px}.page-home .strato-267 .strato-element-fb0e7ed{min-height:90px;padding:10px 0 20px}.page-home .strato-267 .strato-element-61bd4e5e{margin:0;--container-widget-width:100%}.marquee-track img{width:135px;height:65px}.marquee-track>div{gap:20px;padding-right:20px}
 .page-home .strato-267 .strato-element-7df58c4{padding:0 20px}.page-home .premium-problems-section{padding:45px 0}.page-home .pps-container{padding:0}.page-home .pps-title{font-size:clamp(24px,6.1vw,31px)}.page-home .pps-title br{display:none}.page-home .pps-grid{gap:18px}.page-home .pps-card{padding:30px 25px}.page-home .pps-card-title{font-size:23px}.page-home .pps-card-desc{font-size:14px}.page-home .pps-cta-btn{white-space:normal}.page-home .strato-267 .strato-element-46c10b2{margin:0;padding:10px 20px}.page-home .st-container{padding:0}.page-home .st-card{position:relative;top:auto!important;margin-bottom:24px;transform:none!important;filter:none!important;height:auto;min-height:0}.page-home .st-card-content{height:auto;min-height:0;padding:26px 22px;gap:25px}.page-home .st-left{width:100%;padding:0}.page-home .st-right{width:100%;height:auto;min-height:0;aspect-ratio:4/3}.page-home .st-title{font-size:clamp(26px,6.5vw,34px)}.page-home .st-desc{font-size:14px;line-height:1.65}.page-home .stacked-services-section{padding:24px 0 0}.page-home .strato-267 .strato-element-72a673e4{padding:25px 20px}.page-home .st-portfolio-section{padding:30px 0}.page-home .st-port-container{padding:0}.page-home .st-main-name{font-size:38px}.page-home .st-main-content{padding:28px 24px}.page-home .st-main-desc{font-size:14px;line-height:1.7}.page-home .st-sub-projects{gap:22px}.page-home .st-sub-card{min-width:0}.page-home .st-port-tags{flex-wrap:wrap}.page-home .st-port-tags span{font-size:11px}
 .page-home .strato-267 .strato-element-49b4117{padding:20px;--min-height:0;margin:0}.page-home .strato-267 .strato-element-49b4117>.e-con-inner{flex-direction:column;gap:25px}.page-home .strato-267 .strato-element-a653989{--width:100%;width:100%}.page-home .strato-267 .strato-element-982ca92{margin:0 0 -70px;align-self:flex-end;max-width:125px}.page-home .strato-267 .strato-element-982ca92 img{width:100%}.page-home .strato-267 .strato-element-1ad314e img{height:auto;width:100%;object-fit:cover;border-radius:15px}.page-home .strato-267 .strato-element-71ff900{--width:100%;width:100%;padding:12px 0}.page-home .strato-267 .strato-element-66133ba,.page-home .strato-267 .strato-element-936142b,.page-home .strato-267 .strato-element-f7bc47b{margin:0;padding:0}.page-home .strato-267 .strato-element-f7bc47b{font-size:15px;line-height:1.65}.page-home .strato-267 .strato-element-339d320{padding:12px 20px}.page-home .fw-step{padding:26px}.page-home .fw-desc{font-size:14px;line-height:1.7}.page-home .strato-267 .strato-element-fda9bfa{padding:30px 20px;margin-top:30px}.page-home .strato-267 .strato-element-fda9bfa>.e-con-inner{gap:25px}.page-home .strato-267 .strato-element-fda9bfa img{max-height:300px;object-fit:contain}.page-home .strato-267 .strato-element-594ca090,.page-home .strato-267 .strato-element-3131e580{padding-left:20px;padding-right:20px;margin-top:0;margin-bottom:0}.page-home .strato-testimonial-content{font-size:14px;line-height:1.7}.page-home .strato-267 .strato-element-424fc196{padding:35px 20px}.page-home .strato-267 .strato-element-030d0b3{--width:100%;width:100%;padding:0}.page-home .strato-267 .strato-element-ce19261{margin:0;padding:30px 20px;--min-height:0}.faq-item summary{font-size:15px;padding:20px 0}.faq-answer{font-size:14px;padding-right:8px}
 .cs-wrap{padding:52px 22px 60px}.cs-title{font-size:clamp(56px,15vw,92px)}.cs-category{font-size:10px;letter-spacing:2px}.cs-meta-item{padding-right:22px;padding-bottom:12px}.cs-section{padding:48px 0}.cs-body{font-size:15px;line-height:1.85}.cs-pull br,.cs-impact-quote br{display:none}.project-gallery{padding:0 10px;gap:9px}.project-navigation{margin:25px 22px 50px;font-size:12px}.project-contact{padding:55px 22px}.project-contact>p{font-size:14px}.lightbox{padding:52px 40px}.lightbox figure img{max-height:calc(100dvh - 130px)}.lightbox>button{min-width:36px;font-size:32px}.lightbox-prev{left:0}.lightbox-next{right:0}
 .contact-page{padding:50px 22px 65px}.contact-heading{margin-bottom:32px}.contact-heading>p{font-size:15px}.form-field>label{font-size:14px}.form-field .strato-field-subgroup{flex-direction:column;gap:14px}.form-actions{flex-direction:column}.form-actions .button{width:100%}.contact-direct{flex-direction:column;gap:14px;font-size:13px;overflow-wrap:anywhere}
}
@media(max-width:374px){.header-inner{padding:0 12px;gap:6px}.brand img{width:112px}.proposal-button{gap:6px}.menu-toggle{padding:3px}.menu-toggle span{width:18px}.page-home .pps-card{padding:28px 20px}.page-home .st-main-content{padding:24px 20px}.page-home .st-port-tags{gap:6px}.page-home .st-sub-name{font-size:22px}.cs-category{letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-ready [data-reveal],.motion-ready .pps-card,.motion-ready .reveal-inner,.motion-ready .fade-up{opacity:1;transform:none}.st-card{transform:none!important;filter:none!important}}
.seo-online-note{font:400 12px/1.8 'DM Sans',sans-serif!important;color:#aaa!important;max-width:410px;margin:14px 0 0}.seo-online-faq{border-bottom:1px solid #ffffff20;padding:22px 0;color:white}.seo-online-faq summary{cursor:pointer;font:500 19px/1.5 'DM Sans',sans-serif}.seo-online-faq p{color:#eee;font:400 15px/1.9 'DM Sans',sans-serif;margin:18px 0 0;max-width:850px}@media(max-width:600px){.seo-online-faq summary{font-size:17px}.seo-online-note{max-width:320px}}
