:root{--navy:#071e36;--blue:#087aec;--cyan:#49caff;--ink:#10283f;--gray:#526579;--line:#d7e1e9;--light:#f1f5f8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.55;background:white}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--blue);outline-offset:5px}.skip{position:absolute;top:-100px;left:20px;padding:10px;background:white;z-index:100}.skip:focus{top:10px}header{background:rgba(255,255,255,.97);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.header-inner{max-width:1440px;min-height:96px;padding:0 5%;margin:auto;display:flex;align-items:center;gap:35px}.brand{font-weight:800;font-size:31px;letter-spacing:-1.4px;line-height:1;display:inline-block;white-space:nowrap}.brand span{color:var(--blue);font-weight:400}.brand small{display:block;font-size:12px;letter-spacing:1.3px;font-weight:600;margin-top:11px}nav{margin-left:auto;display:flex;align-items:center;gap:30px}nav a{font-size:14px;font-weight:600;transition:color .2s}nav a:hover{color:var(--blue)}.nav-contact{padding:11px 20px;border:1px solid var(--navy)}.header-controls{display:flex;gap:18px;align-items:center}.header-controls button{border:0;background:transparent;color:var(--ink);font-size:14px;font-weight:600;padding:8px}#menu{display:none}.hero{padding:35px 5% 0;max-width:1440px;margin:auto}.hero-top{display:flex;justify-content:space-between;gap:20px}.eyebrow{font-size:12px;letter-spacing:1.6px;font-weight:700;line-height:1.8;display:block}.hero-top .eyebrow{color:var(--blue)}.hero-index{font-size:12px;letter-spacing:1.5px;color:var(--gray)}.hero-grid{display:grid;grid-template-columns:1.02fr 1fr;gap:25px;align-items:center;padding:32px 0 46px}.hero-copy h1{font-size:clamp(40px,4.7vw,68px);line-height:1.1;letter-spacing:-2.7px;font-weight:700;margin:0 0 25px}.hero-copy h1 em{font-style:normal;color:var(--blue)}.hero-copy p{font-size:18px;line-height:1.7;color:var(--gray);max-width:390px}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:31px}.button{display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;min-height:51px;padding:14px 23px;transition:background .2s}.blue{background:var(--blue);color:white}.blue:hover{background:#0065c9}.text-link{font-size:14px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:5px;display:inline-block}.text-link:hover{color:var(--blue)}.hero-visual{margin:0;background:var(--light);position:relative;min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.visual-label{display:flex;justify-content:space-between;gap:12px;position:absolute;top:24px;left:24px;right:24px;font-size:12px;letter-spacing:1.2px;color:var(--gray)}.hero-visual img{width:100%;height:380px;object-fit:contain;padding:50px 16px 24px;mix-blend-mode:multiply}.hero-visual figcaption{flex-wrap:wrap;font-size:12px;line-height:1.6;display:flex;justify-content:space-between;gap:12px;padding:19px 24px;border-top:1px solid var(--line);color:var(--gray)}.hero-visual figcaption a{font-weight:700;white-space:nowrap}.hero-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:23px 0 25px;font-size:12px;font-weight:600;letter-spacing:1.2px}.section{padding:88px 5%;scroll-margin-top:20px}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:flex-end;max-width:1296px;margin:0 auto 44px}.section-heading>div{flex:1}h2{font-size:clamp(30px,3vw,44px);line-height:1.2;letter-spacing:-1.4px;margin:20px 0 0;font-weight:600}.section-heading>p{color:var(--gray);font-size:16px;width:340px;margin:0 0 4px}.services{background:var(--navy);color:white}.services .eyebrow{color:var(--cyan)}.services .section-heading>p{color:#b1c1d0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:1296px;margin:auto;border-top:1px solid #365067;border-bottom:1px solid #365067}.service-grid article{padding:31px 25px 23px;border-right:1px solid #365067;display:flex;flex-direction:column}.service-grid article:first-child{padding-left:0}.service-grid article:last-child{border:0;padding-right:0}.card-top{display:flex;justify-content:space-between;align-items:center;color:#8197ab;font-size:12px}.service-symbol{font-size:34px;line-height:1;color:var(--cyan)}.service-symbol.heat{color:#f8a267}.service-grid h3{font-size:21px;font-weight:500;line-height:1.4;margin:31px 0 14px;letter-spacing:-.5px}.service-grid p{font-size:15px;line-height:1.8;color:#b1c1d0;margin:0 0 32px}.card-foot{font-size:12px;letter-spacing:1.4px;color:#7f9ab0;margin-top:auto}.application-layout{max-width:1296px;margin:auto;display:grid;grid-template-columns:.8fr 1.4fr;gap:65px}.application-tabs{display:flex;flex-direction:column}.application-tabs button{text-align:left;border:0;border-top:1px solid var(--line);background:white;padding:24px 15px 24px 0;color:var(--gray);font-size:19px}.application-tabs button:last-child{border-bottom:1px solid var(--line)}.application-tabs button[aria-selected="true"]{color:var(--blue);font-weight:600;box-shadow:inset 4px 0 var(--blue);padding-left:20px;background:#f6f9fc}.application-tabs button:hover{color:var(--blue)}#application-panel{background:var(--light);padding:35px 40px;min-height:374px}#application-code{font-size:12px;letter-spacing:1.8px;font-weight:700;color:var(--blue)}#application-panel h3{font-size:29px;line-height:1.25;letter-spacing:-.8px;margin:20px 0}#application-panel p{color:var(--gray);font-size:16px}#application-panel ul{padding-left:20px;color:var(--gray);font-size:15px;margin:22px 0 28px}#application-panel li{padding:4px 0}.process{background:#f6f8fa;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;max-width:1296px;margin:auto}.steps article{border-top:1px solid var(--line);padding-top:20px}.steps article>span{font-size:14px;color:var(--blue);font-weight:700}.steps h3{font-size:22px;margin:26px 0 13px;letter-spacing:-.4px}.steps p{color:var(--gray);font-size:15px;line-height:1.8;margin:0}.about{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1.15fr;gap:90px;align-items:center}.about-mark{background:var(--navy);color:white;padding:70px 35px;font-size:clamp(38px,4.5vw,65px);font-weight:800;letter-spacing:-2px;text-align:center}.about-mark>span{font-weight:400;color:var(--cyan)}.about-mark>div{font-size:12px;letter-spacing:2px;line-height:2;opacity:.65;margin-top:25px;font-weight:400}.about-copy .eyebrow{color:var(--blue)}.about-copy h2{font-size:34px;line-height:1.3}.about-copy p{font-size:16px;color:var(--gray);line-height:1.8}.about-copy .text-link{margin-top:12px}.contact{background:var(--navy);color:white;display:grid;grid-template-columns:1.3fr .85fr;gap:100px}.contact .eyebrow{color:var(--cyan)}.contact h2{font-size:clamp(34px,3.8vw,55px);line-height:1.2}.contact-heading{max-width:680px}.contact-heading p{max-width:500px;color:#b1c1d0;margin:26px 0 32px}.contact-details{padding-top:30px;display:grid;grid-template-columns:1fr;gap:24px;max-width:390px}.contact-details>div{border-bottom:1px solid #365067;padding-bottom:18px}.contact-details>div>span{display:block;color:#8ea6bb;font-size:12px;letter-spacing:1.4px;margin-bottom:7px}.contact-details a{font-size:24px;letter-spacing:-.6px}.contact-details a:hover{color:var(--cyan)}.contact-details p{margin:0;color:#dbe4ec;font-size:15px;line-height:1.7}footer{display:flex;align-items:center;gap:35px;padding:35px 5%;max-width:1440px;margin:auto}footer .brand{font-size:25px}footer p{font-size:13px;color:var(--gray)}footer>span{margin-left:auto;color:var(--gray);font-size:12px}
@media(min-width:1550px){.section{padding-left:calc((100vw - 1296px)/2);padding-right:calc((100vw - 1296px)/2)}.about{padding-left:72px;padding-right:72px}}
@media(max-width:1050px){nav{gap:18px}.header-inner{gap:20px}.hero-copy h1{letter-spacing:-1.8px}.hero-actions{gap:18px;flex-wrap:wrap}.hero-visual img{height:330px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-grid article{padding:30px!important;border-bottom:1px solid #365067}.service-grid article:nth-child(2){border-right:0}.service-grid article:nth-child(n+3){border-bottom:0}.about{gap:45px}.contact{gap:55px}.section-heading{gap:35px}.section-heading>p{width:300px}}
@media(max-width:760px){html{scroll-padding-top:84px}.header-inner{min-height:80px;padding:0 6%;justify-content:space-between}.brand{font-size:27px}.brand small{font-size:12px;margin-top:8px}.header-controls{gap:10px}#menu{display:flex;width:28px;height:32px;flex-direction:column;justify-content:center;gap:6px;padding:0}#menu span{width:23px;height:2px;background:var(--ink)}nav{display:none;position:absolute;top:80px;left:0;right:0;background:white;padding:22px 6%;border-bottom:1px solid var(--line);margin:0}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:20px}.nav-contact{text-align:center}.hero{padding:25px 6% 0}.hero-top .eyebrow{font-size:12px;letter-spacing:1px}.hero-index{display:none}.hero-grid{grid-template-columns:1fr;gap:32px;padding:25px 0 30px}.hero-copy h1{font-size:47px;letter-spacing:-2px}.hero-copy p{font-size:16px;margin-top:20px}.hero-actions{gap:23px;margin-top:24px}.hero-visual img{height:260px;padding-top:45px}.visual-label{top:17px;left:17px;right:17px}.hero-visual figcaption{flex-wrap:wrap;padding:16px;font-size:12px;flex-wrap:wrap}.hero-bottom{font-size:12px;letter-spacing:1px;line-height:1.8}.hero-bottom span{max-width:48%}.section{padding:57px 6%}.section-heading{display:block;margin-bottom:30px}.eyebrow{font-size:12px;letter-spacing:1.2px}h2{font-size:32px;letter-spacing:-.9px;margin-top:17px}.section-heading>p{width:auto;max-width:450px;margin-top:22px;font-size:15px}.service-grid{grid-template-columns:1fr 1fr}.service-grid article{padding:24px 17px!important}.service-grid article:nth-child(odd){padding-left:0!important}.service-grid article:nth-child(even){padding-right:0!important}.service-grid h3{font-size:18px;margin-top:25px}.service-grid p{font-size:14px}.card-foot{font-size:12px;letter-spacing:1px}.application-layout{grid-template-columns:1fr;gap:25px}.application-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.application-tabs button{font-size:14px;padding:17px 4px;line-height:1.5;border-bottom:1px solid var(--line)}.application-tabs button[aria-selected="true"]{padding-left:12px;box-shadow:inset 3px 0 var(--blue)}#application-panel{padding:28px 24px;min-height:390px}#application-panel h3{font-size:25px}#application-panel p{font-size:15px}.steps{grid-template-columns:1fr 1fr;gap:28px 22px}.steps h3{font-size:20px;margin:19px 0 10px}.steps p{font-size:14px}.about{grid-template-columns:1fr;gap:32px}.about-mark{font-size:53px;padding:50px 20px}.about-copy h2{font-size:30px}.about-copy p{font-size:15px}.contact{grid-template-columns:1fr;gap:35px}.contact h2{font-size:36px}.contact-heading p{font-size:15px}.contact-details{max-width:none;grid-template-columns:1fr 1fr;gap:25px 20px;padding-top:0}.contact-details a{font-size:19px}.contact-details p{font-size:14px}footer{padding:30px 6%;flex-wrap:wrap;gap:12px 20px}footer p{margin:0;max-width:160px;font-size:12px}footer>span{margin-left:0;width:100%;font-size:12px}}
@media(max-width:370px){.hero-copy h1{font-size:40px}.service-grid{grid-template-columns:1fr}.service-grid article{padding:24px 0!important;border-right:0;border-bottom:1px solid #365067!important}.service-grid article:last-child{border-bottom:0!important}.contact-details{grid-template-columns:1fr}.about-mark{font-size:43px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.hero-visual.installed{background:var(--navy);overflow:hidden}.installed .visual-label{color:white;z-index:1;padding:10px 12px;background:#071e36d9;left:18px;right:18px;top:18px}.hero-visual.installed img{height:100%;min-height:390px;max-height:480px;object-fit:cover;object-position:55% 50%;padding:0;mix-blend-mode:normal;flex:1}.installed figcaption{background:var(--navy);color:#e0ebf5;border:0}.projects{background:#f1f5f8}.projects .eyebrow{color:var(--blue)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px;max-width:1296px;margin:auto}.project-photo{margin:0;min-width:0}.photo-button{display:block;position:relative;width:100%;padding:0;border:0;background:var(--navy);overflow:hidden;aspect-ratio:3/4}.photo-button img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}.project-photo:first-child .photo-button img{object-position:62% center}.photo-button:hover img{transform:scale(1.035)}.photo-expand{position:absolute;bottom:14px;right:14px;width:36px;height:36px;background:white;color:var(--ink);display:grid;place-items:center;font-size:24px;line-height:1}.project-photo figcaption{font-size:14px;line-height:1.6;padding-top:14px}#photo-viewer{width:min(1100px,94vw);max-height:94dvh;border:0;padding:18px;background:var(--navy);color:white}#photo-viewer::backdrop{background:#03101dec}.viewer-inner{display:flex;flex-direction:column;max-height:calc(94dvh - 36px)}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px;font-size:14px}#photo-viewer button{background:transparent;color:white;border:1px solid #648097;font-size:14px;padding:8px 16px}#photo-viewer button:hover{background:#193a56}#viewer-image{width:100%;height:65dvh;min-height:0;object-fit:contain;flex:1}#viewer-caption{font-size:15px;text-align:center;margin:15px 0}.viewer-navigation{display:flex;justify-content:center;gap:14px}@media(max-width:1050px){nav{gap:14px}nav a{font-size:13px}.nav-contact{padding:10px 13px}.project-grid{gap:25px 18px}}@media(max-width:760px){.hero-visual.installed img{min-height:300px;max-height:370px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.project-photo figcaption{font-size:13px}.photo-expand{width:30px;height:30px;font-size:21px;right:10px;bottom:10px}#photo-viewer{padding:12px}#viewer-image{height:62dvh}#viewer-caption{font-size:14px}}@media(max-width:420px){.project-grid{grid-template-columns:1fr}.photo-button{aspect-ratio:4/5}.project-photo:first-child .photo-button{aspect-ratio:4/3}}

.contact-details>div{min-width:0}.contact-details a[href^="mailto:"]{font-size:clamp(1rem,1.5vw,1.375rem);overflow-wrap:anywhere}

.hero-visual.installed{background:transparent;justify-content:center}.hero-visual.installed img{height:auto;min-height:0;max-height:none;flex:0 0 auto;object-fit:contain}

.project-feature{grid-column:1/-1;display:grid;grid-template-columns:1.35fr 1fr;align-items:center;background:white;margin-bottom:12px}.project-feature .photo-button{aspect-ratio:4/3;background:#e4e9ed}.project-feature .photo-button img{object-fit:contain;object-position:center}.project-feature figcaption{padding:35px}.project-feature .eyebrow{color:var(--blue)}.project-feature h3{font-size:30px;line-height:1.25;letter-spacing:-.7px;margin:18px 0}.project-feature p{font-size:16px;color:var(--gray);line-height:1.8;margin:0}@media(max-width:760px){.project-feature{grid-template-columns:1fr}.project-feature figcaption{padding:25px}.project-feature h3{font-size:26px}.project-feature p{font-size:15px}.project-feature .photo-button{aspect-ratio:4/3}}
