:root{--ink:#101820;--paper:#f1f4f7;--accent:#34bdff;--muted:#7c8b9b;--line:#d1dbe4;--display:'Barlow Condensed',Impact,sans-serif;--body:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:14px;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #0879d9;outline-offset:6px}img{width:100%;height:100%;object-fit:cover;display:block}h1,h2,h3,p{margin:0}h2{font:600 clamp(48px,5.2vw,80px)/.98 var(--display);letter-spacing:-1px}h2>span{color:#72869a}p{line-height:1.8}.section{padding:100px max(6vw,24px)}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;display:flex;align-items:center;gap:12px}.eyebrow>span:not(.live-dot){color:var(--accent);margin-right:12px}.eyebrow.dark>span{color:#53728c}.micro{font-size:9px;font-weight:600;letter-spacing:1.4px}.header{height:97px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:var(--paper);position:relative;z-index:20;border-bottom:1px solid #ffffff14}.brand{display:flex;gap:10px;align-items:center}.header nav{display:flex;align-items:center;gap:33px;font-size:11px}.header nav>a:not(.nav-contact){position:relative}.header nav>a:not(.nav-contact):after{content:'';height:1px;background:var(--accent);position:absolute;left:0;bottom:-7px;width:0;transition:width .3s}.header nav>a:hover:after{width:100%}.nav-contact{border:1px solid #405d73;padding:14px 20px;display:flex;gap:32px;align-items:center}.nav-contact span{font-size:20px;color:var(--accent)}.menu-toggle{display:none}.hero{height:min(740px,calc(100svh - 97px));min-height:610px;background:var(--ink);position:relative;overflow:hidden;color:var(--paper)}.hero-picture{position:absolute;inset:0 0 0 37%;overflow:hidden}.hero-picture:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--ink),#1018205c 45%,#10182008),linear-gradient(0deg,#101820c9,transparent 40%)}.hero-picture img{filter:saturate(.62) brightness(.76);object-position:center 60%;animation:heroZoom 18s ease-out both}.photo-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:90px 90px;z-index:1}.hero-content{position:relative;z-index:3;padding:62px 6vw;max-width:850px}.live-dot{height:6px;width:6px;border-radius:100%;background:var(--accent);box-shadow:0 0 12px #20b9ff88;position:relative}.live-dot:after{content:'';position:absolute;inset:-4px;border:1px solid #20b9ff50;border-radius:100%;animation:pulse 2s infinite}.hero h1{font:600 clamp(82px,8.6vw,132px)/.86 var(--display);letter-spacing:-2px;margin:27px 0 24px;animation:arrive .9s cubic-bezier(.2,.7,.2,1) both}.hero h1>span:not(.period){color:var(--accent)}.hero h1 .period{color:var(--accent)}.hero-description{font-size:12px;line-height:1.9;color:#c7d4e0;margin-bottom:25px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;padding:17px 23px;font-size:11px;font-weight:700}.accent{background:var(--accent);color:var(--ink)}.button span{font-size:22px;line-height:1;transition:transform .3s}.button:hover span{transform:translate(3px,-3px)}.hero-circuit{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;fill:none}.hero-circuit path{stroke:var(--accent);stroke-width:1.5}.circuit-base{opacity:.25}.circuit-flow{stroke-dasharray:170 1600;animation:current 8s linear infinite}.hero-circuit circle{fill:var(--accent)}.hero-note{position:absolute;right:6vw;bottom:126px;z-index:4;display:flex;gap:18px;align-items:center;font-size:10px;line-height:1.6;letter-spacing:1.5px}.note-cross{font-size:40px;color:var(--accent);font-weight:400}.hero-bottom{position:absolute;bottom:0;left:6vw;right:6vw;height:68px;display:flex;align-items:center;justify-content:space-between;z-index:4;border-top:1px solid #ffffff30;font-size:8px;letter-spacing:1.2px}.hero-bottom i{color:#91a8bc;font-style:normal;margin-left:15px}.hero-bottom a{display:flex;gap:35px;align-items:center}.hero-bottom a span{font-size:24px;color:var(--accent)}.section-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:44px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:48px}.section-heading>p{max-width:315px;font-size:12px;color:#536a7e;padding-bottom:3px}.service-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:65px}.service-visual{height:490px;position:relative;overflow:hidden}.service-visual img{filter:saturate(.5);transition:opacity .22s,transform .7s;object-position:center 50%}.service-visual:hover img{transform:scale(1.035)}.service-visual:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0c1623b3);pointer-events:none}.image-index{position:absolute;bottom:26px;left:25px;color:white;font-size:8px;letter-spacing:1.4px;z-index:2}.image-index b{font:500 38px var(--display);margin-right:13px}.image-corner{position:absolute;right:0;top:0;background:var(--accent);padding:11px 18px;font-size:29px}.service{border-top:1px solid var(--line)}.service:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.service summary{display:flex;align-items:center;gap:19px;padding:29px 0}.service-no{font-size:9px;color:#627c92}.service h3{font:500 28px var(--display)}.plus{margin-left:auto;font:300 25px var(--body);transition:transform .3s}.service.is-expanded .plus{transform:rotate(45deg)}.service.is-expanded h3{color:#0869bd}.service-body{padding:0 20px 28px 32px}.service-body p{font-size:12px;color:#536b7e;max-width:360px}.service-body>span{display:block;font-size:8px;letter-spacing:1.1px;margin:17px 0 23px;color:#617b90}.service-body>a{font-size:10px;font-weight:700;border-bottom:1px solid #8ba8bf;padding-bottom:5px}.energy-story{background:var(--accent);padding:85px 6vw;position:relative;overflow:hidden}.story-grid{position:absolute;inset:0;background-image:linear-gradient(#1018200c 1px,transparent 1px),linear-gradient(90deg,#1018200c 1px,transparent 1px);background-size:100px 100px;mask-image:linear-gradient(90deg,transparent,#000)}.story-symbol{position:absolute;right:-25px;top:-115px;font:600 620px/.95 var(--display);color:#1018200b;transform:rotate(0deg);pointer-events:none}.story-content{position:relative}.story-content h2{font-size:clamp(48px,6.2vw,94px);margin-top:35px;max-width:1000px}.story-content h2>span{color:var(--ink)}.story-foot{display:flex;gap:70px;align-items:end;margin-top:40px}.story-foot>p{max-width:510px;font-size:12px}.story-sign{margin-left:auto;font-size:10px;font-weight:700;line-height:1.8;letter-spacing:1px;border-left:1px solid #10182044;padding-left:35px}.projects{background:var(--ink);color:var(--paper)}.projects h2>span{color:#9eb4c8}.projects .section-heading>p{color:#b2c6d7}.project-toolbar{display:flex;justify-content:space-between;align-items:center;margin:55px 0 35px;border-bottom:1px solid #ffffff23;padding-bottom:20px}.filters{display:flex;gap:25px}.filters button{border:0;background:none;color:#9eb4c8;font-size:10px;padding:8px 0}.filters button.active{color:var(--accent)}.filters sup{font-size:8px;margin-left:5px}.project-toolbar>.micro{color:#829db4;font-size:8px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 40px}.project-card{border:0;text-align:left;color:inherit;background:none;padding:0;min-width:0}.project-photo{aspect-ratio:4/3;position:relative;overflow:hidden}.project-photo img{filter:saturate(.5) brightness(.85);transition:transform .8s,filter .7s}.project-card:hover img{transform:scale(1.045);filter:saturate(.85) brightness(1)}.project-open{position:absolute;top:16px;right:16px;color:var(--ink);background:var(--accent);border-radius:50%;width:40px;height:40px;display:grid;place-items:center;font-size:23px;transition:transform .3s}.project-card:hover .project-open{transform:rotate(45deg)}.project-type{position:absolute;left:20px;bottom:20px;background:#101820d9;color:var(--paper);padding:9px 12px;font-size:8px;letter-spacing:1px;backdrop-filter:blur(10px)}.project-caption{display:flex;justify-content:space-between;gap:12px;margin-top:20px;align-items:center}.project-caption h3{font:500 25px var(--display)}.project-caption>span{font-size:7px;letter-spacing:1px;color:#94adc1}.all-projects{margin:50px auto 0;display:flex;gap:85px;justify-content:space-between;align-items:center;border:1px solid #3b5b73;background:transparent;padding:16px 22px;color:var(--paper);font-size:10px}.all-projects span{font-size:22px;color:var(--accent)}.all-projects:hover{background:#ffffff08}.process-line{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:65px}.step-number{display:flex;align-items:center;justify-content:space-between;font:500 66px var(--display);border-bottom:1px solid var(--line);padding-bottom:23px;color:#68869f}.step-number i{font:400 32px var(--body);color:#7b9fb9}.process-step h3{font:500 27px var(--display);margin:25px 0 12px}.process-step p{font-size:12px;color:#587187;max-width:290px}.faq{padding-top:60px;display:grid;grid-template-columns:1fr 1.2fr;gap:60px;border-top:1px solid var(--line)}.faq h2{font-size:55px;margin-top:25px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{padding:23px 0;display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;gap:18px}.faq-list summary span{font-size:20px;font-weight:400;transition:transform .3s}.faq-list details.is-expanded summary span{transform:rotate(45deg)}.faq-list p{padding:0 25px 24px 0;font-size:12px;color:#587187}.contact{background:var(--ink);color:var(--paper);position:relative;overflow:hidden}.contact:before{content:'';position:absolute;right:25%;top:0;height:100%;width:1px;background:#ffffff0b;transform:rotate(30deg)}.contact-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:45px 0}.contact h2{font-size:clamp(70px,10vw,154px);line-height:.92}.contact h2>span{color:var(--accent)}.contact-arrow{height:150px;width:150px;border:1px solid #376584;border-radius:50%;display:grid;place-items:center;font-size:80px;color:var(--accent);transition:background .3s,color .3s,transform .4s;flex-shrink:0}.contact-arrow:hover{background:var(--accent);color:var(--ink);transform:rotate(45deg)}.contact-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff26;padding-top:33px;align-items:center}.contact-bottom p{color:#a3b9cc;font-size:12px}.contact-bottom>div{display:flex;flex-direction:column;gap:10px;align-items:end}.contact-phone{font:500 35px var(--display);letter-spacing:.8px}.text-link{font-size:10px;color:var(--accent)}footer{background:#0a1119;color:var(--paper);padding:45px 6vw 20px}.footer-top,.footer-bottom{display:flex;align-items:center;justify-content:space-between}.footer-top{padding-bottom:35px}.footer-top>span{font:500 22px var(--display);letter-spacing:.5px;color:#9cb8cf}.back-top{font-size:8px;letter-spacing:1px}.footer-bottom{border-top:1px solid #ffffff15;padding-top:20px;font-size:8px;color:#829db3;gap:20px}.footer-bottom>span:last-child{font-size:7px;letter-spacing:1px}dialog{padding:0;border:0;background:#0a1119;color:var(--paper);max-width:min(1000px,90vw);max-height:94svh;overflow:auto}dialog::backdrop{background:#070e17ea;backdrop-filter:blur(10px)}dialog img{height:76svh;width:100%;object-fit:contain;min-width:min(700px,85vw)}.lightbox-close{position:absolute;top:12px;right:12px;background:var(--accent);border:0;width:42px;height:42px;font-size:28px;z-index:2}.lightbox-bottom{display:flex;justify-content:space-between;padding:22px;gap:20px}.lightbox-bottom h3{font-size:14px}.lightbox-bottom>span{font-size:8px;letter-spacing:1px;align-self:center}.skip{position:fixed;top:-100px;left:20px;background:var(--accent);color:var(--ink);padding:15px;z-index:99}.skip:focus{top:10px}.js .reveal{opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s}.js .reveal.visible{opacity:1;transform:none}[hidden]{display:none!important}body.modal-open{overflow:hidden}@keyframes current{to{stroke-dashoffset:-1770}}@keyframes ticker{to{transform:translateX(-50%)}}@keyframes pulse{to{transform:scale(2);opacity:0}}@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}@keyframes arrive{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.hero{height:800px}.hero-content{padding-top:80px}.hero h1{font-size:145px}.hero-description{font-size:14px}.section{padding-left:max(6vw,calc((100vw - 1440px)/2));padding-right:max(6vw,calc((100vw - 1440px)/2))}}
@media(max-width:1000px){.header nav{gap:22px}.hero h1{font-size:100px}.hero-content{padding-top:65px}.hero{min-height:660px}.service-layout{gap:30px}.service h3{font-size:25px}.service-visual{height:480px}.project-caption{display:block}.project-caption>span{display:block;margin-top:10px}.section-heading>p{max-width:265px}.project-toolbar>.micro{display:none}.process-line{gap:30px}.contact-arrow{width:120px;height:120px;font-size:60px}}
@media(max-width:700px){html{scroll-padding-top:24px}.section{padding:65px 24px}.header{height:80px;padding:0 24px}.header nav{position:absolute;top:80px;left:0;right:0;background:var(--ink);padding:20px 24px 30px;display:none;border-top:1px solid #ffffff20;align-items:stretch;gap:0;box-shadow:0 20px 30px #0003}.header nav.open{display:flex;flex-direction:column}.header nav>a:not(.nav-contact){padding:18px 0;font-size:14px}.header .nav-contact{margin-top:15px;justify-content:space-between}.menu-toggle{display:flex;background:none;border:1px solid #405c73;width:42px;height:40px;flex-direction:column;justify-content:center;gap:6px;padding:10px}.menu-toggle span{height:1px;background:var(--paper);width:20px;transition:transform .3s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero{height:720px;min-height:0;max-height:none}.hero-picture{inset:0;opacity:.65}.hero-picture:after{background:linear-gradient(90deg,#101820ed,#1018204a),linear-gradient(0deg,var(--ink),transparent 80%)}.hero-picture img{object-position:57% center}.hero-content{padding:49px 24px}.hero .eyebrow{font-size:8px;letter-spacing:1.4px}.hero h1{font-size:clamp(77px,17vw,115px);letter-spacing:-1px;margin-top:33px;margin-bottom:30px;line-height:.91}.hero-description{font-size:11px;max-width:300px;margin-bottom:29px}.hero-description br{display:none}.hero-note{bottom:98px;right:24px;font-size:8px;gap:10px}.hero-note .note-cross{font-size:29px}.hero-bottom{left:24px;right:24px;height:64px}.hero-bottom>span{font-size:7px;max-width:140px;line-height:1.8}.hero-bottom i{margin-left:0;display:block}.hero-bottom a{font-size:7px;gap:15px}.hero-circuit{width:180%;left:-50%;opacity:.55}.section-top{margin-bottom:30px}.section-top>.micro{display:none}.section-heading{display:block;margin-bottom:32px}h2{font-size:53px;letter-spacing:-.5px}.section-heading>p{max-width:360px;margin-top:25px;font-size:12px}.service-layout{display:flex;flex-direction:column;gap:27px}.service-visual{height:330px}.service-visual img{object-position:center 43%}.service summary{padding:24px 0}.service h3{font-size:26px}.service-body{padding-left:30px}.energy-story{padding:65px 24px}.story-content h2{font-size:clamp(44px,9.5vw,65px);margin-top:30px}.story-foot{display:block;margin-top:30px}.story-foot>p{font-size:12px}.story-sign{display:block;margin-top:27px;padding-left:20px;font-size:9px}.story-symbol{font-size:450px;top:0;right:-130px}.project-toolbar{margin-top:35px;margin-bottom:25px}.filters{gap:22px}.filters button{font-size:9px}.project-grid{grid-template-columns:1fr;gap:35px}.project-card:nth-child(n){padding:0}.project-photo{height:auto;aspect-ratio:4/3}.project-caption{display:flex}.project-caption h3{font-size:24px}.project-caption>span{font-size:6px;max-width:115px;margin:0;text-align:right;line-height:1.7}.all-projects{width:100%;margin-top:35px}.process-line{grid-template-columns:1fr;gap:30px;margin-top:40px}.step-number{font-size:52px;padding-bottom:12px}.process-step h3{margin-top:20px}.process-step p{max-width:100%}.faq{grid-template-columns:1fr;gap:30px;padding-top:50px}.faq h2{font-size:50px}.faq-list summary{font-size:11px}.contact-heading{gap:8px;margin:35px 0}.contact h2{font-size:clamp(58px,13vw,84px)}.contact-arrow{width:64px;height:64px;font-size:40px}.contact-bottom{display:block;padding-top:25px}.contact-bottom>div{align-items:start;margin-top:25px}.contact-phone{font-size:33px}.footer-top{flex-wrap:wrap;gap:30px}.footer-top>span{font-size:17px}.back-top{width:100%;text-align:right}.footer-bottom{align-items:start;line-height:1.7}.footer-bottom>span:last-child{max-width:100px;text-align:right}footer{padding:35px 24px 20px}.lightbox-bottom{display:block}.lightbox-bottom>span{display:block;margin-top:10px}dialog img{height:70svh}.eyebrow{font-size:9px;letter-spacing:1.3px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}.circuit-flow{display:none}}
.skip{top:10px;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}.skip:focus{width:auto;height:auto;padding:15px;overflow:visible;clip-path:none}
@media(max-width:380px){.hero h1{font-size:clamp(64px,19.75vw,77px)}.contact h2{font-size:48px}.contact-arrow{width:48px;height:48px;font-size:30px}.filters{gap:14px}.filters button{font-size:8px}.service summary{gap:12px}.service h3{font-size:24px}.story-content h2{font-size:40px}}
/* Energy signatures and the three-part brand band. */
.energy-signature{display:flex;align-items:center;gap:16px;height:24px}.energy-signature svg{width:60px;height:24px;fill:none;stroke:var(--accent);stroke-width:1.5;overflow:visible}.signal-track{opacity:.3}.signal-trace{stroke-dasharray:26 100;animation:signalTravel 3.8s linear infinite}.energy-signature p{font-size:9px;letter-spacing:2px;font-weight:600;color:#cfdfed}
.energy-band{background:var(--accent);padding:32px 6vw 36px;position:relative;display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden}.energy-principle{display:flex;align-items:center;justify-content:center;gap:24px;min-width:0;padding:0 24px;border-right:1px solid #10182026}.energy-principle:first-child{justify-content:flex-start;padding-left:0}.energy-principle:nth-child(3){border:0;justify-content:flex-end;padding-right:0}.energy-principle>svg{width:43px;height:43px;stroke:var(--ink);stroke-width:1.2;fill:none;flex-shrink:0}.energy-principle circle{fill:var(--accent)}.principle-label{display:block;font-size:7px;letter-spacing:1.6px;font-weight:700;color:#123d59;margin-bottom:9px}.energy-principle h2{font:500 clamp(22px,2.1vw,32px)/1 var(--display);letter-spacing:.1px;white-space:nowrap}.energy-principle h2 span{color:#075a9d}.band-circuit{position:absolute;bottom:9px;left:6vw;right:6vw;height:1px;background:#10182026}.band-circuit:before,.band-circuit:after{content:'';width:4px;height:4px;background:var(--ink);position:absolute;top:-1.5px;border-radius:50%}.band-circuit:after{right:0}.band-circuit i{position:absolute;left:0;top:-1px;height:3px;width:90px;background:linear-gradient(90deg,transparent,#101820aa);animation:bandCurrent 7s linear infinite}
.contact-intro{display:flex;align-items:center;gap:18px;max-width:100%}.contact-chapter{color:var(--accent);font-size:11px;letter-spacing:1px}.contact-intro p{font-size:10px;font-weight:600;letter-spacing:2px;color:#cfdfed;white-space:nowrap}.contact-wire{height:1px;background:#5cbaff45;position:relative;flex:1;margin-left:18px;overflow:hidden}.contact-wire i{position:absolute;top:0;width:100px;height:1px;background:linear-gradient(90deg,transparent,var(--accent));animation:bandCurrent 6s linear infinite}.contact-spark{color:var(--accent);font-size:30px;line-height:1;margin-left:8px}.service summary,.faq-list summary{-webkit-user-select:none;user-select:none}.service-body,.faq-list details>p{will-change:auto}
@keyframes signalTravel{to{stroke-dashoffset:-126}}@keyframes bandCurrent{from{left:-100px}to{left:100%}}
@media(max-width:1000px){.energy-principle{gap:14px;padding:0 16px}.energy-principle>svg{width:32px;height:32px}.principle-label{font-size:6px;letter-spacing:1px}.energy-principle h2{font-size:23px}}
@media(max-width:700px){.energy-signature{gap:12px}.energy-signature svg{width:47px}.energy-signature p{font-size:8px;letter-spacing:1.3px}.energy-band{padding:26px 24px 30px;grid-template-columns:1fr;gap:19px}.energy-principle,.energy-principle:first-child,.energy-principle:nth-child(3){justify-content:flex-start;border:0;border-bottom:1px solid #10182020;padding:0 0 18px;gap:23px}.energy-principle:nth-child(3){padding-bottom:0}.energy-principle>svg{width:33px;height:33px}.energy-principle h2{font-size:29px}.principle-label{font-size:6px;letter-spacing:1.4px;margin-bottom:6px}.band-circuit{left:24px;right:24px}.contact-intro{gap:12px}.contact-intro p{font-size:8px;letter-spacing:1.2px}.contact-chapter{font-size:9px}.contact-wire{margin-left:0}.contact-spark{font-size:23px;margin-left:0}}
@media(prefers-reduced-motion:reduce){.signal-trace,.band-circuit i,.contact-wire i{animation:none!important}.signal-trace{stroke-dasharray:none}.band-circuit i,.contact-wire i{left:25%}}
/* Metallic brand palette: electric blue, cyan and brushed silver. */
:root{--accent-deep:#0869bd;--metal:#bfcbd6;--cyan:#36d0ff}
.brand{flex-shrink:0;line-height:0}.brand-logo{width:154px;height:82px;object-fit:cover;object-position:center;mix-blend-mode:screen}.footer-top .brand-logo{width:180px;height:96px}
.hero h1>span:not(.period),.contact h2>span{background:linear-gradient(120deg,#60ddff 8%,#22baff 50%,#1586ff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero h1 .period{color:var(--cyan)}
.button.accent{background:linear-gradient(110deg,#53d2ff,#299eff);color:#07192a;box-shadow:0 0 26px #009dff13;transition:box-shadow .3s}.button.accent:hover{box-shadow:0 0 28px #009dff38}
.energy-band{background:linear-gradient(115deg,#5dd4ff,#36b5ff 58%,#2da4f4)}.energy-principle circle{fill:#48c6ff}
.energy-story{background:linear-gradient(125deg,#e5ebf0 0%,#cbd6e0 48%,#edf3f8 100%)}.story-content h2>span{color:var(--accent-deep)}.story-symbol{color:#1673b80f}.story-grid{background-image:linear-gradient(#1c50700b 1px,transparent 1px),linear-gradient(90deg,#1c50700b 1px,transparent 1px)}
.image-corner,.project-open,.lightbox-close{background:linear-gradient(140deg,#57d7ff,#299dff);color:#07192a}.project-open{box-shadow:0 0 18px #009dff18}
.contact-arrow{border-color:#3475a0;background:radial-gradient(circle at center,#0d8fdf0d,transparent 70%)}.contact-arrow:hover{background:var(--accent);color:var(--ink)}
.hero-circuit path{filter:drop-shadow(0 0 3px #16a9ff28)}.contact-spark{color:var(--cyan)}
@media(max-width:700px){.brand-logo{width:128px;height:68px}.footer-top .brand-logo{width:160px;height:86px}}
/* Gallery expansion control. */
.all-projects{position:relative;overflow:hidden;transition:background .3s,border-color .3s,box-shadow .3s,transform .3s}.all-projects:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#34bdff18 50%,transparent 75%);transform:translateX(-130%);transition:transform .65s;pointer-events:none}.all-projects:hover{background:#34bdff0d;border-color:var(--accent);box-shadow:0 5px 24px #009dff0c;transform:translateY(-2px)}.all-projects:hover:before{transform:translateX(130%)}.all-projects:active{transform:translateY(0) scale(.98)}.all-projects span{display:inline-block;transition:transform .4s}.all-projects:hover span{transform:rotate(90deg)}.all-projects[aria-expanded=true]:hover span{transform:rotate(180deg)}
@media(prefers-reduced-motion:reduce){.all-projects:hover,.all-projects:active,.all-projects:hover span{transform:none}.all-projects:before{display:none}}
/* Always-available WhatsApp contact, using the site's existing business number. */
.whatsapp-float{position:fixed;right:24px;bottom:24px;bottom:max(24px,env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;gap:12px;background:#101820f5;border:1px solid #3e685c;border-radius:60px;padding:11px 19px 11px 12px;color:#f1f4f7;box-shadow:0 6px 32px #0005;transition:transform .3s,border-color .3s,box-shadow .3s}.whatsapp-icon{display:grid;place-items:center;width:35px;height:35px;background:#25d366;border-radius:50%;color:#062f17}.whatsapp-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.whatsapp-label{display:flex;flex-direction:column;gap:3px}.whatsapp-label strong{font-size:11px;font-weight:700}.whatsapp-label small{font-size:8px;color:#a3b9cc}.whatsapp-arrow{color:#25d366;font-size:20px;margin-left:5px}.whatsapp-float:hover{transform:translateY(-3px);border-color:#25d366;box-shadow:0 8px 32px #0006,0 0 20px #25d36615}.whatsapp-float:focus-visible{outline:2px solid #25d366;outline-offset:4px}.whatsapp-float:active{transform:scale(.97)}body.modal-open .whatsapp-float{visibility:hidden}@media(max-width:700px){.whatsapp-float{right:16px;bottom:max(16px,env(safe-area-inset-bottom));padding:9px;border-radius:50%}.whatsapp-icon{width:36px;height:36px}.whatsapp-label,.whatsapp-arrow{display:none}}@media(prefers-reduced-motion:reduce){.whatsapp-float:hover,.whatsapp-float:active{transform:none}}
/* Mobile composition: compact three-column energy band and centered footer. */
@media(max-width:700px){
.energy-band{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:25px 18px 31px}
.energy-principle,.energy-principle:first-child,.energy-principle:nth-child(3){flex-direction:column;align-items:center;justify-content:flex-start;gap:13px;padding:0 9px;border:0;border-right:1px solid #123d5926}
.energy-principle:nth-child(3){border-right:0}
.energy-principle>svg{width:29px;height:29px}
.energy-principle>div{width:100%;min-width:0}
.energy-principle .principle-label{display:none}
.energy-principle h2{font-size:clamp(17px,5.3vw,23px);line-height:1.13;letter-spacing:0;white-space:normal;text-align:center;text-wrap:balance;max-width:100px;margin-inline:auto}
.band-circuit{left:24px;right:24px;bottom:10px}
.footer-top{flex-direction:column;align-items:center;justify-content:center;gap:20px;padding-bottom:25px}
.footer-top .brand{justify-content:center}
.footer-top>span{text-align:center;font-size:19px;letter-spacing:.7px}
.footer-top .back-top{width:auto;text-align:center;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1px solid #3b5b7366;margin-top:3px}
.footer-bottom{flex-direction:column;align-items:center;gap:9px;text-align:center;padding-top:22px}
.footer-bottom>span:first-child{font-size:8px}
.footer-bottom>span:last-child{max-width:none;text-align:center;font-size:7px}
body:not(.error-page)>footer{padding-bottom:94px}
}
