:root{--font-sans:"Inter","SF Pro Display",system-ui,-apple-system,"Helvetica Neue",helvetica,sans-serif;--font-mono:"JetBrains Mono","SF Mono",ui-monospace,menlo,monospace;--black:#000000;--white:#ffffff;--color-primary:var(--black);--color-on-primary:var(--white);--color-accent-magenta:#e5468a;--color-canvas:var(--white);--color-inverse-canvas:#000000;--color-surface-soft:#f5f4f2;--color-hairline:#e3e1dd;--color-hairline-soft:#eeece8;--color-block-lime:#d6f24f;--color-block-lilac:#d4c5f7;--color-block-cream:#f3ecd8;--color-block-mint:#c3eed6;--color-block-pink:#f6d3e3;--color-block-coral:#f3a587;--color-block-navy:#211c4e;--color-ink:var(--black);--color-inverse-ink:var(--white);--color-on-inverse-soft:rgba(255,255,255,0.16);--color-success:#1f8a4c;--color-overlay-scrim:rgba(0,0,0,0.6);--fs-display-xl:86px;--fs-display-lg:64px;--fs-headline:26px;--fs-subhead:26px;--fs-card-title:24px;--fs-body-lg:20px;--fs-body:18px;--fs-body-sm:16px;--fs-link:20px;--fs-button:20px;--fs-eyebrow:18px;--fs-caption:12px;--fw-320:320;--fw-330:330;--fw-340:340;--fw-400:400;--fw-450:450;--fw-480:480;--fw-540:540;--fw-700:700;--lh-display:1;--lh-display-lg:1.1;--lh-tight:1.3;--lh-snug:1.35;--lh-body:1.45;--lh-relaxed:1.4;--ls-display-xl:-1.72px;--ls-display-lg:-0.96px;--ls-headline:-0.26px;--ls-body:-0.26px;--ls-body-lg:-0.14px;--ls-link:-0.1px;--ls-eyebrow:0.54px;--ls-caption:0.6px;--space-hair:1px;--space-xxs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-xxl:48px;--space-section:96px;--container-max:1280px;--gutter-desktop:48px;--gutter-mobile:24px;--radius-xs:2px;--radius-sm:6px;--radius-md:8px;--radius-lg:24px;--radius-xl:32px;--radius-pill:50px;--radius-full:9999px;--elevation-0:none;--elevation-1:0 0 0 1px var(--color-hairline);--elevation-2:0 4px 16px rgba(0,0,0,0.06);--elevation-3:0 24px 64px rgba(0,0,0,0.24);--focus-ring:0 0 0 3px rgba(0,0,0,0.18);font-feature-settings:"kern" 1}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--color-canvas);color:var(--color-ink);overflow-x:hidden;font-family:var(--font-sans)}img{max-width:100%;display:block}a{color:inherit}button{font-family:inherit}.t-display-xl{font:var(--fw-340) var(--fs-display-xl)/var(--lh-display) var(--font-sans);letter-spacing:var(--ls-display-xl)}.t-display-lg{font:var(--fw-340) var(--fs-display-lg)/var(--lh-display-lg) var(--font-sans);letter-spacing:var(--ls-display-lg)}.t-headline{font:var(--fw-540) var(--fs-headline)/var(--lh-snug) var(--font-sans);letter-spacing:var(--ls-headline)}.t-subhead{font:var(--fw-340) var(--fs-subhead)/var(--lh-snug) var(--font-sans);letter-spacing:var(--ls-headline)}.t-card-title{font:var(--fw-700) var(--fs-card-title)/1.45 var(--font-sans)}.t-body-lg{font:var(--fw-330) var(--fs-body-lg)/var(--lh-relaxed) var(--font-sans);letter-spacing:var(--ls-body-lg)}.t-body{font:var(--fw-320) var(--fs-body)/var(--lh-body) var(--font-sans);letter-spacing:var(--ls-body)}.t-body-sm{font:var(--fw-330) var(--fs-body-sm)/var(--lh-body) var(--font-sans);letter-spacing:var(--ls-body-lg)}.t-link{font:var(--fw-480) var(--fs-link)/var(--lh-relaxed) var(--font-sans);letter-spacing:var(--ls-link)}.t-eyebrow{font:var(--fw-400) var(--fs-eyebrow)/var(--lh-tight) var(--font-mono);letter-spacing:var(--ls-eyebrow);text-transform:uppercase}.t-caption{font:var(--fw-400) var(--fs-caption)/1 var(--font-mono);letter-spacing:var(--ls-caption);text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);font-family:var(--font-sans);font-size:var(--fs-button);font-weight:var(--fw-480);line-height:var(--lh-relaxed);letter-spacing:var(--ls-link);border:none;cursor:pointer;text-decoration:none;white-space:nowrap;min-height:44px;transition:transform 120ms ease,background-color 120ms ease,opacity 120ms ease;-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(0.97)}.btn-primary{background:var(--color-primary);color:var(--color-on-primary);padding:10px 20px;border-radius:var(--radius-pill)}.btn-secondary{background:var(--color-canvas);color:var(--color-ink);padding:8px 18px 10px;border-radius:var(--radius-pill);box-shadow:var(--elevation-1)}.btn-tertiary{background:transparent;color:var(--color-ink);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);min-height:auto}.btn-magenta{background:var(--color-accent-magenta);color:var(--color-on-primary);padding:10px 18px;border-radius:var(--radius-pill)}.btn-full{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);border:none;cursor:pointer;transition:transform 120ms ease,background-color 120ms ease;-webkit-tap-highlight-color:transparent;flex-shrink:0;background:var(--color-surface-soft);color:var(--color-ink)}.icon-btn:active{transform:scale(0.92)}.icon-btn-inverse{background:var(--color-on-inverse-soft);color:var(--color-inverse-ink)}.icon-btn-sm{width:36px;height:36px}.form-field{margin-bottom:var(--space-lg)}.form-label{font-family:var(--font-sans);font-size:var(--fs-body-sm);font-weight:var(--fw-480);display:block;margin-bottom:var(--space-xs);color:var(--color-ink)}.form-input,.form-select,.form-textarea{width:100%;min-height:48px;padding:0 var(--space-lg);font-family:var(--font-sans);font-size:var(--fs-body-sm);color:var(--color-ink);background:var(--color-canvas);border:1px solid var(--color-hairline);border-radius:var(--radius-md);outline:none;transition:box-shadow 120ms ease}.form-input:focus,.form-select:focus,.form-textarea:focus{box-shadow:var(--focus-ring)}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23000' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}.form-textarea{min-height:150px;padding:var(--space-md) var(--space-lg);resize:vertical;line-height:1.6}.promo-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);flex-wrap:wrap;background:var(--color-block-lilac);color:var(--color-ink);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg)}.ctr{max-width:var(--container-max);margin:0 auto;padding:0 var(--gutter-desktop)}[data-reveal]{opacity:0;transform:translateY(32px);transition:opacity .72s cubic-bezier(.22,1,.36,1),transform .72s cubic-bezier(.22,1,.36,1)}[data-reveal].revealed{opacity:1;transform:translateY(0)}[data-reveal="left"]{transform:translateX(-32px)}[data-reveal="left"].revealed{transform:translateX(0)}[data-reveal="right"]{transform:translateX(32px)}[data-reveal="right"].revealed{transform:translateX(0)}[data-delay="1"]{transition-delay:.08s}[data-delay="2"]{transition-delay:.16s}[data-delay="3"]{transition-delay:.24s}[data-delay="4"]{transition-delay:.32s}[data-delay="5"]{transition-delay:.40s}[data-delay="6"]{transition-delay:.48s}[data-delay="7"]{transition-delay:.56s}[data-delay="8"]{transition-delay:.64s}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1 !important;transform:none !important;transition:none !important}}@keyframes blink{0%,100%{opacity:1}50%{opacity:0.2}}@keyframes float-a{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-18px) rotate(-2deg)}}@keyframes float-b{0%,100%{transform:translateY(0) rotate(3deg)}50%{transform:translateY(-14px) rotate(3deg)}}@keyframes float-c{0%,100%{transform:translateY(-5px) rotate(-1deg)}50%{transform:translateY(10px) rotate(-1deg)}}@keyframes bb-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}@media (prefers-reduced-motion:reduce){.marquee-track{animation:none !important}}.site-nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.9);backdrop-filter:blur(20px) saturate(1.5);border-bottom:1px solid var(--color-hairline);height:64px;display:flex;align-items:center}.nav-inner{max-width:var(--container-max);margin:0 auto;padding:0 var(--gutter-desktop);width:100%;display:flex;align-items:center}.nav-logo{display:flex;align-items:center;text-decoration:none;color:var(--color-ink);margin-right:var(--space-xl)}.nav-logo img{height:36px;width:auto}.nav-links{display:flex;align-items:center;gap:var(--space-xl);margin-left:auto}.nav-link{font-size:var(--fs-body-sm);font-weight:var(--fw-480);color:var(--color-ink);text-decoration:none;opacity:.72;transition:opacity .2s;letter-spacing:var(--ls-body-lg)}.nav-link:hover,.nav-link.active{opacity:1}.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;background:none;border:none;z-index:200}.hamburger span{display:block;width:24px;height:2px;background:var(--color-ink);border-radius:2px;transition:all .3s}.mobile-menu{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:white;z-index:150;flex-direction:column;align-items:center;justify-content:center;gap:32px}.mobile-menu.open{display:flex}.mobile-menu a{font-size:28px;font-weight:700;color:var(--color-ink);text-decoration:none;letter-spacing:-.5px}.mobile-menu .btn-primary{background:var(--color-ink);color:white;padding:14px 32px;font-size:18px}.marquee-strip{background:var(--color-inverse-canvas);color:var(--color-inverse-ink);height:36px;overflow:hidden;display:flex;align-items:center}.marquee-track{display:flex;align-items:center;gap:var(--space-xxl);white-space:nowrap;padding-left:var(--space-xxl);animation:bb-marquee 28s linear infinite}.marquee-track span{font-family:var(--font-sans);font-size:var(--fs-body-sm);font-weight:var(--fw-480);letter-spacing:var(--ls-body-lg);opacity:.92}.svc-card{transition:transform .3s ease,box-shadow .3s ease;cursor:pointer}.svc-card:hover{transform:translateY(-6px);box-shadow:0 20px 48px rgba(0,0,0,.09)}.svc-card:hover .svc-arrow{transform:translateX(4px)}.svc-arrow{transition:transform .2s ease;display:inline-block}.proj-card{overflow:hidden;cursor:pointer}.proj-thumb{transition:transform .5s cubic-bezier(.22,1,.36,1)}.proj-card:hover .proj-thumb{transform:scale(1.04)}.why-card{transition:transform .25s ease}.why-card:hover{transform:translateY(-5px)}.tech-chip{transition:transform .2s ease;cursor:default}.tech-chip:hover{transform:translateY(-3px)}.ind-pill{transition:background .2s,color .2s,transform .2s;cursor:pointer}.ind-pill:hover{background:var(--color-ink) !important;color:white !important;transform:translateY(-2px)}.testi-card{transition:transform .3s ease}.testi-card:hover{transform:translateY(-5px)}.proc-step{transition:transform .25s ease}.proc-step:hover{transform:translateX(8px)}.hero-vis{transition:transform .5s cubic-bezier(.22,1,.36,1)}.faq-row{border-bottom:1px solid rgba(0,0,0,.1)}.faq-q{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) 0;cursor:pointer;gap:var(--space-xl);background:none;border:none;width:100%;text-align:left;font:inherit;color:inherit}.faq-q:hover{opacity:.75}.faq-icon{display:inline-block;transition:transform .3s ease;font-size:28px;font-weight:200;line-height:1;flex-shrink:0}.faq-row.open .faq-icon{transform:rotate(45deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .42s cubic-bezier(.4,0,.2,1)}.faq-row.open .faq-answer{max-height:320px}.faq-answer p{font-family:var(--font-sans);font-size:var(--fs-body);font-weight:var(--fw-320);line-height:1.55;opacity:.7;padding-bottom:28px;margin:0}.ft-link{color:rgba(255,255,255,.5);text-decoration:none;font-size:var(--fs-body-sm);font-weight:var(--fw-330);display:block;margin-bottom:10px;transition:color .2s}.ft-link:hover{color:white}@media (max-width:900px){.nav-links{display:none}.hamburger{display:flex;margin-left:auto}.proc-cols{flex-direction:column !important;gap:40px !important}.proc-cols>div:first-child{width:100% !important}.hero-cols{flex-direction:column !important;gap:32px !important;min-height:auto !important;padding-top:32px !important}.hero-vis-wrap{display:none !important}.hero-sec{padding-bottom:48px !important}.about-cols{flex-direction:column !important;gap:0 !important}.about-cols>div:first-child{width:100% !important;height:320px !important}#solar-canvas{width:100% !important;height:320px !important}.svc-grid{grid-template-columns:1fr 1fr !important}.proc-wrap{flex-direction:column !important;gap:40px !important}.proc-wrap>div:first-child{width:100% !important}.proj-grid{grid-template-columns:1fr !important}.stats-grid{grid-template-columns:1fr 1fr !important}.why-grid{grid-template-columns:1fr 1fr !important}#testi-track>div{min-width:calc(100vw - 48px) !important;max-width:calc(100vw - 48px) !important}.faq-wrap{flex-direction:column !important}.ft-grid{grid-template-columns:1fr 1fr !important}.tech-wrap{flex-direction:column !important}.contact-cols{flex-direction:column !important}.contact-cols>div:last-child{width:100% !important}.form-grid{grid-template-columns:1fr !important}}@media (max-width:600px){.hero-sec h1{font-size:42px !important;letter-spacing:-1.5px !important;line-height:1 !important}.hero-sec p{font-size:15px !important}.hero-sec .stats-row{gap:16px !important}.about-cols>div:first-child{height:260px !important}#solar-canvas{height:260px !important}.svc-grid{grid-template-columns:1fr !important}.stats-grid{grid-template-columns:1fr !important}.why-grid{grid-template-columns:1fr !important}.ft-grid{grid-template-columns:1fr !important}.ctr{padding-left:20px !important;padding-right:20px !important}.faq-wrap{gap:32px !important}.faq-wrap>div:first-child{width:100% !important}}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px}