:root{--ink:#16272a;--muted:#5b6b6e;--teal:#007e79;--aqua:#64ded1;--sun:#f9b958;--dark:#102a2d;--deep:#102124;--line:#dce4e4;--wash:#f3f6f5;--white:#fff;--radius:8px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--white);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;height:auto}svg{flex-shrink:0}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.1;letter-spacing:-.045em;font-weight:500}h1{font-size:clamp(2.7rem,5.4vw,5.1rem)}h2{font-size:clamp(2rem,3.4vw,3.35rem)}h3{font-size:1.5rem;letter-spacing:-.025em}p+p{margin-top:1rem}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #1b9c90;outline-offset:5px}::selection{background:var(--sun);color:var(--deep)}.wrap{width:min(1320px,calc(100% - 96px));margin-inline:auto}.section{padding-block:100px}.label{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:600;line-height:1.5;color:var(--teal);margin-bottom:20px}.kicker{display:flex;gap:10px;align-items:center;font-size:.875rem;color:#b5cacc;margin-bottom:35px}.kicker:before{content:'';width:22px;height:2px;background:var(--sun)}.muted{color:var(--muted)}.lead{font-size:1.15rem;line-height:1.65;max-width:680px;color:var(--muted)}.small{font-size:.875rem;line-height:1.6}.skip{position:fixed;top:8px;left:8px;transform:translateY(-200%);z-index:100;padding:12px 20px;background:var(--sun)}.skip:focus{transform:none}.topbar{height:90px;display:flex;align-items:center;border-bottom:1px solid var(--line);position:relative;z-index:20;background:#fff}.nav-wrap{display:flex;align-items:center;gap:30px;width:min(1440px,calc(100% - 64px));margin:auto}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;line-height:1}.brand img{width:35px;height:35px}.brand strong{font-size:1.85rem;letter-spacing:-.08em;font-weight:700}.brand small{display:block;font-size:.65rem;letter-spacing:.29em;text-transform:uppercase;margin-top:7px}.desktop-nav{display:flex;gap:25px;align-items:center;margin-left:auto;font-size:.875rem}.desktop-nav a{padding-block:12px;white-space:nowrap}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{color:var(--teal)}.header-cta{border-left:1px solid var(--line);padding-left:25px;color:var(--teal);font-size:.875rem;font-weight:600;white-space:nowrap}.mobile-menu{display:none;margin-left:auto}.mobile-menu summary{list-style:none;border:1px solid var(--line);padding:8px 15px;border-radius:4px;font-size:.875rem;cursor:pointer}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{position:absolute;inset:90px 0 auto;padding:22px 30px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 20px 30px #10212415;display:grid;gap:7px}.mobile-menu nav a{padding:8px}.mobile-menu summary:after{content:' +';color:var(--teal)}.mobile-menu[open] summary:after{content:' −'}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:16px 23px;font-size:.9375rem;line-height:1.35;font-weight:600;border:1px solid transparent;border-radius:4px;min-height:54px;transition:background .18s,transform .18s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--sun);color:var(--deep)}.btn-primary:hover{background:#ffda77}.btn-outline{border-color:#587173;color:#fff;background:transparent}.btn-dark{background:var(--dark);color:#fff}.btn-white{background:#fff;color:var(--ink)}.btn-line{border-color:var(--line);background:#fff;color:var(--ink)}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:30px}.text-link{display:inline-flex;align-items:center;gap:15px;color:var(--teal);font-size:.9375rem;font-weight:600;line-height:1.5}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.arrow{font-size:1.35rem;font-weight:400}.hero{background:var(--deep);color:#fff;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.07fr 1fr;min-height:630px}.hero-copy{padding:62px 54px 60px 0;position:relative;z-index:1}.hero h1{font-size:clamp(3.4rem,6.2vw,6rem);line-height:1.02;letter-spacing:-.06em;margin-bottom:30px}.hero h1 span{color:var(--sun)}.hero-copy>p{color:#c7d6d7;font-size:1.0625rem;line-height:1.7;max-width:530px}.hero-copy .actions{align-items:flex-start;flex-direction:column;gap:20px;margin-top:33px}.pilot-link{display:inline-flex;align-items:center;gap:10px;color:#d4e4e4;font-size:.875rem}.pilot-link svg{color:var(--aqua)}.pilot-link:hover{color:var(--sun)}.hero-media{position:relative;margin-right:calc((min(1320px,100vw - 96px) - 100vw)/2);overflow:hidden;min-height:580px}.hero-media>img{width:100%;height:100%;object-fit:cover;object-position:62% center;position:absolute;inset:0}.photo-caption{position:absolute;bottom:28px;left:28px;right:28px;padding:18px 22px;background:var(--deep);display:flex;gap:20px;justify-content:space-between;align-items:center;color:#fff}.photo-caption small{font-size:.75rem;color:#b5cacc;display:block}.photo-caption b{font-size:1.2rem;font-weight:500}.photo-caption .power{font-size:1.75rem;color:var(--sun);white-space:nowrap}.hero-meta{border-top:1px solid #ffffff20;display:flex;gap:28px;padding-top:27px;margin-top:39px;font-size:.875rem;color:#c4d7d7}.hero-meta span{display:flex;align-items:center;gap:8px}.hero-meta svg{color:var(--aqua)}
.stats{background:var(--wash);border-bottom:1px solid var(--line)}.stats-grid{display:grid;grid-template-columns:1fr 1fr 1.3fr;padding-block:35px;gap:50px;align-items:center}.stat{display:flex;align-items:center;gap:20px}.stat b{font-size:3rem;font-weight:400;line-height:1;letter-spacing:-.055em}.stat span{font-size:.875rem;color:var(--muted);line-height:1.5;max-width:135px}.stats-note{font-size:.9375rem;border-left:1px solid #d1dddd;padding-left:35px;color:var(--muted)}.section-top{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:44px}.section-top h2{max-width:760px}.section-top>.lead{max-width:400px;font-size:1rem}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.service-card{padding:30px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}.card-top{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:37px;color:var(--teal)}.card-top .number{color:#7b8b8d;font-size:.875rem}.service-card h3{max-width:300px;margin-bottom:16px;font-size:1.7rem}.service-card p{font-size:1rem;color:var(--muted);margin-bottom:27px}.service-card .text-link{margin-top:auto}.wash{background:var(--wash)}.featured{display:grid;grid-template-columns:1.16fr 1fr;gap:40px}.feature-photo{position:relative;min-height:380px;background:var(--dark)}.feature-photo img{width:100%;height:100%;object-fit:cover;position:absolute}.feature-photo .photo-caption{left:18px;bottom:18px;right:18px}.project-list{border-top:1px solid #cbd8d8}.project-row{display:grid;grid-template-columns:1fr auto;gap:20px;padding:22px 0;border-bottom:1px solid #cbd8d8;align-items:center}.project-row h3{font-size:1.4rem;margin-bottom:6px}.project-row small{font-size:.875rem;color:var(--muted)}.project-row b{font-size:1.3rem;font-weight:400}.project-row:hover h3{color:var(--teal)}.project-list .text-link{margin-top:26px}.dark{background:var(--dark);color:#fff}.dark .label{color:var(--aqua)}.dark .lead,.dark .muted{color:#b7cfd0}.journey{margin-top:55px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;list-style:none;padding:0}.journey li{position:relative;padding-top:35px;border-top:1px solid #476568}.journey li:before{content:'';position:absolute;top:-5px;left:0;width:9px;height:9px;border:1px solid var(--aqua);border-radius:50%;background:var(--dark)}.journey .step-num{color:var(--aqua);font-size:.75rem;letter-spacing:.08em}.journey h3{font-size:1.15rem;line-height:1.3;letter-spacing:-.015em;margin:12px 0}.journey p{font-size:.875rem;line-height:1.6;color:#b7cfd0}.journey li:nth-child(3):before{background:var(--sun);border-color:var(--sun)}.journey li:nth-child(3) .step-num{color:var(--sun)}.boundary{display:flex;gap:26px;align-items:flex-start;border-top:1px solid #446064;padding-top:28px;margin-top:42px;color:#b7cfd0;font-size:.9375rem}.boundary svg{color:var(--aqua)}.boundary a{color:#fff;text-decoration:underline;text-underline-offset:4px}.business-block{display:grid;grid-template-columns:1fr 1fr;gap:80px}.business-block h2{margin-bottom:25px}.benefits{margin:0;padding:0;list-style:none;counter-reset:benefit}.benefits li{display:grid;grid-template-columns:35px 1fr;gap:16px;padding:23px 0;border-top:1px solid var(--line);counter-increment:benefit}.benefits li:before{content:'0' counter(benefit);font-size:.875rem;color:var(--teal)}.benefits h3{font-size:1.3rem;margin-bottom:9px}.benefits p{font-size:1rem;color:var(--muted)}.cta-band{padding:62px 0;background:var(--sun)}.cta-grid{display:flex;gap:35px;justify-content:space-between;align-items:center}.cta-grid h2{font-size:clamp(2rem,3vw,3rem);margin-bottom:12px}.cta-grid p{color:#4b462f}.cta-grid .btn{flex-shrink:0}.footer{background:var(--deep);color:#fff;padding:60px 0 25px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr;gap:40px}.footer .brand{margin-bottom:22px}.footer p{color:#a6bcbd;font-size:.875rem;max-width:250px}.footer h2{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#a6bcbd;margin-bottom:22px}.footer nav{display:grid;gap:12px}.footer nav a{font-size:.875rem;color:#dae6e6}.footer a:hover{color:var(--sun)}.footer-contact{display:grid;gap:12px;align-content:start}.footer-contact>a{font-size:1.05rem}.messengers{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.messengers a{display:inline-flex;align-items:center;gap:9px;border:1px solid #53696c;border-radius:4px;padding:9px 13px;font-size:.875rem}.footer-base{margin-top:54px;border-top:1px solid #354d50;padding-top:22px;display:flex;justify-content:space-between;gap:22px;color:#a6bcbd;font-size:.75rem}.footer-base a{text-decoration:underline;text-underline-offset:3px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:.875rem;color:var(--muted);padding-block:27px}.breadcrumbs a:hover{color:var(--teal)}.breadcrumbs span[aria-hidden]{color:#9dacac}.page-hero{padding:40px 0 72px;border-bottom:1px solid var(--line)}.page-hero .lead{margin-top:27px;max-width:780px}.page-hero h1{max-width:1000px}.page-hero .label{margin-bottom:22px}.two-col{display:grid;grid-template-columns:.9fr 1.2fr;gap:100px}.two-col h2{max-width:500px}.prose{max-width:780px;color:var(--muted)}.prose h2,.prose h3{color:var(--ink);margin-bottom:24px}.prose h3{margin-top:36px}.prose ul{padding-left:22px}.prose li{margin-bottom:13px}.fact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:40px}.fact{padding:25px;background:var(--wash);border:1px solid var(--line)}.fact b{display:block;font-size:1.6rem;font-weight:500;line-height:1.3;margin-bottom:9px}.fact span{font-size:.875rem;color:var(--muted)}.article-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.info-card{padding:32px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.info-card .label{margin-bottom:22px}.info-card h3{font-size:1.5rem;margin-bottom:16px}.info-card p{color:var(--muted)}.info-card .text-link{margin-top:22px}.dark .info-card{background:#15373a;border-color:#446568}.dark .info-card p{color:#bdd1d1}.dark .info-card h3{color:#fff}.notice{margin-top:30px;border-left:3px solid var(--teal);background:var(--wash);padding:22px 26px;font-size:.9375rem;color:var(--muted)}.dark .notice{border-color:var(--sun);background:#17383b;color:#c5d8d8}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.project-card{border:1px solid var(--line);display:flex;flex-direction:column;min-width:0;border-radius:var(--radius);overflow:hidden;transition:box-shadow .2s,border-color .2s}.project-card:hover{border-color:#739e9c;box-shadow:0 10px 30px #103b3810}.project-card .body{padding:27px;display:flex;flex-direction:column;flex:1}.project-card h2{font-size:1.7rem;margin:18px 0 12px}.project-card .capacity{font-size:2.4rem;color:var(--teal);line-height:1.2;letter-spacing:-.04em}.project-card .detail{color:var(--muted);font-size:.9375rem;margin-top:7px}.project-card .text-link{margin-top:auto;padding-top:27px}.project-card .tag{font-size:.75rem;letter-spacing:.04em;color:var(--muted)}.project-card.special{background:var(--dark);color:#fff}.project-card.special .capacity{color:var(--sun)}.project-card.special .tag,.project-card.special .detail{color:#c7dada}.project-card.special .text-link{color:var(--aqua)}.case-hero{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.case-hero img{width:100%;height:460px;object-fit:cover;border-radius:4px}.case-hero h1{font-size:clamp(2.7rem,5vw,4.8rem);margin-bottom:25px}.case-hero .lead{font-size:1.0625rem}.case-power{font-size:3.4rem;line-height:1;color:var(--teal);letter-spacing:-.055em;margin:28px 0 12px}.case-data{display:flex;gap:30px;flex-wrap:wrap;margin:0}.case-data div{padding:16px 0;border-top:1px solid var(--line);min-width:150px}.case-data dt{color:var(--muted);font-size:.875rem}.case-data dd{margin:8px 0 0;font-size:1.15rem}.case-summary{background:var(--dark);color:#fff;padding:40px;border-radius:var(--radius)}.case-summary .case-power{font-size:5rem;color:var(--sun)}.case-summary .label{color:var(--aqua)}.case-summary p{color:#bdd0d2}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.gallery figure{margin:0}.gallery a{display:block;overflow:hidden;border-radius:4px;background:var(--dark)}.gallery img{width:100%;height:330px;object-fit:cover;transition:transform .3s}.gallery a:hover img{transform:scale(1.025)}.gallery figcaption{font-size:.875rem;color:var(--muted);margin-top:14px}.gallery figure:first-child{grid-column:span 2}.gallery figure:first-child img{object-fit:cover}.lightbox{border:0;background:var(--deep);padding:16px;width:min(1100px,94vw);max-height:94vh;overflow:auto;border-radius:6px;color:#fff}.lightbox::backdrop{background:#071317dd}.lightbox img{width:100%;max-height:76vh;object-fit:contain}.lightbox-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.lightbox-header button{background:transparent;border:1px solid #668081;color:#fff;padding:8px 15px;border-radius:4px}.lightbox p{padding:12px 0}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.contact-aside h2{font-size:2rem;margin-bottom:22px}.contact-item{padding:24px 0;border-bottom:1px solid var(--line)}.contact-item .label{margin-bottom:8px}.contact-item>a{font-size:clamp(1.3rem,2.5vw,1.7rem);letter-spacing:-.025em}.contact-aside .messengers{margin-top:25px}.contact-aside .messengers a{border-color:var(--line)}.lead-form{background:var(--wash);padding:38px;border:1px solid var(--line);border-radius:var(--radius);scroll-margin-top:30px}.lead-form h2{font-size:2rem;margin-bottom:15px}.lead-form>p{font-size:.9375rem;color:var(--muted);margin-bottom:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:8px;font-size:.875rem;color:var(--ink)}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{border:1px solid #b6c8c8;border-radius:4px;background:#fff;color:var(--ink);width:100%;padding:13px 14px;min-height:49px;min-width:0;font-size:1rem}.field textarea{resize:vertical;min-height:120px}.field small{color:var(--muted);font-size:.8125rem}.form-foot{font-size:.8125rem;color:var(--muted);margin-top:18px}.form-foot a{text-decoration:underline}.form-actions{margin-top:24px}.result{margin-top:27px;border-top:1px solid #cad8d7;padding-top:25px}.result[hidden]{display:none}.result h3{font-size:1.5rem;margin-bottom:15px}.result textarea{width:100%;height:240px;padding:15px;border:1px solid #b6c8c8;font-size:.9375rem;resize:vertical;background:#fff;border-radius:4px;color:var(--ink)}.result .actions{margin-top:15px}.status{margin-top:14px;font-size:.9375rem;color:var(--teal)}.faq{max-width:850px;margin-inline:auto}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{cursor:pointer;font-size:1.2rem;line-height:1.5;list-style:none;display:flex;justify-content:space-between;gap:30px}.faq summary:after{content:'+';color:var(--teal);font-size:1.5rem}.faq details[open] summary:after{content:'−'}.faq details p{padding-top:20px;color:var(--muted)}.partner-strip{border-top:1px solid var(--line);padding-top:25px;margin-top:35px}.timeline{list-style:none;padding:0;margin:0;counter-reset:stage}.timeline li{padding:25px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:40px 1fr;gap:20px;counter-increment:stage}.timeline li:before{content:'0' counter(stage);color:var(--teal);font-size:.875rem}.timeline h3{font-size:1.35rem;margin-bottom:12px}.timeline p{color:var(--muted)}.empty-page{padding-block:100px}.empty-page p{margin-top:25px}
@media(min-width:1600px){.hero-grid{min-height:710px}.hero-copy{padding-top:80px}.hero-media{min-height:650px}}
@media(max-width:1200px){.desktop-nav{gap:16px}.header-cta{display:none}.hero-copy{padding-right:30px}.hero h1{font-size:clamp(3rem,6vw,5.3rem)}.two-col{gap:55px}.contact-grid{gap:45px}.footer-grid{gap:25px}.journey{gap:15px}.journey h3{font-size:1.05rem}}
@media(max-width:960px){.wrap{width:calc(100% - 48px)}.nav-wrap{width:calc(100% - 48px)}.desktop-nav{display:none}.mobile-menu{display:block}.topbar{height:78px}.mobile-menu nav{top:78px}.hero-grid{grid-template-columns:1fr 1fr;min-height:580px}.hero-copy{padding-top:44px;padding-bottom:45px}.hero h1{font-size:clamp(2.9rem,6.3vw,4.5rem)}.hero-copy>p{font-size:1rem}.hero-media{margin-right:-24px;min-height:580px}.hero-meta{flex-wrap:wrap;gap:14px;margin-top:28px;padding-top:20px}.photo-caption{left:14px;right:14px;bottom:14px;padding:15px;gap:12px}.photo-caption .power{font-size:1.35rem}.photo-caption b{font-size:1.05rem}.stats-grid{gap:20px;grid-template-columns:1fr 1fr}.stats-note{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:18px 0 0}.section{padding-block:75px}.services-grid{gap:22px}.service-card h3{font-size:1.4rem}.section-top{align-items:flex-start}.section-top>.lead{max-width:300px}.featured{gap:25px}.feature-photo{min-height:380px}.journey{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:35px}.business-block{gap:40px}.footer-grid{grid-template-columns:1fr 1fr;gap:45px}.two-col{grid-template-columns:1fr;gap:30px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{grid-template-columns:1fr;gap:45px}.contact-aside{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.contact-aside h2,.contact-aside>p{grid-column:1/-1}.contact-aside .messengers{align-self:center}.case-hero{gap:30px}.case-hero img{height:400px}.case-summary{padding:28px}.gallery img{height:290px}.cta-grid{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.wrap,.nav-wrap{width:calc(100% - 40px)}.topbar{height:72px}.mobile-menu nav{top:72px}.brand strong{font-size:1.6rem}.brand img{width:32px;height:32px}.brand small{font-size:.625rem}.hero-grid{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:36px 0 35px}.kicker{font-size:.8125rem;margin-bottom:26px}.hero h1{font-size:clamp(2.8rem,10vw,3.6rem);margin-bottom:23px}.hero-copy>p{max-width:100%;font-size:1rem}.hero-copy .actions{margin-top:25px;gap:22px}.hero-copy .btn{width:100%}.hero-meta{margin-top:27px;font-size:.8125rem;gap:17px}.hero-media{margin:0 -20px;height:330px;min-height:330px}.hero-media>img{object-position:center 62%}.photo-caption{left:20px;right:20px;bottom:20px;padding:14px 17px}.photo-caption .power{font-size:1.5rem}.stats-grid{padding-block:26px;gap:24px 15px}.stat{gap:13px}.stat b{font-size:2.6rem}.stat span{font-size:.8125rem}.stats-note{font-size:.875rem}.section{padding-block:59px}.section-top{display:block;margin-bottom:32px}.section-top .text-link{margin-top:24px}.section-top>.lead{max-width:100%;margin-top:22px}h2{font-size:2.15rem}.label{font-size:.75rem;margin-bottom:16px}.services-grid{grid-template-columns:1fr;gap:36px}.service-card{padding-top:22px}.card-top{margin-bottom:25px}.service-card h3{font-size:1.75rem;max-width:100%}.service-card p{margin-bottom:18px}.featured{grid-template-columns:1fr;gap:30px}.feature-photo{min-height:330px}.project-row{padding:18px 0}.journey{grid-template-columns:1fr;margin-top:32px;gap:0}.journey li{padding:20px 0 20px 28px;border-top:0;border-left:1px solid #476568}.journey li:before{top:25px;left:-5px}.journey h3{font-size:1.2rem;margin:8px 0}.journey p{font-size:.9375rem}.journey li:last-child{padding-bottom:0}.boundary{gap:15px;margin-top:30px;padding-top:23px;font-size:.875rem}.business-block{grid-template-columns:1fr;gap:35px}.cta-band{padding:42px 0}.cta-grid{gap:25px}.cta-grid .btn{width:100%}.footer{padding-top:45px}.footer-grid{gap:36px 22px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:last-child{grid-column:1/-1}.footer-base{margin-top:35px;flex-direction:column;gap:13px}.breadcrumbs{padding-block:20px;font-size:.8125rem}.page-hero{padding:25px 0 45px}.page-hero h1{font-size:2.85rem}.page-hero .lead{font-size:1.05rem;margin-top:24px}.two-col{gap:27px}.fact-grid{grid-template-columns:1fr;gap:12px;margin-top:28px}.fact{padding:20px}.article-grid{grid-template-columns:1fr}.info-card{padding:27px}.project-grid{grid-template-columns:1fr;gap:20px}.project-card .body{padding:26px}.case-hero{grid-template-columns:1fr;gap:30px}.case-hero h1{font-size:3rem}.case-hero img{height:330px}.case-summary .case-power{font-size:4.5rem}.gallery{grid-template-columns:1fr 1fr;gap:25px 15px}.gallery figure:first-child{grid-column:1/-1}.gallery img{height:250px}.gallery figure:first-child img{height:280px}.gallery figcaption{font-size:.8125rem}.contact-aside{grid-template-columns:1fr}.contact-aside h2,.contact-aside>p{grid-column:auto}.lead-form{padding:25px 20px}.lead-form h2{font-size:1.7rem}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.form-actions .btn{width:100%}.result .actions>*{width:100%}.faq summary{font-size:1.0625rem}.notice{padding:20px}.actions .btn{max-width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.topbar,.footer,.cta-band,.actions,.mobile-menu{display:none}.hero,.dark{background:white;color:black}.hero p,.dark p{color:#333}.wrap{width:100%}.section{padding:25px 0}a{text-decoration:underline}.hero-media{margin:0}.page-hero{padding:20px 0}}

/* Responsive refinements: readable grid tracks and reliable touch navigation. */
.hero-grid{grid-template-columns:minmax(0,1.07fr) minmax(0,1fr)}
.hero-grid>*,.services-grid>*,.featured>*,.business-block>*,.footer-grid>*,.two-col>*,.article-grid>*,.fact-grid>*,.case-hero>*,.contact-grid>*,.stats-grid>*{min-width:0}
h1,h2,h3,.lead,.text-link,.btn,.footer-contact>a{overflow-wrap:break-word}
.hero-messengers{margin-top:23px}.hero-messengers .messengers{margin:0}.hero-messengers a{color:#e0eeee;border-color:#688487;min-height:44px}.hero-messengers a:hover{color:var(--sun);border-color:var(--sun)}
.hero-meta{margin-top:25px}.hero-media{margin-right:calc(-1 * max(48px,(100vw - 1320px)/2))}
.photo-caption>a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
.mobile-contact-bar{display:none}.menu-messengers{padding-top:12px;border-top:1px solid var(--line)}
.mobile-menu nav{max-height:calc(100dvh - 100px);max-height:calc(100vh - 100px);overflow-y:auto;overscroll-behavior:contain}
.mobile-menu nav .messengers{display:flex}.mobile-menu nav .messengers a{padding:10px 13px;min-height:44px;border-color:var(--line)}
.lightbox-header button{min-height:44px}.btn:disabled{cursor:not-allowed;opacity:.65;transform:none}
@media (max-width:1100px) and (min-width:641px){
 .hero-copy{padding-right:24px}.hero h1{font-size:clamp(2.7rem,5.8vw,4.5rem)}
 .hero-media{margin-right:-24px}.hero-meta{gap:14px;flex-wrap:wrap}
 .hero-messengers .messengers{gap:8px}.hero-messengers .messengers a{font-size:.8125rem;padding:9px 11px}
 .section-top{gap:25px}.section-top>h2,.section-top>div{min-width:0}
 .services-grid{gap:18px}.service-card h3{font-size:1.45rem}
 .journey{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:34px}
}
@media (max-width:820px) and (min-width:641px){
 .hero-grid{grid-template-columns:minmax(0,1fr)}.hero-copy{padding:42px 0 35px}
 .hero h1{font-size:4.25rem}.hero-copy>p{max-width:620px}
 .hero-copy .actions{flex-direction:row;align-items:center;gap:24px}
 .hero-media{margin:0 -24px;height:410px;min-height:410px}
 .hero-media>img{object-position:center 63%}.photo-caption{left:24px;right:24px}
 .hero-meta{margin-top:24px}.hero-messengers{margin-top:22px}
 .services-grid{grid-template-columns:1fr}.service-card h3{max-width:none;font-size:1.8rem}
 .service-card p{max-width:660px}.card-top{margin-bottom:24px}
 .featured{grid-template-columns:1fr}.feature-photo{min-height:390px}
 .business-block{grid-template-columns:1fr;gap:35px}
}
@media (max-width:640px){
 body{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
 html{scroll-padding-bottom:100px}.hero-media{margin:0 -20px;min-height:320px;height:320px}
 .hero h1{font-size:clamp(2.6rem,10.6vw,3.7rem)}.hero-copy .actions{gap:19px}
 .hero-copy .pilot-link{align-self:flex-start;line-height:1.6;font-size:.875rem}
 .hero-messengers{margin-top:22px}.hero-messengers .messengers{display:grid;grid-template-columns:1fr 1fr}
 .hero-messengers .messengers a{justify-content:center}.hero-meta{margin-top:23px;gap:16px}
 .photo-caption{padding:12px;gap:10px}.photo-caption small{font-size:.75rem}.photo-caption .power{font-size:1.3rem}
 .photo-caption>a{min-width:35px}.project-row{grid-template-columns:minmax(0,1fr) auto;gap:12px}
 .project-row h3{font-size:1.25rem}.project-row b{font-size:1.15rem}
 .journey{grid-template-columns:minmax(0,1fr)}.section-top .text-link{max-width:100%}
 .page-hero h1,.case-hero h1{font-size:clamp(2.25rem,8.9vw,3rem)}
 .lightbox{width:calc(100% - 20px);max-height:calc(100dvh - 20px);padding:12px}.lightbox img{max-height:65dvh}
 .lightbox-header{font-size:.875rem}.lightbox-header button{flex-shrink:0}
 .mobile-contact-bar{position:fixed;z-index:50;inset:auto 0 0;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,.7fr);gap:7px;padding:10px max(12px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));background:var(--deep);border-top:1px solid #5a7275;box-shadow:0 -3px 18px #10212420}
 .mobile-contact-bar a{display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;font-size:.8125rem;color:#fff;line-height:1.3;border:1px solid #586e70;border-radius:4px;text-align:center;padding:8px 5px}
 .mobile-contact-bar a.mobile-apply{background:var(--sun);color:var(--deep);font-weight:600;border-color:var(--sun)}
 .mobile-contact-bar .max-word{font-size:.875rem;font-weight:700;letter-spacing:.035em}
 .editing-form .mobile-contact-bar{display:none}.lead-form{scroll-margin-top:25px;scroll-margin-bottom:100px}
 .footer-contact>a{font-size:1.15rem}.footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
@media (max-width:360px){.stat{gap:9px}.stat b{font-size:2.3rem}.stat span{font-size:.75rem}.photo-caption .power{font-size:1.1rem}.photo-caption b{font-size:.95rem}.photo-caption small{font-size:.6875rem}.photo-caption>a{min-width:28px}.hero-meta{gap:11px}.mobile-contact-bar a{font-size:.75rem}.mobile-contact-bar svg{width:17px;height:17px}.hero-messengers .messengers a{font-size:.8125rem}}
@media print{body{padding-bottom:0}.mobile-contact-bar{display:none}}

.consent-row{display:flex;align-items:flex-start;gap:12px;margin-top:24px;font-size:14px;line-height:1.6}
.consent-row input{flex:0 0 auto;width:20px;height:20px;margin:2px 0 0;accent-color:var(--teal)}
.consent-row a{text-decoration:underline;text-underline-offset:3px}
.form-trap{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.lead-form [disabled]{cursor:default}
.lead-form .btn:disabled{opacity:.72}
#request-result .btn{margin-top:14px}

/* Supplied GSun brand: restrained accents, unchanged layout and typography. */
:root{--brand-teal:#0c9189}
.btn-primary:hover{background:#ffc978}
.brand-accent{position:relative;isolation:isolate;overflow:hidden}
.brand-accent:before{content:'';position:absolute;right:-65px;top:-50px;width:510px;height:350px;background:url('/assets/gsun-pattern.svg') center/contain no-repeat;opacity:.07;pointer-events:none;z-index:-1}
@media(max-width:640px){.brand-accent:before{right:-105px;top:2px;width:330px;height:240px;opacity:.055}}
@media print{.brand-accent:before{display:none}}
