:root{--color-brand-orange:#ea6f14;--color-brand-orange-dark:#b94f08;--color-brand-orange-soft:#fff0e6;--color-brand-blue:#2da9db;--color-brand-blue-dark:#0e4d68;--color-brand-blue-soft:#e7f7fc;--color-canvas-white:#fff;--color-cloud-mist:#d8e5ea;--color-slate-text:#2f4049;--color-rich-violet:var(--color-brand-blue-dark);--color-action-violet:var(--color-brand-orange);--color-air-blue:var(--color-brand-blue-soft);--color-lush-green:#d9f2fb;--color-sunset-pink:var(--color-brand-orange-soft);--color-neon-pink:var(--color-brand-orange);--color-aqua-blue:var(--color-brand-blue);--color-electric-green:#80c3d7;--color-soft-gray-fill:#f4f8fa;--color-warm-orange:var(--color-brand-orange);--color-deep-blue:var(--color-brand-blue-dark);--font-polysans:Montserrat, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-plus-jakarta-sans:"Plus Jakarta Sans", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-caption:12px;--text-body-sm:14px;--text-body:16px;--text-body-lg:18px;--text-heading-sm:30px;--text-heading-md:40px;--text-heading-lg:58px;--spacing-4:4px;--spacing-8:8px;--spacing-12:12px;--spacing-16:16px;--spacing-20:20px;--spacing-24:24px;--spacing-32:32px;--spacing-40:40px;--spacing-48:48px;--spacing-60:60px;--spacing-100:100px;--radius-lg:8px;--radius-xl:12px;--radius-2xl:16px;--radius-cards:26px;--radius-badges:200px;--radius-buttons:12px;font-family:var(--font-plus-jakarta-sans);color:var(--color-slate-text);background:var(--color-canvas-white);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}@keyframes hero-grid-drift{0%{background-position:0 0}to{background-position:96px 96px}}body{min-width:320px;color:var(--color-slate-text);background:var(--color-canvas-white);margin:0}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--color-rich-violet);font-family:var(--font-polysans);letter-spacing:-.02em;font-weight:600;line-height:1.05}h1{max-width:820px;font-size:40px}h2{font-size:var(--text-heading-md)}h3{font-size:23px}p{font-size:var(--text-body);line-height:1.65}#app{min-height:100svh}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{top:var(--spacing-16);z-index:20;pointer-events:none;background:0 0;border-bottom:0;position:fixed;left:0;right:0}.topline{justify-content:center;gap:var(--spacing-20);width:fit-content;max-width:calc(100% - 48px);margin:0 auto var(--spacing-8);padding:var(--spacing-8) var(--spacing-20);border-radius:var(--radius-badges);color:var(--color-canvas-white);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-size:var(--text-caption);pointer-events:auto;background:#0e4d68c7;border:1px solid #ffffff38;line-height:1.2;display:flex}.topline a{color:var(--color-canvas-white);font-weight:700;text-decoration:none}.nav-shell{align-items:center;gap:var(--spacing-24);width:min(1180px,100% - 48px);min-height:76px;padding:0 var(--spacing-16);border-radius:var(--radius-cards);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);pointer-events:auto;background:#ffffffdb;border:1px solid #d8e5eac7;grid-template-columns:auto 1fr auto;margin:0 auto;display:grid;box-shadow:0 18px 70px #0e4d6824}.brand{width:178px;padding:var(--spacing-12);align-items:center;display:inline-flex}.brand img{width:100%;height:auto}.main-nav{justify-content:center;gap:var(--spacing-8);display:flex}.main-nav a{min-height:42px;padding:0 var(--spacing-16);border-radius:var(--radius-lg);color:var(--color-slate-text);font-size:var(--text-body-sm);align-items:center;font-weight:700;text-decoration:none;transition:color .16s,background-color .16s;display:inline-flex}.main-nav a:hover,.main-nav a.is-active{color:var(--color-rich-violet);background:#2da9db24}.main-nav a.is-active{color:#a43700;background:#ff6e0738}.menu-toggle{border:1px solid var(--color-cloud-mist);border-radius:var(--radius-buttons);background:var(--color-canvas-white);flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;display:none}.menu-toggle span:not(.sr-only){background:var(--color-rich-violet);border-radius:10px;width:18px;height:2px}.button{min-height:48px;padding:0 var(--spacing-20);border-radius:var(--radius-buttons);font-size:var(--text-body-sm);text-align:center;justify-content:center;align-items:center;font-weight:700;line-height:1.1;text-decoration:none;transition:transform .18s,border-color .18s,background-color .18s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button-primary{border:1px solid var(--color-action-violet);color:var(--color-canvas-white);background:var(--color-action-violet)}.button-primary:hover{border-color:var(--color-brand-orange-dark);background:var(--color-brand-orange-dark)}.button-ghost,.nav-cta{border:1px solid var(--color-cloud-mist);color:var(--color-rich-violet);background:var(--color-canvas-white)}.button-ghost:hover,.nav-cta:hover{background:var(--color-air-blue);border-color:#2da9db73}.nav-cta{min-height:44px;padding:0 var(--spacing-16);border-radius:var(--radius-buttons);font-size:var(--text-body-sm);text-align:center;justify-content:center;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.site-header+main{padding-top:132px}.site-header+main.presentation-page{padding-top:0}.page-hero{gap:var(--spacing-48);width:min(1180px,100% - 48px);padding:var(--spacing-48) 0 var(--spacing-32);grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);align-items:center;margin:0 auto;display:grid}.page-hero--home{width:100%;min-height:100svh;padding:188px max(24px, calc((100vw - 1180px) / 2)) var(--spacing-60);background:var(--color-rich-violet);isolation:isolate;grid-template-columns:minmax(0,690px);position:relative;overflow:hidden}.page-hero--home:before{content:"";z-index:1;background:linear-gradient(90deg,#07202cdb 0%,#07202c9e 46%,#07202c1f 100%),linear-gradient(#07202c1f,#07202c7a);position:absolute;inset:0}.page-hero--home:after{content:"";z-index:1;opacity:.42;background-image:linear-gradient(#2da9db33 1px,#0000 1px),linear-gradient(90deg,#2da9db26 1px,#0000 1px);background-position:0 0;background-size:96px 96px;animation:18s linear infinite hero-grid-drift;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000 0% 56%,#0000 92%);mask-image:linear-gradient(90deg,#000 0% 56%,#0000 92%)}.page-hero--home .hero-copy{z-index:2;width:min(690px,100%);padding-top:var(--spacing-24);position:relative}.page-hero--home .eyebrow{color:#ffb070}.page-hero--home h1,.page-hero--home .hero-intro{color:var(--color-canvas-white);text-wrap:balance}.page-hero--home .hero-intro{color:#ffffffd6}.page-hero--home .hero-badges span{color:var(--color-canvas-white);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-color:#fff3}.page-hero--home .button-ghost{color:var(--color-canvas-white);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-color:#ffffff47}.page-hero--home .button-ghost:hover{background:#ffffff29;border-color:#ffffff6b}.page-hero--home .hero-media{z-index:0;border:0;border-radius:0;min-height:100%;position:absolute;inset:0}.page-hero--home .hero-media img{object-fit:cover;object-position:62% center;width:100%;height:100%;min-height:100%;transform:scale(1.02)}.hero-copy{gap:var(--spacing-20);display:grid}.eyebrow{color:var(--color-neon-pink);font-size:var(--text-caption);text-transform:uppercase;font-weight:800;line-height:1.2}.hero-intro{max-width:690px;color:var(--color-slate-text);font-size:var(--text-body-lg)}.hero-badges{gap:var(--spacing-8);flex-wrap:wrap;display:flex}.hero-badges span,.badge{min-height:34px;padding:0 var(--spacing-12);border-radius:var(--radius-badges);color:var(--color-rich-violet);background:var(--color-canvas-white);font-size:var(--text-caption);border:1px solid #2da9db47;align-items:center;font-weight:700;display:inline-flex}.hero-actions{gap:var(--spacing-12);flex-wrap:wrap;display:flex}.hero-media{border:1px solid var(--color-cloud-mist);border-radius:var(--radius-cards);background:var(--color-soft-gray-fill);min-height:360px;margin:0;position:relative;overflow:hidden}.hero-media img{object-fit:cover;width:100%;height:100%;min-height:360px}.section{width:min(1180px,100% - 48px);padding:var(--spacing-60) 0;margin:0 auto}.section-heading{gap:var(--spacing-12);max-width:780px;margin-bottom:var(--spacing-32);display:grid}.capability-strip{gap:var(--spacing-12);width:min(1180px,100% - 48px);margin:var(--spacing-16) auto var(--spacing-40);grid-template-columns:minmax(0,1fr) 300px;display:grid}.capability-intro,.capability-card,.direct-contact-card{border-radius:var(--radius-cards)}.capability-intro{padding:0 0 var(--spacing-8);align-self:end}.capability-grid{gap:var(--spacing-12);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.capability-card{align-content:start;gap:var(--spacing-8);min-height:126px;padding:var(--spacing-20);border:1px solid var(--color-cloud-mist);color:var(--color-rich-violet);background:var(--color-canvas-white);text-decoration:none;transition:transform .18s,border-color .18s,background-color .18s;display:grid}.capability-card:hover{background:var(--color-soft-gray-fill);border-color:#2da9db7a;transform:translateY(-2px)}.capability-card strong{color:var(--color-rich-violet);font-family:var(--font-polysans);font-size:22px;line-height:1.05}.capability-card span{color:var(--color-slate-text);font-size:var(--text-body-sm);line-height:1.35}.direct-contact-card{align-content:center;gap:var(--spacing-16);padding:var(--spacing-24);border:1px solid var(--color-cloud-mist);color:var(--color-canvas-white);background:var(--color-rich-violet);grid-area:1/2/span 2;display:grid}.direct-contact-card strong{color:var(--color-canvas-white);font-family:var(--font-polysans);font-size:28px;line-height:1.1}.direct-contact-card .eyebrow{color:var(--color-electric-green)}.direct-contact-card .text-link{color:var(--color-canvas-white)}.story-section{border-top:1px solid var(--color-cloud-mist)}.story-grid{gap:var(--spacing-16);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.story-grid p{padding:var(--spacing-24);border:1px solid var(--color-cloud-mist);border-radius:var(--radius-cards);background:var(--color-canvas-white)}.service-grid{gap:var(--spacing-16);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.service-card{border:1px solid var(--color-cloud-mist);border-radius:var(--radius-cards);background:var(--color-canvas-white);grid-template-rows:220px 1fr;display:grid;overflow:hidden}.service-image{background:var(--color-soft-gray-fill);place-items:center;display:grid;overflow:hidden}.service-image img{object-fit:cover;width:100%;height:100%}.service-copy{align-content:start;gap:var(--spacing-12);padding:var(--spacing-24);display:grid}.service-copy p{font-size:var(--text-body-sm)}.quote-band,.klimwatt-band{align-items:center;gap:var(--spacing-32);padding:var(--spacing-40);border:1px solid var(--color-cloud-mist);border-radius:var(--radius-cards);background:var(--color-rich-violet);grid-template-columns:minmax(0,1fr) auto;display:grid}.quote-band h2,.klimwatt-band h2{color:var(--color-canvas-white)}.quote-band .eyebrow,.klimwatt-band .eyebrow{color:var(--color-electric-green)}.klimwatt-band{background:var(--color-soft-gray-fill);grid-template-columns:auto minmax(0,1fr)}.klimwatt-band h2{color:var(--color-rich-violet)}.split-feature{gap:var(--spacing-24);grid-template-columns:minmax(0,1fr) minmax(320px,.65fr);align-items:stretch;display:grid}.split-feature--reverse{grid-template-columns:minmax(320px,.65fr) minmax(0,1fr)}.split-feature--reverse>div:first-child{order:2}.split-feature>div:first-child{align-content:center;gap:var(--spacing-16);padding:var(--spacing-40);border:1px solid var(--color-cloud-mist);border-radius:var(--radius-cards);background:var(--color-canvas-white);display:grid}.feature-panel{align-content:center;gap:var(--spacing-16);min-height:320px;padding:var(--spacing-32);border-radius:var(--radius-cards);color:var(--color-rich-violet);background:var(--color-air-blue);display:grid}.feature-panel--green{background:var(--color-lush-green)}.feature-panel strong{color:var(--color-rich-violet);font-family:var(--font-polysans);font-size:40px;line-height:1}.feature-panel p{color:var(--color-rich-violet)}.text-link{color:var(--color-action-violet);font-size:var(--text-body-sm);font-weight:800;text-decoration:none}.gallery-mosaic{gap:var(--spacing-12);grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:220px;display:grid}.gallery-mosaic figure{border-radius:var(--radius-cards);background:var(--color-soft-gray-fill);margin:0;overflow:hidden}.gallery-mosaic figure:first-child{grid-area:span 2/span 2}.gallery-mosaic img{object-fit:cover;width:100%;height:100%}.contact-layout{gap:var(--spacing-24);grid-template-columns:minmax(0,1fr) 420px;align-items:start;display:grid}.contact-layout--first{padding-top:var(--spacing-32)}.contact-layout--first .contact-aside h1{font-size:40px}.contact-card,.contact-aside{gap:var(--spacing-24);padding:var(--spacing-40);border:1px solid var(--color-cloud-mist);border-radius:var(--radius-cards);background:var(--color-canvas-white);display:grid}.contact-form{gap:var(--spacing-16);display:grid}.contact-form label{gap:var(--spacing-8);color:var(--color-rich-violet);font-size:var(--text-body-sm);font-weight:800;display:grid}.contact-form input,.contact-form textarea{border:1px solid var(--color-cloud-mist);border-radius:var(--radius-buttons);width:100%;color:var(--color-rich-violet);background:var(--color-canvas-white);font-size:var(--text-body)}.contact-form input{height:50px;padding:0 var(--spacing-16)}.contact-form textarea{min-height:150px;padding:var(--spacing-16);resize:vertical}.contact-form input:focus,.contact-form textarea:focus,.button:focus-visible,.main-nav a:focus-visible,.nav-cta:focus-visible,.menu-toggle:focus-visible{outline-offset:2px;outline:3px solid #ea6f143d}.contact-line{gap:var(--spacing-4);padding:var(--spacing-16);border:1px solid var(--color-cloud-mist);border-radius:var(--radius-xl);text-decoration:none;display:grid}.contact-line span{color:var(--color-neon-pink);font-size:var(--text-caption);text-transform:uppercase;font-weight:800}.contact-line strong{color:var(--color-rich-violet);font-size:var(--text-body);line-height:1.35}.notice-card{gap:var(--spacing-8);padding:var(--spacing-20);border-radius:var(--radius-cards);color:var(--color-rich-violet);background:var(--color-lush-green);display:grid}.notice-card p{color:var(--color-rich-violet);font-size:var(--text-body-sm)}.site-footer{margin-top:var(--spacing-40);border-top:1px solid var(--color-cloud-mist);background:var(--color-rich-violet)}.footer-inner{gap:var(--spacing-32);width:min(1180px,100% - 48px);padding:var(--spacing-48) 0;grid-template-columns:minmax(220px,1.3fr) repeat(3,minmax(0,1fr));margin:0 auto;display:grid}.footer-brand{align-content:start;gap:var(--spacing-20);display:grid}.footer-brand img{width:230px;height:auto;padding:var(--spacing-12);border-radius:var(--radius-xl);background:var(--color-canvas-white)}.footer-brand p,.footer-bottom,.footer-list a{color:#ffffffc7}.footer-list{align-content:start;gap:10px;display:grid}.footer-list p{color:var(--color-canvas-white);font-size:var(--text-body-sm);font-weight:800}.footer-list a{font-size:var(--text-body-sm);line-height:1.45;text-decoration:none}.footer-list a:hover{color:var(--color-electric-green)}.footer-bottom{justify-content:space-between;gap:var(--spacing-16);width:min(1180px,100% - 48px);padding:var(--spacing-20) 0;font-size:var(--text-caption);border-top:1px solid #ffffff29;margin:0 auto;display:flex}@media (width<=1100px){h1{font-size:43px}h2{font-size:36px}.page-hero,.contact-layout{grid-template-columns:1fr}.page-hero{min-height:auto}.service-grid,.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.capability-strip{grid-template-columns:1fr}.capability-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.direct-contact-card{grid-area:auto}.gallery-mosaic,.footer-inner{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.site-header+main{padding-top:106px}.site-header+main.presentation-page{padding-top:0}.topline{display:none}.nav-shell{grid-template-columns:auto auto;min-height:76px}.brand{width:176px}.menu-toggle{justify-self:end;display:inline-flex}.main-nav{padding:var(--spacing-12);border:1px solid var(--color-cloud-mist);border-radius:var(--radius-cards);background:var(--color-canvas-white);grid-template-columns:1fr;display:none;position:absolute;top:78px;left:24px;right:24px}.main-nav.is-open{display:grid}.main-nav a{justify-content:center}.nav-cta{display:none}.page-hero{padding-top:var(--spacing-40)}.page-hero--home{width:100%;min-height:100svh;padding:118px 24px var(--spacing-40)}.page-hero--home .hero-copy{width:min(620px,100%)}.page-hero--home .hero-media,.page-hero--home .hero-media img{min-height:100%}.capability-intro,.quote-band,.klimwatt-band,.split-feature,.split-feature--reverse{grid-template-columns:1fr}.split-feature--reverse>div:first-child{order:0}}@media (width<=640px){:root{--text-body:16px;--text-body-lg:18px}h1{font-size:36px}h2{font-size:28px}h3{font-size:22px}.nav-shell,.page-hero,.section,.capability-strip,.footer-inner,.footer-bottom{width:min(100% - 32px,1180px)}.page-hero{padding-bottom:var(--spacing-32);gap:28px}.page-hero--home{width:100%;padding:112px 16px var(--spacing-32)}.hero-media,.hero-media img{min-height:300px}.page-hero--home .hero-media,.page-hero--home .hero-media img{min-height:100%}.hero-actions,.hero-actions .button,.contact-form .button{width:100%}.service-grid,.story-grid,.gallery-mosaic,.footer-inner{grid-template-columns:1fr}.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.capability-card{min-height:154px;padding:var(--spacing-16)}.capability-card strong{font-size:20px}.capability-card span{font-size:14px}.contact-layout--first .contact-aside h1{font-size:32px}.service-card{grid-template-rows:210px 1fr}.gallery-mosaic{grid-auto-rows:240px}.gallery-mosaic figure:first-child{grid-area:auto}.quote-band,.klimwatt-band,.contact-card,.contact-aside,.split-feature>div:first-child,.feature-panel{padding:var(--spacing-24)}.footer-bottom{flex-direction:column}}
