@font-face{font-family:Montserrat;src:url('../assets/fonts/montserrat-400.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Montserrat;src:url('../assets/fonts/montserrat-600.ttf') format('truetype');font-weight:600;font-display:swap}@font-face{font-family:Montserrat;src:url('../assets/fonts/montserrat-700.ttf') format('truetype');font-weight:700;font-display:swap}@font-face{font-family:'JetBrains Mono';src:url('../assets/fonts/jetbrains-mono-400.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:'JetBrains Mono';src:url('../assets/fonts/jetbrains-mono-500.ttf') format('truetype');font-weight:500;font-display:swap}
:root{--stone:#f5f2ee;--paper:#fdf9f4;--charcoal:#1a1a1a;--lime:#c1d82f;--muted:#6d6b67;--line:rgba(70,68,65,.22);--max:1440px;--pad:clamp(24px,5.5vw,80px);--section:clamp(96px,11vw,160px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--charcoal);font:400 16px/1.65 Montserrat,Arial,sans-serif;overflow-x:hidden}body.menu-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit}button{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:8px;left:8px;z-index:999;background:var(--lime);padding:10px;transform:translateY(-150%)}.skip-link:focus{transform:none}.texture{position:fixed;inset:0;z-index:1000;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.container{width:min(100%,var(--max));margin-inline:auto}.section{position:relative;padding:var(--section) var(--pad)}.section--dark{background:var(--charcoal);color:#fff}.eyebrow,small,.main-nav,.button,.text-link{font:500 11px/1.2 'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.12em}.eyebrow{margin:0 0 24px;color:var(--muted)}.section--dark .eyebrow{color:var(--lime)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:600;line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(50px,6vw,88px);margin-bottom:30px}h2{font-size:clamp(34px,4.4vw,58px)}h3{font-size:clamp(24px,2.2vw,34px)}p{max-width:66ch}.button{display:inline-flex;justify-content:center;text-decoration:none;padding:15px 24px;border:1px solid transparent;transition:.25s}.button--dark{background:var(--charcoal);color:#fff}.button--dark:hover,.button--dark:focus-visible{background:var(--lime);color:var(--charcoal)}.button--lime{background:var(--lime);color:var(--charcoal)}.button--lime:hover,.button--lime:focus-visible{background:#fff}.text-link{display:inline-flex;gap:14px;text-decoration:none;border-bottom:1px solid transparent;padding-bottom:7px}.text-link:hover,.text-link:focus-visible{border-color:var(--lime)}:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
.site-header{position:fixed;z-index:100;top:0;left:0;width:100%;height:86px;padding:18px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid transparent;transition:.3s}.site-header.scrolled{background:rgba(245,242,238,.9);backdrop-filter:blur(14px);border-color:var(--line)}.brand{width:min(200px,40vw);display:flex;align-items:center;flex:0 1 200px}.brand img{display:block;width:100%;max-width:200px;height:auto}.main-nav{display:flex;gap:clamp(20px,3vw,44px)}.main-nav a{text-decoration:none}.main-nav a:hover,.main-nav a:focus-visible{color:#657100}.menu-toggle{display:none;width:43px;height:43px;border:0;background:transparent;padding:10px}.menu-toggle span:not(.sr-only){display:block;height:1px;background:currentColor;margin:6px 0;transition:.25s}
.hero{min-height:100svh;padding:150px var(--pad) 80px;display:grid;grid-template-columns:minmax(300px,5fr) minmax(420px,7fr);gap:clamp(30px,5vw,80px);align-items:center;position:relative;isolation:isolate}.hero-copy,.hero-visual{position:relative;z-index:2}.hero-copy>p:not(.eyebrow){color:var(--muted);max-width:520px}.hero-copy .text-link{margin-top:24px}.hero-visual{min-height:590px}.hero-image{position:absolute;inset:0;clip-path:polygon(19% 0,100% 0,100% 100%,0 100%);background:var(--charcoal)}.hero-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.75);opacity:.92}.node{position:relative;display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 8px rgba(193,216,47,.11),0 0 20px rgba(193,216,47,.6)}.node::after{content:"";position:absolute;inset:-12px;border:1px solid rgba(193,216,47,.5);border-radius:50%;animation:pulse 2.2s ease-out infinite}.node--hero{position:absolute;z-index:3;left:19%;bottom:21%}.node--hero::before{content:"";position:absolute;left:50%;top:50%;width:90vw;height:1px;background:rgba(193,216,47,.35);transform:rotate(-45deg);transform-origin:left}.x-lines{position:absolute;inset:0;overflow:hidden;pointer-events:none}.x-lines::before,.x-lines::after{content:"";position:absolute;left:50%;top:50%;width:160vw;height:1px;background:rgba(26,26,26,.07);transform:translate(-50%,-50%) rotate(45deg)}.x-lines::after{transform:translate(-50%,-50%) rotate(-45deg)}.x-lines--light::before,.x-lines--light::after{background:rgba(255,255,255,.09)}
.intro{text-align:center;background:var(--stone)}.intro .eyebrow{margin-left:auto;margin-right:auto}.narrow{max-width:920px;margin:auto}.intro .narrow>p:not(.eyebrow){color:var(--muted);margin:30px auto 0;max-width:66ch}.journey{text-align:center;overflow:hidden}.journey h2{margin-bottom:100px}.journey-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:48px;position:relative}.journey-grid::before{content:"";position:absolute;left:8%;right:8%;top:20px;height:1px;background:rgba(193,216,47,.24);transform:rotate(3deg)}.journey-grid li{position:relative}.journey-grid li:nth-child(even){transform:translateY(58px)}.journey-grid small{display:block;color:var(--lime);margin:26px 0 10px}.journey-grid h3{font:500 12px/1.2 'JetBrains Mono';letter-spacing:.12em;text-transform:uppercase}.journey-grid p{font-size:14px;color:rgba(255,255,255,.62);margin:auto}
.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:70px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;gap:20px}.service{position:relative;overflow:hidden;border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;transition:transform .3s,background .3s}.service:hover{transform:translateY(-5px)}.service small{color:var(--muted)}.service h3{font-size:clamp(22px,2vw,30px);margin:20px 0 0}.service p{font-size:13px;color:var(--muted);margin:12px 0 0}.service--large{grid-column:span 2;grid-row:span 2}.service--image{padding:0;border:0}.service--image img{width:100%;height:100%;object-fit:cover}.service--image::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(0,0,0,.8))}.service--image>div{position:absolute;z-index:2;left:30px;bottom:30px;color:#fff}.service--image small{color:var(--lime)}.service--lime{background:rgba(193,216,47,.1);border-color:rgba(121,138,0,.3)}.service--dark{background:var(--charcoal);color:#fff}.service--dark small,.service--dark p{color:rgba(255,255,255,.55)}.service--link{grid-column:span 2;background:var(--stone);flex-direction:row;align-items:flex-end}.service--link span{color:#728000;font-size:32px}
.ai-section{min-height:75vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#34372a;color:#fff}.ai-bg{position:absolute;inset:0;background:linear-gradient(135deg,rgba(193,216,47,.45),rgba(26,26,26,.7)),url('../assets/images/ai-texture.jpg') center/cover;filter:saturate(.65);opacity:.7}.ai-section h2{position:relative;z-index:3;font-size:clamp(48px,8vw,130px);white-space:nowrap;margin:0}.ai-section h2 em{font-style:normal;font-weight:400;color:var(--lime)}.axis{display:none}
.split{display:grid;grid-template-columns:5fr 7fr;gap:clamp(50px,8vw,120px);align-items:center}.retrofit-copy>p:not(.eyebrow){color:var(--muted)}.retrofit ul{list-style:none;padding:0;margin:40px 0 0}.retrofit li{display:flex;gap:20px;margin:18px 0;color:var(--muted)}.retrofit li span{font:500 11px 'JetBrains Mono';color:#7d8d00}.interactive-image{position:relative}.interactive-image>img{width:100%;aspect-ratio:4/3;object-fit:cover}.hotspot{position:absolute;border:0;background:transparent;padding:15px;cursor:pointer}.hotspot--one{left:27%;top:18%}.hotspot--two{right:9%;top:38%}.tooltip{position:absolute;top:48px;left:50%;transform:translateX(-50%) translateY(-8px);background:var(--charcoal);color:#fff;padding:8px 12px;font:400 10px 'JetBrains Mono';white-space:nowrap;opacity:0;pointer-events:none;transition:.25s}.hotspot:hover .tooltip,.hotspot:focus-visible .tooltip,.hotspot.active .tooltip{opacity:1;transform:translateX(-50%)}.partners{background:var(--stone);padding-top:90px;padding-bottom:90px;text-align:center}.partner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(30px,7vw,100px);align-items:center}.partner-grid img{width:100%;aspect-ratio:2/1;object-fit:cover;filter:grayscale(1);mix-blend-mode:multiply;opacity:.68}
.footer{padding-bottom:40px;overflow:hidden}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;position:relative}.footer-brand{line-height:0}.footer-brand img{display:block;width:100%;max-width:200px;height:auto}.footer p{color:rgba(255,255,255,.5)}.footer-action{display:flex;flex-direction:column;align-items:flex-end;justify-content:end}.footer-bottom{position:relative;display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.12);margin-top:100px;padding-top:25px;color:rgba(255,255,255,.35);font:400 10px 'JetBrains Mono';text-transform:uppercase;letter-spacing:.1em}.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}@keyframes pulse{0%{transform:scale(.4);opacity:0}35%{opacity:.7}100%{transform:scale(1.35);opacity:0}}
@media(max-width:900px){.site-header{height:74px}.site-header.scrolled:has(.main-nav.open){backdrop-filter:none}.header-cta{display:none}.menu-toggle{display:block;position:relative;z-index:102}.main-nav{position:fixed;z-index:101;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;height:100dvh;padding:calc(74px + env(safe-area-inset-top)) var(--pad) calc(32px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;background:var(--stone);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:17px;gap:34px;transform:translateX(100%);transition:transform .35s}.main-nav.open{transform:none}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero{grid-template-columns:1fr;padding-top:120px}.hero-visual{min-height:55vw}.journey-grid{grid-template-columns:repeat(2,1fr);row-gap:80px}.journey-grid li:nth-child(even){transform:none}.journey-grid::before{display:none}.service-grid{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.retrofit-copy{max-width:680px}.footer-grid{grid-template-columns:1fr}.footer-action{align-items:flex-start}}
@media(max-width:560px){h1{font-size:clamp(44px,15vw,65px)}.hero{padding-bottom:55px}.hero-visual{min-height:72vw}.journey h2{margin-bottom:70px}.journey-grid{grid-template-columns:1fr}.service-grid{display:flex;flex-direction:column}.service{min-height:220px}.service--large{min-height:440px}.service--link{grid-column:auto}.ai-section{min-height:55vh}.ai-section h2{font-size:12vw}.axis{width:120%;left:-10%}.partner-grid{grid-template-columns:repeat(2,1fr)}.footer-bottom{align-items:flex-start;flex-direction:column}.footer{padding-bottom:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
.journey .eyebrow{margin-left:auto;margin-right:auto}
.service--image p{max-width:460px;color:rgba(255,255,255,.76);font-size:14px;margin-top:12px}

/* TECHNX v2 */
.hero-visual>picture{position:absolute;inset:0;clip-path:polygon(19% 0,100% 0,100% 100%,0 100%);background:var(--charcoal)}.hero-visual>picture img{width:100%;height:100%;object-fit:cover;filter:saturate(.75);opacity:.92}.intro .chain{margin:48px auto 0;display:flex;justify-content:center;align-items:center;gap:13px;flex-wrap:wrap;font:500 10px 'JetBrains Mono';text-transform:uppercase;letter-spacing:.08em}.chain i{color:#849300;font-style:normal}.architecture-grid p{max-width:260px}.section-heading>p{max-width:410px;color:var(--muted);margin:0}.service-grid--v2{grid-auto-rows:minmax(250px,auto)}.service-grid--v2 .service{min-height:250px}.service--wide{grid-column:span 2}.service--ai{background:linear-gradient(135deg,#394020,var(--charcoal));color:#fff}.service--ai small{color:var(--lime)}.service--ai p{color:rgba(255,255,255,.65)}
.integration{overflow:hidden}.integration-layout{display:grid;grid-template-columns:6fr 6fr;gap:clamp(60px,8vw,130px);align-items:center}.integration-layout>div:first-child>p:last-child{color:rgba(255,255,255,.62)}.integration-map{min-height:560px;position:relative;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);align-items:center;justify-items:center}.integration-map::before,.integration-map::after{content:"";position:absolute;left:50%;top:50%;width:120%;height:1px;background:rgba(193,216,47,.22);transform:translate(-50%,-50%) rotate(45deg)}.integration-map::after{transform:translate(-50%,-50%) rotate(-45deg)}.integration-map span{z-index:2;padding:9px;background:var(--charcoal);font:500 10px 'JetBrains Mono';text-transform:uppercase;letter-spacing:.09em;color:rgba(255,255,255,.65)}.integration-map strong{grid-column:2;grid-row:2;z-index:4;position:relative;width:130px;height:130px;display:grid;place-items:center;background:var(--lime);color:var(--charcoal);font:700 16px Montserrat}.integration-map strong i{position:absolute;right:-6px;top:-6px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 20px var(--lime)}
.ai-section--v2{min-height:900px;text-align:center}.ai-content{position:relative;z-index:4;max-width:1100px;margin:auto}.ai-content h2{font-size:clamp(55px,8vw,130px);white-space:nowrap}.ai-content h3{font-size:clamp(26px,3vw,42px);margin:30px 0 20px}.ai-content>p{max-width:760px;margin:0 auto;color:rgba(255,255,255,.72)}.ai-content>small{display:block;margin-top:34px;color:rgba(255,255,255,.5)}.ai-cases{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:42px}.ai-cases span,.collab-tags span{border:1px solid rgba(255,255,255,.3);padding:11px 14px;font:400 10px 'JetBrains Mono';text-transform:uppercase;letter-spacing:.07em}
.retrofit-picture img{width:100%;aspect-ratio:4/3;object-fit:cover}.result-list li{align-items:flex-start}.result-list li div{display:flex;flex-direction:column}.result-list li strong{color:var(--charcoal);font-weight:600}.result-list li small{margin-top:4px;text-transform:none;letter-spacing:0;font-family:Montserrat;color:var(--muted)}
.process{overflow:hidden}.process h2{margin-bottom:80px}.process-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(255,255,255,.16)}.process-grid li{padding:28px 24px 0;border-left:1px solid rgba(255,255,255,.16);min-height:220px}.process-grid li:last-child{border-right:1px solid rgba(255,255,255,.16)}.process-grid small{color:var(--lime)}.process-grid h3{font-size:21px;margin-top:45px}.process-grid p{font-size:13px;color:rgba(255,255,255,.58)}
.technology-stack{background:var(--stone)}.tech-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.tech-grid article{padding:35px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:270px}.tech-grid small{color:#778500}.tech-grid h3{font-size:23px;margin-top:60px}.tech-grid p{font-size:13px;color:var(--muted)}
.technology-stack{overflow:hidden}.technology-stack .section-heading{margin-bottom:48px}.logo-wall{width:100%;overflow:hidden;border-block:1px solid var(--line);background:rgba(255,255,255,.25);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.logo-track{display:flex;width:max-content;will-change:transform;animation:logo-scroll 42s linear infinite}.logo-wall:hover .logo-track{animation-play-state:paused}.logo-set{display:flex;align-items:stretch;gap:18px;padding:22px 9px}.tech-logo{width:178px;min-height:132px;margin:0;padding:20px 14px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;border:1px solid transparent;transition:opacity .4s ease,transform .4s cubic-bezier(.22,1,.36,1),background-color .4s ease,border-color .4s ease;opacity:.46}.tech-logo img{display:block;max-width:132px;max-height:54px;width:auto;height:auto;object-fit:contain;filter:grayscale(1);transition:filter .4s ease,transform .4s cubic-bezier(.22,1,.36,1)}.tech-logo figcaption{color:var(--muted);font:500 9px 'JetBrains Mono';letter-spacing:.08em;text-align:center;text-transform:uppercase;white-space:nowrap;transition:color .4s ease}@media(hover:hover) and (pointer:fine){.tech-logo:hover{opacity:1;transform:translateY(-3px);background:rgba(255,255,255,.7);border-color:var(--line)}.tech-logo:hover img{filter:none;transform:scale(1.04)}.tech-logo:hover figcaption{color:var(--charcoal)}}@keyframes logo-scroll{to{transform:translate3d(-50%,0,0)}}
@media(max-width:700px){.technology-stack .section-heading{margin-bottom:34px}.logo-wall{mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.logo-set{gap:10px;padding-block:16px}.tech-logo{width:148px;min-height:116px;padding:16px 10px;gap:12px}.tech-logo img{max-width:112px;max-height:46px}}
@media(prefers-reduced-motion:reduce){.logo-wall{overflow:visible;mask-image:none;-webkit-mask-image:none}.logo-track{display:block;width:auto}.logo-set{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));padding-inline:0}.logo-set[aria-hidden="true"]{display:none}.tech-logo{width:auto}}
.technology-stack,.logo-wall{overflow-x:clip}.logo-wall{contain:layout paint}
.collaboration{background:var(--paper)}.collaboration-layout{display:grid;grid-template-columns:5fr 7fr;gap:clamp(60px,9vw,140px)}.collab-tags{display:flex;flex-wrap:wrap;gap:8px;margin:36px 0}.collab-tags span{border-color:var(--line)}.collaboration .text-link{margin-top:20px}.about{overflow:hidden}.about-layout{display:grid;grid-template-columns:minmax(0,850px);gap:0;justify-content:center}.about-layout>.eyebrow{margin-bottom:24px}.about-layout>div{max-width:850px}.about-layout p{color:rgba(255,255,255,.62)}.about-layout strong{display:block;font-size:clamp(21px,2.4vw,32px);line-height:1.45;margin-top:40px;color:var(--lime)}
.footer{padding-top:var(--section)}.contact-block{position:relative;z-index:3;padding-bottom:var(--section)}.contact-block>p:not(.eyebrow){color:rgba(255,255,255,.62);font-size:18px}.contact-actions{display:flex;align-items:center;gap:28px;margin-top:40px}.footer-node{position:absolute;right:12%;top:12%}.footer .footer-grid{border-top:1px solid rgba(255,255,255,.12);padding-top:70px;align-items:end}.footer-grid nav{display:flex;justify-content:flex-end;gap:clamp(18px,3vw,44px);flex-wrap:wrap}.footer-grid nav a{font:500 10px 'JetBrains Mono';text-transform:uppercase;letter-spacing:.08em;text-decoration:none;color:rgba(255,255,255,.58)}.footer-grid nav a:hover{color:var(--lime)}
.footer-contact{display:grid;gap:10px;margin-top:27px;font-style:normal}.footer-contact>a,.footer-contact>span{display:flex;align-items:center;gap:11px;width:max-content;max-width:100%;color:rgba(255,255,255,.55);font-size:13px;text-decoration:none;transition:color .25s ease}.footer-contact>a:hover,.footer-contact>a:focus-visible{color:#fff}.fa-icon{flex:0 0 14px;width:14px;height:14px;fill:var(--lime)}
@media(max-width:1050px){.architecture-grid{grid-template-columns:repeat(2,1fr);row-gap:90px}.architecture-grid li:nth-child(even){transform:none}.architecture-grid::before{display:none}.integration-layout,.collaboration-layout{grid-template-columns:1fr}.integration-map{min-height:470px}.process-grid{grid-template-columns:repeat(3,1fr);border:0}.process-grid li{border-top:1px solid rgba(255,255,255,.16);min-height:190px}.tech-grid{grid-template-columns:repeat(2,1fr)}.about-layout{grid-template-columns:1fr}.footer-grid nav{justify-content:flex-start}}
@media(max-width:700px){.service-grid--v2{display:flex}.service-grid--v2 .service{min-height:250px}.service-grid--v2 .service--image{min-height:440px}.service--wide{grid-column:auto}.section-heading{display:block}.section-heading>p{margin-top:25px}.integration-map{min-height:390px}.integration-map strong{width:100px;height:100px;font-size:13px}.integration-map span{font-size:8px}.ai-section--v2{min-height:850px}.ai-content h2{white-space:normal}.process-grid{grid-template-columns:1fr}.process-grid li{border-left:0;border-right:0!important;min-height:0;padding:24px 0}.process-grid h3{margin-top:25px}.tech-grid{grid-template-columns:1fr}.collaboration-layout{gap:30px}.contact-actions{align-items:flex-start;flex-direction:column}.footer .footer-grid{grid-template-columns:1fr}.footer-grid nav{display:grid;grid-template-columns:1fr 1fr}.footer-bottom span:last-child{line-height:1.6;text-align:left}}
@media(max-width:560px){.hero-copy,.hero-visual{min-width:0}.hero h1{font-size:clamp(34px,11vw,58px)}}
@media(max-width:900px){body.menu-open .site-header.scrolled{backdrop-filter:none}}

/* Interactive smart-home demo */
.demo-entry{margin-top:18px;padding:0 0 7px;border:0;border-bottom:1px solid var(--lime);background:transparent;color:#fff;cursor:pointer;font:500 10px/1.2 'JetBrains Mono';text-transform:uppercase;letter-spacing:.1em}.demo-entry span{margin-left:8px;color:var(--lime)}
body.demo-open{overflow:hidden}.demo-backdrop{position:fixed;z-index:900;inset:0;padding:clamp(12px,3vw,40px);display:grid;place-items:center;background:rgba(12,13,11,.82);backdrop-filter:blur(10px)}.demo-backdrop[hidden]{display:none}.home-demo{position:relative;width:min(1380px,100%);height:min(92dvh,920px);overflow:auto;overscroll-behavior:contain;background:#171916;color:#f7f6f1;border:1px solid rgba(193,216,47,.25);border-radius:22px;box-shadow:0 30px 100px rgba(0,0,0,.55);padding:clamp(22px,3vw,48px)}.home-demo::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.15;background-image:linear-gradient(rgba(193,216,47,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(193,216,47,.12) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,#000,transparent 58%)}.demo-close{position:sticky;z-index:5;top:0;float:right;width:46px;height:46px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:#252822;color:#fff;cursor:pointer;font-size:28px;line-height:1}.demo-close:hover{background:var(--lime);color:#171916}.demo-header{position:relative;max-width:850px}.demo-header h2{font-size:clamp(30px,4vw,54px);margin-bottom:14px}.demo-header>p:last-child{color:rgba(255,255,255,.6)}.demo-scenarios{position:relative;display:flex;gap:8px;overflow-x:auto;padding:20px 2px 22px;scrollbar-width:thin}.demo-scenario{flex:0 0 auto;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.035);color:rgba(255,255,255,.68);padding:12px 16px;cursor:pointer;font:500 10px 'JetBrains Mono';text-transform:uppercase;letter-spacing:.07em}.demo-scenario[aria-selected=true]{border-color:var(--lime);background:var(--lime);color:#171916}.demo-workspace{position:relative;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(340px,.8fr);gap:clamp(20px,3vw,44px)}.demo-house-wrap{position:relative;min-width:0;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:radial-gradient(circle at 50% 40%,#32382a,#1b1e19 70%);overflow:hidden}.demo-statusbar{display:flex;justify-content:space-between;padding:13px 18px;border-bottom:1px solid rgba(255,255,255,.1);color:var(--lime);font:500 9px 'JetBrains Mono';letter-spacing:.11em}.demo-house{display:block;width:100%;height:auto;max-height:540px}.house-shell{fill:rgba(255,255,255,.035);stroke:rgba(255,255,255,.3);stroke-width:2}.house-line{fill:none;stroke:rgba(255,255,255,.15)}.demo-house text{fill:rgba(255,255,255,.42);font:500 10px 'JetBrains Mono';letter-spacing:.08em}.lamp{fill:#f6e5aa;filter:drop-shadow(0 0 14px #f7d976);transition:.45s}.lamp-glow{stroke:#f7d976;stroke-width:2}.audio-wave,.wifi,.night-light,.solar,.energy-flow,.door,.charger,.camera,.detect,.phone-presence rect,.house-lock{fill:none;stroke:var(--lime);stroke-width:3}.temperature{fill:#fff!important;font-size:18px!important}.energy-flow{stroke-dasharray:8 8;animation:energyMove 1s linear infinite}.detect{opacity:.25;transform-origin:625px 365px;animation:detectPulse 1.8s ease-out infinite}.phone-presence{transition:.55s}.phone-presence circle{fill:var(--lime)}.house-lock{opacity:0;transition:.4s}.demo-house.is-away .phone-presence{transform:translate(200px,-70px);opacity:0}.demo-house.is-dark .lamp,.demo-house.is-dark .lamp-glow{opacity:.08;filter:none}.demo-house.is-audio-off .audio-wave{opacity:.12}.demo-house.is-secure .house-lock{opacity:1}.demo-house.is-night .night-light{stroke:#d8e990;stroke-width:10;filter:drop-shadow(0 0 8px var(--lime))}.demo-house.is-energy .energy-flow{stroke-width:6;filter:drop-shadow(0 0 6px var(--lime))}.demo-active-card{position:absolute;left:18px;right:18px;bottom:18px;padding:16px 18px;background:rgba(16,18,15,.9);border-left:3px solid var(--lime);backdrop-filter:blur(8px)}.demo-active-card small{display:block;color:var(--lime);margin-bottom:5px}.demo-active-card strong{font-size:18px}.demo-active-card p{font-size:12px;color:rgba(255,255,255,.62);margin:4px 0 0}.demo-panel{min-width:0}.demo-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.demo-panel-heading small{color:var(--lime)}.demo-panel-heading h3{font-size:29px;margin:8px 0 0}.demo-mode{padding:7px 9px;background:var(--lime);color:#171916;font:500 9px 'JetBrains Mono';letter-spacing:.1em}.demo-intro{color:rgba(255,255,255,.6);font-size:13px}.demo-timeline{list-style:none;margin:22px 0;padding:0;border-left:1px solid rgba(255,255,255,.15)}.demo-step{position:relative;margin:0;padding:0 0 16px 24px;border:0;background:none;color:rgba(255,255,255,.45);text-align:left;width:100%;cursor:pointer;font:500 11px Montserrat}.demo-step::before{content:"";position:absolute;left:-5px;top:4px;width:9px;height:9px;border-radius:50%;background:#44483e;border:1px solid #777}.demo-step.is-complete,.demo-step.is-active{color:#fff}.demo-step.is-complete::before,.demo-step.is-active::before{background:var(--lime);border-color:var(--lime);box-shadow:0 0 12px rgba(193,216,47,.7)}.demo-step.is-active{font-weight:700}.demo-controls{display:flex;gap:8px;flex-wrap:wrap}.demo-control,.demo-contact{border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;padding:11px 14px;cursor:pointer;font:500 9px 'JetBrains Mono';text-transform:uppercase;letter-spacing:.08em}.demo-control--primary,.demo-contact{background:var(--lime);border-color:var(--lime);color:#171916}.demo-control:disabled{opacity:.35;cursor:not-allowed}.demo-tech-toggle{width:100%;margin-top:20px;padding:14px 0;border:0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);background:transparent;color:#fff;display:flex;justify-content:space-between;cursor:pointer;font:500 10px 'JetBrains Mono';text-transform:uppercase;letter-spacing:.08em}.demo-tech{padding:15px 0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.demo-tech[hidden]{display:none}.demo-tech div{padding:9px;border:1px solid rgba(255,255,255,.1)}.demo-tech small{display:block;color:var(--lime)}.demo-tech span{font-size:11px;color:rgba(255,255,255,.64)}.demo-finish{margin-top:18px;padding:18px;background:rgba(193,216,47,.08);border:1px solid rgba(193,216,47,.28)}.demo-finish[hidden]{display:none}.demo-finish p{font-size:12px;color:rgba(255,255,255,.6);margin:6px 0 14px}@keyframes energyMove{to{stroke-dashoffset:-16}}@keyframes detectPulse{to{transform:scale(1.45);opacity:0}}
@media(max-width:900px){.demo-backdrop{padding:0}.home-demo{width:100%;height:100dvh;max-height:none;border:0;border-radius:0;padding:22px}.demo-workspace{grid-template-columns:1fr}.demo-house-wrap{order:0}.demo-panel{order:1}.demo-house{max-height:440px}.demo-close{top:2px}.demo-header{padding-right:54px}.demo-header h2{font-size:clamp(28px,7vw,46px)}}
@media(max-width:560px){.home-demo{padding:16px}.demo-header .eyebrow{margin-bottom:13px}.demo-header h2{font-size:28px}.demo-header>p:last-child{font-size:13px}.demo-scenarios{padding:12px 2px 16px}.demo-scenario{padding:10px 12px}.demo-house{min-height:280px}.demo-active-card{position:relative;left:auto;right:auto;bottom:auto;margin:0;border-left:0;border-top:2px solid var(--lime)}.demo-house-wrap .demo-house{margin-top:-10px}.demo-statusbar{padding:10px 12px}.demo-panel-heading{margin-top:6px}.demo-timeline{margin-top:18px}.demo-tech{grid-template-columns:1fr}.demo-entry{text-align:left}}

/* Subtle page-load and solution-card motion */
.is-ready .site-header{animation:header-in .65s cubic-bezier(.22,1,.36,1) both}.is-ready .hero .x-lines{animation:lines-in 1.15s ease-out .15s both}.hero-copy.reveal{transition-delay:.08s}.hero-visual.reveal{transition-delay:.22s}.service-grid .service.reveal:nth-child(2n){transition-delay:.06s}.service-grid .service.reveal:nth-child(3n){transition-delay:.12s}.service{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s,border-color .35s,background .35s}.service h3,.service p,.service small{transition:transform .35s cubic-bezier(.22,1,.36,1),color .35s}.service--image picture,.service--image img{transition:transform .6s cubic-bezier(.22,1,.36,1),filter .6s}.service--image picture{position:absolute;inset:0;width:100%;height:100%}@media(hover:hover) and (pointer:fine){.service:hover{z-index:2;transform:translateY(-9px);border-color:rgba(121,138,0,.55);box-shadow:0 22px 48px rgba(26,26,26,.14)}.service:hover h3{transform:translateY(-3px)}.service:hover p{transform:translateY(-2px)}.service:hover small{color:#657100}.service--dark:hover small,.service--ai:hover small,.service--image:hover small{color:var(--lime)}.service--image:hover picture{transform:scale(1.035)}.service--image:hover img{filter:saturate(.9) brightness(1.04)}}@keyframes header-in{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes lines-in{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}

/* Softer solution-card hover */
.service{transition-duration:.58s,.58s,.48s,.48s;transition-timing-function:cubic-bezier(.16,1,.3,1)}.service h3,.service p,.service small{transition-duration:.48s;transition-timing-function:cubic-bezier(.16,1,.3,1)}.service--image picture,.service--image img{transition-duration:.85s;transition-timing-function:cubic-bezier(.16,1,.3,1)}@media(hover:hover) and (pointer:fine){.service:hover{transform:translateY(-6px);box-shadow:0 18px 42px rgba(26,26,26,.12)}.service:hover h3{transform:translateY(-2px)}.service:hover p{transform:translateY(-1px)}.service--image:hover picture{transform:scale(1.025)}}

/* Fluid solution-card hover: keep the animated work on the compositor. */
.service{transform:translate3d(0,0,0);transition:transform .72s cubic-bezier(.2,.72,.25,1),border-color .45s ease,background-color .45s ease;backface-visibility:hidden}.service h3,.service p,.service small{transition:color .35s ease;transform:none}.service--image picture{transform:none;transition:none}.service--image img{transform:translate3d(0,0,0) scale(1.001);transition:transform .9s cubic-bezier(.2,.72,.25,1);backface-visibility:hidden}@media(hover:hover) and (pointer:fine){.service{will-change:transform}.service--image img{will-change:transform}.service:hover{transform:translate3d(0,-5px,0);box-shadow:none}.service:hover h3,.service:hover p{transform:none}.service--image:hover picture{transform:none}.service--image:hover img{transform:translate3d(0,0,0) scale(1.022);filter:saturate(.75)}}

/* Animated process: a restrained signal travels through each project phase. */
.process-grid{position:relative;border-top:0}.process-grid::before,.process-grid::after{content:"";position:absolute;z-index:0;left:24px;right:24px;top:7px;height:1px;transform-origin:left center}.process-grid::before{background:rgba(255,255,255,.16)}.process-grid::after{background:var(--lime);box-shadow:0 0 12px rgba(193,216,47,.35);transform:scaleX(0);transition:transform 1.45s cubic-bezier(.2,.75,.25,1) .15s}.process-grid.visible::after{transform:scaleX(1)}.process-grid li{position:relative;z-index:1;padding-top:38px;opacity:0;transform:translate3d(0,18px,0);transition:opacity .58s ease,transform .72s cubic-bezier(.2,.75,.25,1)}.process-grid li::before{content:"";position:absolute;top:1px;left:19px;width:11px;height:11px;border:2px solid var(--charcoal);border-radius:50%;background:rgba(255,255,255,.3);box-shadow:0 0 0 1px rgba(255,255,255,.25);transform:scale(.65);transition:background .35s ease,box-shadow .35s ease,transform .55s cubic-bezier(.2,.75,.25,1)}.process-grid.visible li{opacity:1;transform:none}.process-grid.visible li::before{background:var(--lime);box-shadow:0 0 0 1px var(--lime),0 0 16px rgba(193,216,47,.55);transform:scale(1)}.process-grid li:nth-child(1){transition-delay:.18s}.process-grid li:nth-child(2){transition-delay:.38s}.process-grid li:nth-child(3){transition-delay:.58s}.process-grid li:nth-child(4){transition-delay:.78s}.process-grid li:nth-child(5){transition-delay:.98s}.process-grid li:nth-child(1)::before{transition-delay:.18s}.process-grid li:nth-child(2)::before{transition-delay:.38s}.process-grid li:nth-child(3)::before{transition-delay:.58s}.process-grid li:nth-child(4)::before{transition-delay:.78s}.process-grid li:nth-child(5)::before{transition-delay:.98s}@media(hover:hover) and (pointer:fine){.process-grid li{transition-property:opacity,transform,background-color}.process-grid li:hover{background:rgba(255,255,255,.035);transform:translate3d(0,-4px,0)}.process-grid li:hover::before{box-shadow:0 0 0 5px rgba(193,216,47,.1),0 0 22px rgba(193,216,47,.65)}}
@media(max-width:1050px){.process-grid{grid-template-columns:1fr;max-width:760px;margin-inline:auto}.process-grid::before,.process-grid::after{left:7px;right:auto;top:8px;bottom:8px;width:1px;height:auto;transform-origin:center top}.process-grid::after{transform:scaleY(0)}.process-grid.visible::after{transform:scaleY(1)}.process-grid li{min-height:0;padding:8px 0 34px 42px;border:0!important}.process-grid li::before{top:8px;left:1px}.process-grid h3{margin-top:16px}.process-grid p{margin-bottom:0}}
@media(prefers-reduced-motion:reduce){.process-grid::after{transform:none}.process-grid li{opacity:1;transform:none}.process-grid li::before{transform:none}}
