:root{color-scheme:light;--bg: #f1f3f8;--panel: var(--bg);--panel-strong: #ffffff;--text: rgba(15, 23, 42, .92);--muted: rgba(15, 23, 42, .62);--border: rgba(15, 23, 42, .12);--border-strong: rgba(15, 23, 42, .16);--accent: #f36a2a;--accent-strong: #df5b1c;--accent-soft: rgba(243, 106, 42, .14);--accent-2: #2563eb;--accent-2-soft: rgba(37, 99, 235, .12);--shadow: rgba(15, 23, 42, .12);--shadow-sm: rgba(15, 23, 42, .08);--shadow-light: rgba(255, 255, 255, .95);--elev-lg: 28px 28px 78px rgba(15, 23, 42, .11), -28px -28px 78px rgba(255, 255, 255, .95);--elev-md: 20px 20px 60px rgba(15, 23, 42, .1), -20px -20px 60px rgba(255, 255, 255, .95);--elev-sm: 12px 12px 34px rgba(15, 23, 42, .09), -12px -12px 34px rgba(255, 255, 255, .95);--inset-edge: inset 1px 1px 0 rgba(255, 255, 255, .82), inset -1px -1px 0 rgba(15, 23, 42, .09);--inset-soft: inset 8px 8px 18px rgba(15, 23, 42, .08), inset -8px -8px 18px rgba(255, 255, 255, .95);--inset-press: inset 12px 12px 26px rgba(15, 23, 42, .1), inset -12px -12px 26px rgba(255, 255, 255, .95);--radius: 20px;--radius-sm: 14px;--maxw: 1160px;--pad: clamp(18px, 3vw, 30px);--space-1: 8px;--space-2: 12px;--space-3: 16px;--space-4: 22px;--space-5: 32px;--space-6: 52px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}html,body{min-height:100%}body{margin:0;padding-top:84px;color:var(--text);background-color:var(--bg);position:relative;isolation:isolate;--paper-grid-minor: rgba(37, 99, 235, .05);--paper-grid-major: rgba(37, 99, 235, .075);--paper-grid-step: 26px;--paper-grid-step-major: 130px;--paper-grid-opacity: 1;--paper-grid-mask-edge: .16;--paper-grid-mask-center: .92;background-image:radial-gradient(1000px 680px at 12% -12%,rgba(255,255,255,.92),transparent 58%),radial-gradient(920px 660px at 112% 4%,rgba(255,255,255,.88),transparent 58%),radial-gradient(980px 740px at 52% 120%,rgba(255,255,255,.9),transparent 60%);background-repeat:no-repeat;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;line-height:1.6}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:var(--paper-grid-opacity);background-image:linear-gradient(to right,var(--paper-grid-minor) 1px,transparent 1px),linear-gradient(to bottom,var(--paper-grid-minor) 1px,transparent 1px),linear-gradient(to right,var(--paper-grid-major) 1px,transparent 1px),linear-gradient(to bottom,var(--paper-grid-major) 1px,transparent 1px);background-size:var(--paper-grid-step) var(--paper-grid-step),var(--paper-grid-step) var(--paper-grid-step),var(--paper-grid-step-major) var(--paper-grid-step-major),var(--paper-grid-step-major) var(--paper-grid-step-major);background-repeat:repeat;-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,var(--paper-grid-mask-edge)) 0%,rgba(0,0,0,var(--paper-grid-mask-center)) 50%,rgba(0,0,0,var(--paper-grid-mask-edge)) 100%);mask-image:linear-gradient(90deg,rgba(0,0,0,var(--paper-grid-mask-edge)),rgba(0,0,0,var(--paper-grid-mask-center)),rgba(0,0,0,var(--paper-grid-mask-edge)));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%}::selection{background:#f36a2a38}a{color:inherit;text-decoration-color:#0f172a38;text-underline-offset:4px}a:hover{text-decoration-color:#f36a2ae6}:focus-visible{outline:2px solid rgba(243,106,42,.7);outline-offset:3px;border-radius:12px}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.95em}.container{width:min(var(--maxw),100%);margin:0 auto;padding:var(--pad)}.surface{background:var(--panel);border:0;border-radius:var(--radius);box-shadow:var(--elev-sm),var(--inset-edge)}.section-surface,section.surface{padding:var(--space-4);box-shadow:var(--elev-md),var(--inset-edge)}@media(max-width:620px){.section-surface,section.surface{padding:var(--space-3)}}.skip-link{position:absolute;left:-999px;top:10px;z-index:9999;padding:10px 12px;border-radius:14px;background:#fffffffa;border:1px solid var(--border-strong);box-shadow:0 14px 50px var(--shadow);text-decoration:none}.skip-link:focus{left:10px}.muted{color:var(--muted)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.h2{font-size:20px;margin:0 0 var(--space-2);letter-spacing:-.01em}.h3{font-size:16px;margin:0 0 var(--space-2);letter-spacing:-.01em}.section{margin-top:var(--space-6)}.section-head{margin-bottom:var(--space-3);position:relative;z-index:2}.section-title{margin:0;font-size:22px;line-height:1.2;letter-spacing:-.015em}.inline-tooltip{position:relative;display:inline-block;vertical-align:baseline}.inline-tooltip-trigger{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;user-select:none;list-style:none}.inline-tooltip-trigger::-webkit-details-marker{display:none}.inline-tooltip-label{text-decoration:underline;text-decoration-style:dotted;text-decoration-color:#0f172a66;text-decoration-thickness:2px;text-underline-offset:4px}.inline-tooltip-icon{width:1.1em;height:1.1em;display:inline-grid;place-items:center;border-radius:999px;font-size:.62em;font-weight:900;line-height:1;color:#fff;background:#0f172ab8;transform:translateY(-1px)}.inline-tooltip-panel{position:absolute;left:0;top:calc(100% + 10px);z-index:10;width:min(420px,calc(100vw - 52px));padding:12px 14px;border-radius:14px;border:1px solid rgba(15,23,42,.14);background:#fffffffa;color:#0f172adb;font-size:13px;font-weight:600;line-height:1.35;box-shadow:0 16px 36px #0f172a24;pointer-events:none;opacity:0;transform:translateY(-4px);transition:opacity .16s ease,transform .16s ease}.inline-tooltip:hover .inline-tooltip-panel,.inline-tooltip-trigger:hover+.inline-tooltip-panel,.inline-tooltip:focus-within .inline-tooltip-panel,.inline-tooltip[open] .inline-tooltip-panel{opacity:1;transform:translateY(0);pointer-events:auto}@media(max-width:620px){.inline-tooltip-panel{width:min(340px,calc(100vw - 44px));font-size:12px}}.section-intro{margin:var(--space-2) 0 0;color:var(--muted);max-width:72ch}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:10px 14px;border-radius:999px;border:1px solid var(--border);text-decoration:none;font-weight:700;white-space:nowrap;transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}button.btn{cursor:pointer;font:inherit}button.btn:disabled{cursor:not-allowed;opacity:.72;transform:none}.btn--primary{background:var(--accent);border-color:#f36a2a59;color:#fff;box-shadow:0 18px 44px #f36a2a38}.btn--primary:hover{background:var(--accent-strong);transform:translateY(-1px)}.btn--secondary{background:var(--panel);border:0;box-shadow:var(--elev-sm),var(--inset-edge);color:#0f172ad6}.btn--secondary:hover{box-shadow:var(--elev-md),var(--inset-edge);transform:translateY(-1px)}.btn--secondary:active{box-shadow:var(--inset-press);transform:translateY(0)}@media(prefers-reduced-motion:reduce){.btn{transition:none}.btn--primary:hover,.btn--secondary:hover{transform:none}.card--link,.card--link:after,.home-insight-featured-link,.home-insight-image,.home-insight-featured-link:after,.home-insights [data-insight-reveal],.brand,.brand-mark svg,.brand-mark img,.brand-text,.nav-toggle:after,.nav-toggle-icon>span,.lang-toggle:after,.approach-dot,.approach-dot:before,.inline-tooltip-panel,.faq-q:after{transition:none}.card--link:hover{transform:none}.card--link:hover:after{transform:none}}.grid{display:grid;gap:var(--space-3)}.grid--cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:900px){.grid--cols-2{grid-template-columns:1fr}}.approach-carousel{position:relative;isolation:isolate;background:transparent}.approach-track{min-width:0;background:transparent}.approach-slide{min-width:0}.approach-controls{display:none}@media(max-width:767px){.approach-carousel{width:100vw;margin-inline:calc(50% - 50vw);--approach-mobile-inset: 14px;--approach-mobile-gap: 12px;--approach-mobile-peek: 46px}.approach-track{display:flex;align-items:stretch;gap:var(--approach-mobile-gap);overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding-block:0;padding-inline:var(--approach-mobile-inset);scroll-padding-inline:var(--approach-mobile-inset);scrollbar-width:none;-ms-overflow-style:none;contain:paint}.approach-track::-webkit-scrollbar{display:none}.approach-slide{flex:0 0 min(520px,calc(100vw - ((var(--approach-mobile-inset) * 2) + var(--approach-mobile-peek))));display:flex;flex-direction:column;scroll-snap-align:start;scroll-snap-stop:always;box-shadow:inset 0 0 0 1px #0f172a14}.approach-carousel--js .approach-slide{transition:box-shadow .18s ease}.approach-controls{display:flex;align-items:center;justify-content:center;margin-top:10px;margin-inline:auto;position:relative;z-index:3}.approach-dots{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;background:var(--panel);box-shadow:inset 0 1px #ffffffb8,0 4px 10px #0f172a14}.approach-dot{width:18px;height:18px;display:grid;place-items:center;border:0;border-radius:999px;background:transparent;cursor:pointer;padding:0;appearance:none}.approach-dot:before{content:"";width:6px;height:6px;border-radius:999px;background:#0f172a33;box-shadow:inset 0 0 0 1px #ffffff8c;transition:background .18s ease,box-shadow .18s ease,width .18s ease}.approach-dot[aria-current=true]:before{width:12px;background:var(--accent);box-shadow:inset 0 0 0 1px #ffffffa6}.approach-dot:hover:before{background:#0f172a4d}.approach-dot[aria-current=true]:hover:before{background:#f36a2af5}}.grid--cards{grid-template-columns:repeat(3,minmax(0,1fr))}.grid[role=list]>[role=listitem]{display:flex;min-width:0}.grid[role=list]>[role=listitem]>:where(.card--link){height:100%;width:100%;min-width:0}@media(max-width:980px){.grid--cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.grid--cards{grid-template-columns:1fr}.grid--cards .card-title{height:auto}}.card{padding:var(--space-4)}.card--link{display:flex;align-items:flex-start;gap:14px;text-decoration:none;border-radius:var(--radius);background:var(--panel);border:0;box-shadow:var(--elev-sm),var(--inset-edge);transition:transform .18s ease,box-shadow .18s ease}.card--link:hover{box-shadow:var(--elev-md),var(--inset-edge);transform:translateY(-2px)}.card--link:active{box-shadow:var(--inset-press);transform:translateY(0)}.card-body{flex:1;min-width:0}.card--link:after{content:"→";margin-left:auto;align-self:center;color:#0f172aa3;font-weight:800;font-size:22px;line-height:1;transition:transform .18s ease,color .18s ease}.card--link:hover:after{transform:translate(4px);color:#f36a2aeb}.card-icon{flex:none;width:44px;height:44px;display:grid;place-items:center;overflow:hidden;border-radius:14px;color:var(--accent);background:radial-gradient(120% 120% at 20% 20%,var(--accent-soft),transparent 55%),radial-gradient(120% 120% at 80% 80%,var(--accent-2-soft),transparent 55%),var(--panel-strong);box-shadow:var(--inset-edge)}.card-icon svg{display:block;transform:scale(var(--icon-scale, 1));transform-origin:50% 50%}.card-icon svg[data-icon=heating]{--icon-scale: 1.08}.card-icon svg[data-icon=ventilation]{--icon-scale: 1.1}.card-icon svg[data-icon=sanitary]{--icon-scale: 1.12}.card-icon svg[data-icon=cooling]{--icon-scale: 1.06}.card-icon svg[data-icon=bim]{--icon-scale: 1.08}.card-title{margin:0;font-size:14px;line-height:1.25;letter-spacing:-.01em;height:2.5em;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.card-meta{margin:8px 0 0;color:#0f172a8f;font-size:12px}.card-text{margin:10px 0 0;color:#0f172aa8;font-size:13px}.project-filters{margin-top:var(--space-5)}.project-filter-chips{display:flex;flex-wrap:wrap;gap:10px}.project-filter-chip{text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease}.project-filter-chip:hover{transform:translateY(-1px)}.project-filter-chip.is-active{background:var(--accent);color:#fff;box-shadow:0 14px 32px #f36a2a3d}.project-section-stack{display:grid;gap:var(--space-5)}.project-list-section{display:grid;gap:var(--space-3)}.project-list-section[hidden]{display:none!important}.project-card{display:block;position:relative;padding:0;overflow:hidden}.project-card:after{position:absolute;right:14px;bottom:16px;margin:0}.project-card-media{position:relative;aspect-ratio:16 / 10;overflow:hidden;background:radial-gradient(130% 130% at 15% 20%,rgba(243,106,42,.2),transparent 52%),radial-gradient(120% 120% at 80% 80%,rgba(37,99,235,.2),transparent 56%),var(--panel-strong)}.project-card-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .26s ease}.project-card:hover .project-card-image{transform:scale(1.03)}.project-card-fallback{height:100%;display:grid;place-items:center;background:radial-gradient(130% 130% at 18% 22%,rgba(243,106,42,.25),transparent 58%),radial-gradient(120% 120% at 82% 78%,rgba(37,99,235,.22),transparent 60%),linear-gradient(140deg,#fffffff2,#e9eef8eb)}.project-card-fallback-logo{display:block;width:clamp(74px,16vw,110px);height:auto;filter:drop-shadow(0 10px 22px rgba(15,23,42,.12))}.project-card-body{padding:14px 16px 18px}.project-card .card-title{height:auto}.project-card-tags{list-style:none;margin:9px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.project-card-tag{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;font-size:11px;line-height:1.2;color:#0f172abd;background:#0f172a0f;border:1px solid rgba(15,23,42,.12)}.project-card-tag--more{font-weight:700}.project-card .card-text{margin-top:8px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.project-status{display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.01em;border:1px solid transparent}.project-status--ongoing{color:#1d4ed8;background:#2563eb24;border-color:#2563eb4d}.project-status--completed{color:#9a3412;background:#f36a2a29;border-color:#f36a2a4d}.project-card-media .project-status{position:absolute;top:12px;left:12px;box-shadow:0 10px 26px #0f172a24;backdrop-filter:blur(2px)}.home-insights{--home-insights-pad: clamp(16px, 2.4vw, 24px);padding:var(--home-insights-pad);overflow:hidden;position:relative;border:1px solid rgba(15,23,42,.1);background:radial-gradient(110% 90% at -2% -6%,rgba(255,255,255,.9),transparent 58%),radial-gradient(95% 75% at 102% 4%,rgba(255,255,255,.84),transparent 60%),linear-gradient(160deg,#ffffff7a,#e9eef857)}.home-insights:before{content:"";position:absolute;inset:1px;border-radius:calc(var(--radius) - 1px);pointer-events:none;background:linear-gradient(180deg,#ffffff6b,#fff0);opacity:.8}.home-insights-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:var(--home-insights-pad);position:relative;z-index:1}.home-insights-heading{flex:1;min-width:0}.home-insights-intro{margin:0;max-width:66ch;white-space:pre-line}.home-insights-all{flex:none}.home-insights-stage{--insights-left-col: 58%;--insights-right-col: 1fr;--insights-gap-left: 10px;--insights-gap-right: 10px;--insights-featured-aspect: 16 / 9;--insights-card-aspect: 16 / 8.9;--insights-companion-aspect: var(--insights-card-aspect);display:grid;grid-template-columns:minmax(0,var(--insights-left-col)) minmax(300px,var(--insights-right-col));gap:10px;align-items:start;position:relative;z-index:1}.home-insights-column{display:grid;align-content:start;min-width:0}.home-insights-column--featured{gap:var(--insights-gap-left)}.home-insights-column--secondary{gap:var(--insights-gap-right)}.home-insight-featured{min-width:0}.home-insight-featured-link{display:grid;grid-template-rows:auto 1fr;position:relative;text-decoration:none;color:inherit;background:linear-gradient(180deg,#ffffffb3,#f4f7fcb8);border:1px solid rgba(15,23,42,.14);border-radius:calc(var(--radius) - 2px);box-shadow:0 26px 52px #0f172a1c,0 12px 24px #0f172a17,var(--inset-edge);overflow:hidden;transition:transform .24s cubic-bezier(.22,1,.36,1),box-shadow .24s cubic-bezier(.22,1,.36,1)}.home-insight-featured-link:after{content:"→";position:absolute;right:16px;bottom:16px;margin:0;color:#0f172aa3;font-weight:800;font-size:24px;line-height:1;transition:transform .18s ease,color .18s ease;pointer-events:none}.home-insight-featured-link:hover{transform:translate3d(0,-3px,0);box-shadow:0 34px 62px #0f172a21,0 16px 28px #0f172a1a,var(--inset-edge)}.home-insight-featured-link:hover:after{transform:translate(4px);color:#f36a2aeb}.home-insight-featured-link:active{transform:translateY(0);box-shadow:var(--inset-press)}.home-insight-media{position:relative;aspect-ratio:var(--insights-featured-aspect);overflow:hidden;background:radial-gradient(130% 130% at 18% 22%,rgba(243,106,42,.24),transparent 58%),radial-gradient(120% 120% at 82% 78%,rgba(37,99,235,.18),transparent 60%),linear-gradient(150deg,#fffffff2,#e9eef8eb)}.home-insight-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0f172a0a,#0f172a3d),radial-gradient(120% 90% at 14% 6%,rgba(243,106,42,.24),transparent 70%),radial-gradient(120% 90% at 88% 10%,rgba(37,99,235,.2),transparent 70%);pointer-events:none}.home-insight-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .32s ease}.home-insight-featured-link:hover .home-insight-image{transform:scale(1.045)}.home-insight-fallback{height:100%}.home-insight-media .project-status{position:absolute;top:12px;left:12px;z-index:2;box-shadow:0 10px 26px #0f172a24;backdrop-filter:blur(2px)}.home-insight-content{display:grid;align-content:start;gap:9px;padding:16px 18px 18px}.home-insight-title{margin:0;font-size:clamp(18px,2.2vw,24px);line-height:1.16;letter-spacing:-.02em}.home-insight-meta{margin:0}.home-insight-content .project-card-tags{margin-top:2px}.home-insight-summary{margin-top:0;font-size:14px;color:#0f172aad;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.home-insight-secondary-item{min-width:0}.home-insight-secondary-item .project-card-media{aspect-ratio:var(--insights-card-aspect)}.home-insight-companion .project-card-media{aspect-ratio:var(--insights-companion-aspect)}.home-insight-secondary-item .project-card,.home-insight-companion .project-card{background:linear-gradient(180deg,#ffffffd1,#f1f5fcb3);border:1px solid rgba(15,23,42,.11);box-shadow:0 18px 36px #0f172a1a,var(--inset-edge)}.home-insight-secondary-item .project-card:hover,.home-insight-companion .project-card:hover{box-shadow:0 24px 42px #0f172a1f,var(--inset-edge)}.home-insight-secondary-item .project-card .card-text,.home-insight-companion .project-card .card-text{-webkit-line-clamp:2}.home-insight-secondary-item .project-card .project-card-body,.home-insight-companion .project-card .project-card-body{padding:12px 14px 14px}.home-insights [data-insight-reveal]{opacity:1;transform:translateY(0) scale(1);filter:saturate(1)}.home-insights.home-insights--js [data-insight-reveal]{animation:homeInsightEnter .56s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--insight-delay, 0ms);will-change:transform,opacity,filter}@keyframes homeInsightEnter{0%{opacity:.96;transform:translateY(8px) scale(.995);filter:saturate(.94)}to{opacity:1;transform:translateY(0) scale(1);filter:saturate(1)}}@media(prefers-reduced-motion:reduce){.home-insights.home-insights--js [data-insight-reveal]{animation:none;filter:none}}@media(max-width:1160px){.home-insights-stage{--insights-left-col: 56%;--insights-right-col: 1fr;--insights-gap-left: 12px;--insights-gap-right: 12px;grid-template-columns:minmax(0,var(--insights-left-col)) minmax(0,var(--insights-right-col));gap:12px}.home-insight-content{padding:14px 16px 16px}}@media(max-width:980px){.home-insights-stage{--insights-left-col: 100%;--insights-right-col: 1fr;--insights-gap-left: 12px;--insights-gap-right: 12px;--insights-featured-aspect: 16 / 9;--insights-card-aspect: 16 / 8.9;--insights-companion-aspect: 16 / 8.9;grid-template-columns:1fr;gap:12px}}@media(max-width:700px){.home-insights-head{flex-direction:column;align-items:flex-start}.home-insights-all{width:100%}.home-insights-stage{--insights-gap-left: 10px;--insights-gap-right: 10px}.home-insight-title{font-size:clamp(17px,5.8vw,22px)}}.project-detail-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:var(--space-3);align-items:start}.project-detail-media{padding:var(--space-4)}.project-figure{margin:0}.project-detail-image{display:block;width:100%;height:auto;border-radius:var(--radius-sm);border:1px solid rgba(15,23,42,.12);box-shadow:0 18px 56px #0f172a1a}.project-visual-fallback{min-height:280px;border-radius:var(--radius-sm);display:grid;place-items:center;background:radial-gradient(130% 130% at 18% 22%,rgba(243,106,42,.25),transparent 58%),radial-gradient(120% 120% at 82% 78%,rgba(37,99,235,.22),transparent 60%),linear-gradient(140deg,#fffffff2,#e9eef8eb);border:1px solid rgba(15,23,42,.1);box-shadow:var(--inset-edge)}.project-visual-fallback-logo{display:block;width:clamp(112px,22vw,164px);height:auto;filter:drop-shadow(0 12px 24px rgba(15,23,42,.14))}.project-detail-facts{padding:var(--space-4)}.project-facts-list{display:grid;gap:12px;margin:0}.project-facts-list>div{display:grid;gap:6px;padding-bottom:12px;border-bottom:1px dashed rgba(15,23,42,.15)}.project-facts-list>div:last-child{padding-bottom:0;border-bottom:0}.project-facts-list dt{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#0f172a85}.project-facts-list dd{margin:0;color:#0f172adb;font-weight:600}.chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}.chip{padding:8px 10px;border-radius:999px;background:var(--panel);border:0;box-shadow:var(--inset-edge);font-size:12px;color:#0f172ab8}@media(max-width:620px){.chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.chip{width:100%;line-height:1.35;font-size:11px;padding:7px 10px}}@media(max-width:980px){.project-detail-layout{grid-template-columns:1fr}}@media(max-width:620px){.project-filter-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0}.project-filter-chip{width:auto;flex:0 1 auto;min-height:38px;padding:8px 13px;border:1px solid rgba(15,23,42,.09);background:linear-gradient(180deg,#ffffffb8,#fff6);font-size:13px;font-weight:600;line-height:1.2;max-width:100%}.project-filter-chip.is-active{border-color:transparent}.project-filter-chip:focus-visible{outline:2px solid rgba(243,106,42,.35);outline-offset:2px}.project-card-body{padding:12px 14px 16px}.project-visual-fallback{min-height:210px}}@media(max-width:360px){.chips{grid-template-columns:1fr}}.list{margin:0;padding-left:18px;color:#0f172ac7;display:grid;gap:8px}.prose{color:#0f172ac7;max-width:75ch}.prose :where(p),p.prose{margin:12px 0 0}.prose :where(h2){margin:26px 0 10px;font-size:22px;line-height:1.2;letter-spacing:-.02em}.prose :where(h3){margin:22px 0 8px;font-size:18px;line-height:1.25;letter-spacing:-.02em}.prose :where(ul,ol){margin:12px 0 0;padding-left:18px}.prose :where(li){margin:6px 0 0}.prose :where(a){text-decoration-color:#f36a2a59}.prose :where(a:hover){text-decoration-color:#f36a2ad9}.prose :where(blockquote){margin:14px 0 0;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid rgba(15,23,42,.1);border-left:3px solid rgba(243,106,42,.55);background:#0f172a08}.prose :where(code){background:#0f172a0d;border:1px solid rgba(15,23,42,.08);padding:2px 6px;border-radius:10px}.prose :where(pre){margin:14px 0 0;padding:14px;border-radius:var(--radius-sm);background:#0f172af5;color:#ffffffeb;overflow-x:auto}.prose :where(pre code){background:transparent;border:0;padding:0}.prose :where(img){max-width:100%;height:auto;border-radius:var(--radius-sm);border:1px solid rgba(15,23,42,.12);box-shadow:0 18px 56px #0f172a14}.breadcrumbs-wrap{padding-top:0;padding-bottom:var(--space-2)}.breadcrumbs{margin-top:var(--space-3)}.breadcrumbs-wrap+main>.container{padding-top:0}.breadcrumbs-wrap+main>.container>.hero:first-child{margin-top:var(--space-3)}@media(max-width:940px){.breadcrumbs-wrap+main>.container>.hero:first-child{margin-top:0}}.breadcrumbs-wrap+main>.container>.hero:first-child+.grid--cards{margin-top:var(--space-4)}.breadcrumbs-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px;color:#0f172a99;font-size:12px}.breadcrumbs-item a{text-decoration:none;border-bottom:1px solid rgba(15,23,42,.18)}.site-header{position:fixed;width:100%;top:0;z-index:50;background:#f6f7fbc7;backdrop-filter:blur(12px);border-bottom:0;box-shadow:0 14px 40px #0f172a0f}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-top:12px;padding-bottom:12px}.brand{display:inline-flex;align-items:center;gap:10px;padding:4px 2px;border-radius:16px;text-decoration:none;font-weight:900;letter-spacing:-.02em;color:#000}.brand-mark{display:grid;place-items:center;width:52px;height:52px;line-height:0;flex:0 0 auto;color:var(--accent-strong)}.brand-mark :is(svg,img){overflow:visible;filter:drop-shadow(0 14px 30px rgba(15,23,42,.12));transition:filter .18s ease}.brand-logo{display:block;width:100%;height:100%;object-fit:contain}.brand:hover .brand-mark :is(svg,img){filter:drop-shadow(0 18px 36px rgba(15,23,42,.14))}.brand-text{display:inline-flex;flex-direction:column;align-items:flex-start;gap:0;font-size:clamp(15px,1.5vw,17px);line-height:1.1;white-space:nowrap}.brand-name-primary{font-weight:900;letter-spacing:-.01em;font-size:1.25em}.brand-name-secondary{font-weight:700;letter-spacing:.14em;color:inherit;font-size:.85em;margin-left:0;text-transform:uppercase}.site-nav{flex:1;display:flex;justify-content:center;min-width:0}.nav-details{position:relative;display:none}.nav-toggle{display:none;align-items:center;justify-content:center;list-style:none;cursor:pointer;user-select:none;width:44px;height:44px;padding:0;border-radius:999px;border:0;background:var(--panel);box-shadow:var(--elev-sm),var(--inset-edge);color:#0f172adb}.nav-toggle::-webkit-details-marker{display:none}.nav-toggle:after{content:none}.nav-toggle-icon{display:grid;gap:4px;width:18px}.nav-toggle-icon>span{display:block;width:18px;height:2px;border-radius:999px;background:#0f172ad1;transform-origin:center;transition:transform .18s ease,opacity .18s ease}.nav-details[open]>.nav-toggle{box-shadow:var(--inset-soft)}.nav-details[open]>.nav-toggle .nav-toggle-icon>span:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav-details[open]>.nav-toggle .nav-toggle-icon>span:nth-child(2){opacity:0}.nav-details[open]>.nav-toggle .nav-toggle-icon>span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav-list{list-style:none;padding:6px;margin:0;display:inline-flex;align-items:center;gap:6px;justify-content:center;border-radius:999px;background:var(--panel);box-shadow:var(--elev-sm),var(--inset-edge)}.nav-link{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;text-decoration:none;color:#0f172ac2;font-size:13px;font-weight:700;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.nav-link:hover{color:#0f172aeb;background:#0f172a0f;text-decoration:none}.nav-link[aria-current=page]{color:#0f172af0;background:#f36a2a29;box-shadow:inset 0 0 0 1px #f36a2a4d}@media(max-width:940px){.header-inner{position:relative}.site-nav{display:flex;justify-content:center}.nav-details{position:relative;display:inline-block}.nav-list--desktop{display:none}.nav-toggle{display:inline-flex;width:46px;height:46px}.lang-toggle{min-height:40px;padding:8px 10px;font-size:13px}.header-cta{min-height:44px;padding-top:10px;padding-bottom:10px}.nav-list--mobile{position:absolute;left:50%;top:calc(100% + 10px);transform:translate(-50%);background:var(--panel-strong);border:0;border-radius:var(--radius);padding:12px;width:min(240px,92vw);flex-direction:column;gap:6px;box-shadow:var(--elev-md),var(--inset-edge);z-index:55;max-height:min(520px,calc(100vh - 120px));overflow:auto}.nav-details:not([open])>.nav-list--mobile{display:none}.nav-link{display:block;padding:10px 12px;border-radius:14px}.nav-link:hover{background:#0f172a0a;text-decoration:none}}.header-actions{display:inline-flex;align-items:center;gap:10px}.header-cta-label--mobile{display:none}.lang-switch{position:relative;z-index:60}.lang-toggle{display:inline-flex;align-items:center;gap:8px;list-style:none;cursor:pointer;user-select:none;padding:8px 10px;border-radius:999px;border:0;background:var(--panel);box-shadow:var(--elev-sm),var(--inset-edge);font-weight:800;font-size:12px;color:#0f172adb;position:relative;isolation:isolate}.lang-toggle::-webkit-details-marker{display:none}.lang-toggle:after{content:"›";font-size:16px;line-height:1;opacity:.7;transform:rotate(90deg);transition:transform .18s ease}.lang-switch[open]>.lang-toggle{box-shadow:var(--inset-soft)}.lang-switch[open]>.lang-toggle:after{transform:rotate(-90deg)}.lang-list{position:absolute;left:50%;top:calc(100% + 8px);transform:translate(-50%);list-style:none;padding:10px;margin:0;background:var(--panel-strong);border:0;border-radius:var(--radius);width:max-content;max-width:min(240px,82vw);display:grid;gap:4px;box-shadow:var(--elev-md),var(--inset-edge);z-index:1}.lang-switch:not([open])>.lang-list{display:none}.lang-link{display:block;padding:8px 10px;border-radius:14px;text-decoration:none;color:#0f172ac7}.lang-link:hover{background:#0f172a0a}@media(max-width:520px){.header-actions{gap:10px}.nav-toggle{width:48px;height:48px}.nav-toggle-icon{width:20px}.nav-toggle-icon>span{width:20px;height:2.5px}.lang-toggle{min-height:40px;padding:8px 10px;font-size:12px}.header-cta{display:inline-flex;min-height:46px;padding:10px 14px;font-size:13px;line-height:1.1}.header-cta-label--desktop{display:none}.header-cta-label--mobile{display:inline}}@media(max-width:420px){.brand-text{flex-direction:column;align-items:flex-start;gap:2px;white-space:normal}}@media(max-width:360px){.header-inner{gap:10px}.nav-toggle{width:46px;height:46px}.lang-toggle{min-height:38px;padding:7px 9px;font-size:12px}.header-cta{min-height:44px;padding:9px 11px;font-size:12px}}.hero{margin-top:var(--space-4)}@media(max-width:940px){.hero{margin-top:0}}.hero-surface{position:relative;overflow:hidden;box-shadow:var(--elev-lg),var(--inset-edge);background:linear-gradient(180deg,#fffffff2,#ffffffd6)}.hero-grid-lines{position:absolute;inset:-2px;pointer-events:none;opacity:1;background:radial-gradient(520px 360px at 16% 28%,rgba(243,106,42,.22),transparent 60%),radial-gradient(640px 420px at 78% 22%,rgba(37,99,235,.16),transparent 60%),radial-gradient(520px 420px at 58% 84%,rgba(243,106,42,.12),transparent 62%);mask-image:radial-gradient(circle at 24% 22%,black 40%,transparent 78%)}.hero-grid-lines:before,.hero-grid-lines:after{content:none}.hero-inner{padding:clamp(18px,3vw,32px);position:relative}.hero-content{max-width:78ch}.hero-heading{position:relative}.hero--with-media .hero-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(12px,2.6vw,28px)}.hero--home.hero--with-media .hero-inner{grid-template-columns:minmax(0,1.2fr) 1fr;gap:clamp(8px,1.5vw,16px)}.hero--home .hero-media{width:100%;max-width:25vw;margin-inline:auto}.hero--with-media:not(.hero--home) .hero-inner{grid-template-columns:1fr;padding-top:clamp(16px,2vw,24px);padding-bottom:clamp(16px,2vw,24px)}.hero--with-media:not(.hero--home) .hero-media{display:none}@media(max-width:940px){.hero--with-media .hero-inner,.hero--home.hero--with-media .hero-inner{grid-template-columns:1fr}.hero--with-media:not(.hero--media-mobile) .hero-media{display:none}.hero-media{width:min(520px,100%);justify-self:center;aspect-ratio:16 / 11;margin-top:var(--space-3)}.hero-media-frame{inset:5%}.hero--home .hero-content{width:100%;max-width:none}.hero--home .hero-heading{min-height:clamp(94px,13vw,126px)}.hero--home .hero-title-topline{display:grid;grid-template-columns:1fr;align-items:start;row-gap:8px;padding-right:clamp(126px,24vw,190px)}.hero--home .hero-title-matrix{width:fit-content;max-width:100%;height:auto;grid-template-columns:repeat(2,max-content);grid-template-rows:repeat(2,auto);column-gap:10px;row-gap:6px;align-items:start;align-content:start;justify-items:center;line-height:1.15}.hero--home .hero-title-matrix>span{width:100%;min-width:clamp(78px,11vw,108px);justify-content:center;text-align:center}.hero--home .hero-media{position:absolute;top:16px;right:16px;width:clamp(116px,20vw,184px);max-width:none;margin:0;aspect-ratio:auto;justify-self:auto;z-index:2}.hero--home .hero-media-frame{inset:0;border:0;background:transparent;box-shadow:none}.hero--home .hero-media-frame>*{display:block;width:100%;height:auto}}.hero--home .hero-surface{background:radial-gradient(1200px 600px at 18% 24%,rgba(243,106,42,.16),transparent 55%),radial-gradient(1200px 600px at 92% 30%,rgba(37,99,235,.12),transparent 60%),linear-gradient(180deg,#fffffff0,#ffffffc7)}.hero--home .hero-grid-lines{opacity:.7;mask-image:radial-gradient(circle at 34% 28%,black 54%,transparent 90%)}.hero-illustration{width:100%;height:auto;overflow:visible}.hero--home .hero-illustration{animation:heroEnter .76s cubic-bezier(.16,1,.3,1) both;will-change:transform,opacity}.hero--home .hero-illustration :is(.illu-platform,.illu-building,.illu-windows,.illu-roof-unit,.illu-network,.illu-sensors){transform-box:fill-box;transform-origin:center}.hero--home .hero-illustration .illu-platform{animation:heroAssemble .9s cubic-bezier(.16,1,.3,1) both;animation-delay:.12s;will-change:transform,opacity}.hero--home .hero-illustration .illu-building{animation:heroAssemble .94s cubic-bezier(.16,1,.3,1) both;animation-delay:.26s;will-change:transform,opacity}.hero--home .hero-illustration :is(.illu-edge,.illu-platform-outline){animation:heroTrace 1.12s cubic-bezier(.16,1,.3,1) both;animation-delay:.52s;will-change:stroke-dashoffset,opacity}.hero--home .hero-illustration .illu-windows{animation:heroFadeLift .72s cubic-bezier(.16,1,.3,1) both;animation-delay:.72s;will-change:transform,opacity}.hero--home .hero-illustration .illu-roof-unit{animation:heroFadeLift .72s cubic-bezier(.16,1,.3,1) both;animation-delay:.88s;will-change:transform,opacity}.hero--home .hero-illustration .illu-network{transform-box:fill-box;transform-origin:center;animation:heroFadeLift .82s cubic-bezier(.16,1,.3,1) both;animation-delay:.98s;will-change:transform,opacity}.hero--home .hero-illustration .illu-sensors{animation:heroFadeLift .76s cubic-bezier(.16,1,.3,1) both;animation-delay:1.38s;will-change:transform,opacity}.hero-illustration .illu-float{transform-origin:center}.hero--home .hero-illustration .illu-float{animation:heroFloat 13s ease-in-out infinite;animation-delay:1.95s;will-change:transform}.hero-illustration .illu-shadow{opacity:.7}.hero-illustration .illu-shadow--main{opacity:.78}.hero-illustration .illu-shadow--soft{opacity:.46}.hero-illustration .illu-shadow--contact{opacity:.56}.hero-illustration .illu-cast-shadow-shape--main{opacity:.82}.hero-illustration .illu-cast-shadow-shape--soft{opacity:.45}.hero-illustration .illu-platform-top{fill:#f1f5ff;stroke:#2563eb1a;stroke-width:1;vector-effect:non-scaling-stroke}.hero-illustration .illu-platform-face{fill:#e4edfb}.hero-illustration .illu-platform-face--left{fill:#dde7f8}.hero-illustration .illu-platform-outline{fill:none;stroke:#2563eb1f;stroke-width:1;vector-effect:non-scaling-stroke}.hero-illustration .illu-edge{fill:none;stroke:#2563eb2e;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.hero-illustration .illu-window{stroke:#2563eb1f;stroke-width:.8;vector-effect:non-scaling-stroke}.hero-illustration .illu-occlusion{fill:#0f172a0f}.hero-illustration .illu-occlusion--right{fill:#0f172a12}.hero-illustration .illu-hvac-line{stroke:#2563eb2e;stroke-width:1;vector-effect:non-scaling-stroke;opacity:.75}.hero-illustration .illu-fan-opening{fill:#ffffffbf;stroke:#2563eb2e;stroke-width:1;vector-effect:non-scaling-stroke}.hero-illustration .illu-fan-guard{fill:none;stroke:#2563eb2e;stroke-width:1;stroke-dasharray:2 7;vector-effect:non-scaling-stroke;opacity:.65}.hero-illustration .illu-fan-ring{fill:#ffffff8c;stroke:#2563eb2e;stroke-width:1.2;vector-effect:non-scaling-stroke}.hero-illustration .illu-fan-hub{fill:#2563eb33}.hero-illustration .illu-fan-cross line{stroke:#2563eb29;stroke-width:1.2;vector-effect:non-scaling-stroke;stroke-linecap:round;opacity:.8}.hero--home .hero-illustration .illu-wire{stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:11 16;animation:heroFlow 15s linear infinite;animation-delay:1.75s;opacity:.85}.hero--home .hero-illustration .illu-wire--a{stroke:#f36a2ac7}.hero--home .hero-illustration .illu-wire--b{stroke:#2563ebb8}.hero--home .hero-illustration .illu-wire--c{stroke:#f36a2a8c}.hero--home .hero-illustration .illu-wire--d{stroke:#2563eb8c}.hero--home .hero-illustration .illu-packet{stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:2 44;animation:heroPacket 6.2s linear infinite;animation-delay:1.95s;opacity:.9}.hero--home .hero-illustration .illu-packet--a,.hero--home .hero-illustration .illu-packet--c{stroke:#f36a2ab8}.hero--home .hero-illustration .illu-packet--b,.hero--home .hero-illustration .illu-packet--d{stroke:#2563ebb8}.hero--home .hero-illustration .illu-packet--b{animation-delay:2.85s}.hero--home .hero-illustration .illu-packet--c{animation-delay:3.55s;animation-duration:6.8s}.hero--home .hero-illustration .illu-packet--d{animation-delay:4.05s;animation-duration:6.6s}.hero--home .hero-illustration .illu-node{--node-in: 1.34s;--node-pulse: 2.1s;transform-box:fill-box;transform-origin:center;will-change:transform,opacity;animation:heroPopIn .62s cubic-bezier(.16,1,.3,1) both,heroPulse 4s ease-in-out infinite;animation-delay:var(--node-in),var(--node-pulse)}.hero--home .hero-illustration .illu-node-ring{animation:heroChargeRing .9s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--node-in) + .16s)}.hero-illustration .illu-node-ring{fill:#ffffffeb;stroke-width:3;vector-effect:non-scaling-stroke}.hero-illustration .illu-node-core{opacity:.95}.hero--home .hero-illustration .illu-node--a .illu-node-ring{stroke:#f36a2aeb}.hero--home .hero-illustration .illu-node--a .illu-node-core{fill:#f36a2aeb}.hero--home .hero-illustration .illu-node--b .illu-node-ring{stroke:#2563ebeb}.hero--home .hero-illustration .illu-node--b .illu-node-core{fill:#2563ebeb}.hero--home .hero-illustration .illu-node--b{--node-in: 1.46s;--node-pulse: 2.22s}.hero--home .hero-illustration .illu-node--c .illu-node-ring{stroke:#f36a2aeb}.hero--home .hero-illustration .illu-node--c .illu-node-core{fill:#f36a2aeb}.hero--home .hero-illustration .illu-node--c{--node-in: 1.58s;--node-pulse: 2.34s}.hero--home .hero-illustration .illu-node--d .illu-node-ring{stroke:#2563ebeb}.hero--home .hero-illustration .illu-node--d .illu-node-core{fill:#2563ebeb}.hero--home .hero-illustration .illu-node--d{--node-in: 1.74s;--node-pulse: 2.5s}.hero--home .hero-illustration .illu-node--a{--node-in: 1.34s;--node-pulse: 2.1s}.hero--home .hero-illustration :is(.illu-port,.illu-port-core){transform-box:fill-box;transform-origin:center;will-change:transform,opacity}.hero--home .hero-illustration .illu-port{animation:heroPopIn .62s cubic-bezier(.16,1,.3,1) both,heroChargeRing .9s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--port-in),calc(var(--port-in) + .14s)}.hero--home .hero-illustration .illu-port-core{animation:heroPopIn .62s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--port-in) + .08s)}.hero--home .hero-illustration :is(.illu-port--a,.illu-port-core--a){--port-in: 1.42s}.hero--home .hero-illustration :is(.illu-port--b,.illu-port-core--b){--port-in: 1.54s}.hero--home .hero-illustration :is(.illu-port--c,.illu-port-core--c){--port-in: 1.62s}.hero--home .hero-illustration :is(.illu-port--d,.illu-port-core--d){--port-in: 1.74s}.hero-illustration .illu-port{fill:#ffffffeb;stroke-width:2.2;vector-effect:non-scaling-stroke}.hero-illustration .illu-port-core{opacity:.92}.hero-illustration .illu-port--a,.hero-illustration .illu-port--c{stroke:#f36a2ac7}.hero-illustration .illu-port--b,.hero-illustration .illu-port--d{stroke:#2563ebc2}.hero-illustration .illu-port-core--a,.hero-illustration .illu-port-core--c{fill:#f36a2aeb}.hero-illustration .illu-port-core--b,.hero-illustration .illu-port-core--d{fill:#2563ebeb}.hero-illustration .illu-dot{fill:#2563eb38}.hero-illustration .illu-dot--a,.hero-illustration .illu-dot--e{fill:#f36a2a38}.hero--home .hero-illustration .illu-dot{animation:heroDot 9s ease-in-out infinite;animation-delay:2.45s;transform-box:fill-box;transform-origin:center}.hero--home .hero-illustration .illu-dot--b{animation-delay:3.25s;animation-duration:10.2s}.hero--home .hero-illustration .illu-dot--c{animation-delay:3.85s;animation-duration:9.8s}.hero--home .hero-illustration .illu-dot--f{animation-delay:4.55s;animation-duration:10.6s}.hero-illustration .illu-snowflake,.hero-illustration .illu-snowflake-drift{transform-box:fill-box;transform-origin:center}.hero-illustration .illu-snowflake line{stroke:#2563eb94;stroke-width:1.15;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;opacity:.8}.hero-illustration .illu-snowflake-arm line:nth-child(n+4){opacity:.45}.hero--home .hero-illustration .illu-snowflake-drift{animation:heroSnowflakeDrift 6.8s linear infinite;animation-delay:2.2s;animation-fill-mode:both;will-change:transform,opacity,filter}.hero-illustration .illu-sun{transform-box:fill-box;transform-origin:center}.hero-illustration .illu-sun-ring,.hero-illustration .illu-sun-rays line,.hero-illustration .illu-sun-core{vector-effect:non-scaling-stroke;stroke-linecap:round}.hero-illustration .illu-sun-rays line{stroke:#f36a2a4d;stroke-width:1.35;opacity:.9}.hero-illustration .illu-sun-ring{fill:none;stroke:#f36a2a38;stroke-width:1.45;stroke-dasharray:2 8;opacity:.25}.hero-illustration .illu-sun-core{stroke:#f36a2a4d;stroke-width:1.25}.hero-illustration .illu-sun-glow{opacity:.9}.hero--home .hero-illustration .illu-sun--a{animation:heroFadeLift .76s cubic-bezier(.16,1,.3,1) both,heroPulse 6.6s ease-in-out infinite;animation-delay:1.18s,2.2s;will-change:transform,opacity}.hero--home .hero-illustration .illu-sun-ring{animation:heroRing 22s linear infinite;animation-delay:2.35s;opacity:.2}.hero--home .hero-illustration .illu-sensor-ring{stroke-width:2;vector-effect:non-scaling-stroke;stroke-dasharray:2 14;opacity:.2;animation:heroRing 18s linear infinite;animation-delay:2.35s;transform-box:fill-box;transform-origin:center}.hero--home .hero-illustration .illu-sensor-ring--a{stroke:#f36a2a80}.hero--home .hero-illustration .illu-sensor-ring--b{stroke:#2563eb75;animation-duration:22s}.hero--home .hero-illustration .illu-sheen{fill:#ffffff8c;opacity:0;animation:heroSheen 9s ease-in-out infinite;animation-delay:3.1s;transform-box:fill-box;transform-origin:center}@keyframes heroAssemble{0%{opacity:0;transform:translate3d(0,18px,0) scale(.94)}60%{opacity:1;transform:translate3d(0,-4px,0) scale(1.02)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes heroFadeLift{0%{opacity:0;transform:translate3d(0,10px,0) scale(.985)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes heroPopIn{0%{opacity:0;transform:scale(.22)}70%{opacity:1;transform:scale(1.14)}to{opacity:1;transform:scale(1)}}@keyframes heroTrace{0%{opacity:0;stroke-dasharray:1400;stroke-dashoffset:1400}to{opacity:1;stroke-dasharray:1400;stroke-dashoffset:0}}@keyframes heroChargeRing{0%{stroke-opacity:0;stroke-dasharray:100;stroke-dashoffset:100}to{stroke-opacity:1;stroke-dasharray:100;stroke-dashoffset:0}}@keyframes heroFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes heroGlow{0%,to{transform:translate3d(-2%,2%,0) scale(1);opacity:.78}50%{transform:translate3d(3%,-2%,0) scale(1.05);opacity:.92}}@keyframes heroEnter{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes heroPacket{to{stroke-dashoffset:-260}}@keyframes heroFlow{to{stroke-dashoffset:-240}}@keyframes heroDot{0%,to{transform:scale(1);opacity:.55}50%{transform:scale(1.35);opacity:.92}}@keyframes heroSnowflakeDrift{0%{opacity:0;filter:blur(0px);transform:translateZ(0) scale(.62) rotate(-14deg)}10%{opacity:.85;filter:blur(0px);transform:translate3d(-6px,-6px,0) scale(.94) rotate(0)}55%{opacity:.45}82%{opacity:.12}to{opacity:0;filter:blur(.9px);transform:translate3d(-62px,-62px,0) scale(.56) rotate(16deg)}}@keyframes heroTwinkle{0%,to{transform:scale(1);opacity:.35}50%{transform:scale(1.22);opacity:.75}}@keyframes heroPulse{0%,to{transform:scale(1);opacity:1}55%{transform:scale(1.12);opacity:.85}}@keyframes heroRing{0%{stroke-dashoffset:0;opacity:.18}45%{opacity:.32}to{stroke-dashoffset:-220;opacity:.18}}@keyframes heroSheen{0%,65%{opacity:0;transform:translate(-12px) translateY(0)}78%{opacity:.22}to{opacity:0;transform:translate(18px) translateY(-8px)}}.hero-kicker{margin:0 0 var(--space-2);display:inline-flex;align-items:center;gap:10px;padding:7px 10px;border-radius:999px;background:var(--panel);border:0;box-shadow:var(--inset-edge);color:#0f172aad;font-size:12px;width:fit-content}.hero-title{margin:0;font-size:clamp(28px,3.6vw,44px);line-height:1.08;letter-spacing:-.03em;text-wrap:balance}.hero-title-structured{display:inline-flex;flex-direction:column;gap:10px}.hero-title-topline{display:inline-flex;align-items:center;gap:14px;line-height:1.08;flex-wrap:wrap}.hero-title-brand{white-space:nowrap}.hero-title-matrix{display:inline-grid;grid-template-columns:auto auto;grid-template-rows:repeat(2,1fr);column-gap:12px;row-gap:2px;align-items:center;align-content:center;height:1.08em;line-height:1;letter-spacing:-.01em;color:#0f172a9e}.hero-title-matrix>span{display:inline-flex;align-items:center;justify-content:center;text-align:center;width:100%;white-space:nowrap;font-weight:650;font-size:clamp(11px,.32em,13px)}.hero-title-rest{margin-top:2px;font-size:.92em;letter-spacing:-.02em;color:#0f172aeb}@media(max-width:520px){.hero-title-structured{gap:8px}.hero-title-rest{font-size:.96em}.hero-title-topline{gap:12px}}.hero-intro{margin:var(--space-3) 0 0;color:#0f172ab3;max-width:80ch}.hero-ctas{margin-top:var(--space-4);display:flex;flex-wrap:wrap;gap:1rem}.hero-ctas a{flex:0 0 auto;text-align:center;justify-content:center}@media(max-width:620px){.hero--home.hero--with-media .hero-inner{padding-right:16px}.hero--home .hero-content{width:100%;max-width:none}.hero--home .hero-heading{min-height:clamp(86px,26vw,110px)}.hero--home .hero-title-structured{display:flex;width:100%;align-items:stretch}.hero--home .hero-media{position:absolute;top:16px;right:16px;width:clamp(104px,31vw,144px);max-width:none;margin:0;z-index:2}.hero--home .hero-media-frame{inset:0;border:0;background:transparent;box-shadow:none}.hero--home .hero-media-frame>*{display:block;width:100%;height:auto}.hero--home .hero-title{font-size:clamp(28px,8vw,38px);line-height:1.06;text-wrap:wrap}.hero--home .hero-title-topline{display:grid;grid-template-columns:1fr;align-items:start;row-gap:8px;padding-right:clamp(112px,34vw,148px)}.hero--home .hero-title-matrix{width:fit-content;max-width:100%;height:auto;grid-template-columns:repeat(2,max-content);grid-template-rows:repeat(2,auto);column-gap:10px;row-gap:6px;align-items:start;align-content:start;justify-items:center;line-height:1.15}.hero--home .hero-title-matrix>span{width:100%;min-width:clamp(78px,22vw,102px);justify-content:center;font-size:clamp(12px,3.6vw,14px);line-height:1.15;text-align:center}.hero--home .hero-title-rest{display:block;width:100%;max-width:none;font-size:clamp(.58em,3.9vw,.68em);line-height:1.18;letter-spacing:-.015em;text-wrap:wrap}.hero--home .hero-intro{margin-top:12px;width:100%;max-width:none;line-height:1.45}.hero--home .hero-ctas{margin-top:var(--space-3);gap:10px}.hero-ctas a{flex:1 1 100%}.hero:not(.hero--home) .hero-ctas{margin-top:var(--space-3);gap:12px}.hero:not(.hero--home) .hero-ctas a{flex:0 0 auto;max-width:100%}.hero:not(.hero--home) .hero-inner{padding:16px}.hero:not(.hero--home) .hero-title{font-size:clamp(24px,8vw,32px);line-height:1.12}.hero:not(.hero--home) .hero-intro{margin-top:12px;font-size:1.05rem;line-height:1.45;max-width:42ch}}.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.contact-intro{margin:0 0 var(--space-3)}@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}.contact-card{display:grid;grid-template-columns:22px 1fr;gap:12px;padding:14px;border-radius:var(--radius);background:var(--panel);border:0;box-shadow:var(--inset-soft)}.contact-icon{color:var(--accent);margin-top:2px}.contact-label{color:#0f172a8f;font-size:12px;margin-bottom:6px}.contact-link{text-decoration:none;font-weight:700}.contact-link:hover{text-decoration:underline;text-decoration-color:#f36a2ad9}.contact-address{font-style:normal;color:#0f172abd;font-size:13px;line-height:1.45}.contact-map{display:inline-block;margin-top:10px;font-weight:700;font-size:12px;text-decoration:none;color:#0f172ac2;border-bottom:1px solid rgba(15,23,42,.16)}.contact-map:hover{border-bottom-color:#f36a2aa6}.contact-form{margin-top:var(--space-5);padding-top:0;border-top:0}.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.field{display:grid;gap:6px}.field--full{grid-column:1 / -1}.field--hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.field-label{color:#0f172aad;font-size:12px;font-weight:650}.field-error{margin:0;min-height:1.2em;font-size:12px;color:#b91c1ce0}input,textarea{width:100%;padding:10px 12px;border-radius:var(--radius-sm);border:0;background:#ffffffb3;color:#0f172aeb;box-shadow:var(--inset-soft)}input:focus,textarea:focus{outline:2px solid rgba(243,106,42,.45);outline-offset:2px;box-shadow:var(--inset-soft),0 0 0 3px #f36a2a1f}textarea{resize:vertical}input[aria-invalid=true],textarea[aria-invalid=true]{outline:2px solid rgba(220,38,38,.42);outline-offset:2px;box-shadow:var(--inset-soft),0 0 0 3px #dc26261f}.form-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:12px;margin-top:6px}.form-actions>.btn[type=submit]{min-width:172px}@media(max-width:620px){.form{grid-template-columns:1fr}}.form-note{margin:0 0 0 auto;font-size:12px;color:#0f172a99;text-align:right;white-space:nowrap}.file-drop{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border-radius:var(--radius-sm);background:#ffffff8c;box-shadow:var(--inset-soft);border:1px dashed rgba(15,23,42,.18);cursor:pointer}.file-drop.is-dragging{border-color:#f36a2a99;background:#f36a2a14}.file-drop-text{display:grid;gap:2px;min-width:0}.file-drop-title{font-weight:750;color:#0f172adb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-drop-sub{font-size:12px;color:#0f172a9e}.file-drop-desktop{display:inline}.file-drop-mobile{display:none}.file-drop-btn{flex:0 0 auto}.file-input{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.file-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;font-size:12px;color:#0f172a9e}.file-list{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:10px}.file-item{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);background:#ffffff8c;box-shadow:var(--inset-soft)}.file-name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:650;color:#0f172ad1}.file-size{font-variant-numeric:tabular-nums;color:#0f172a9e;font-size:12px}.file-remove{appearance:none;border:0;background:#0f172a0f;color:#0f172ad1;border-radius:999px;padding:8px 10px;font:inherit;font-size:12px;font-weight:750;cursor:pointer;transition:background .16s ease,transform .16s ease}.file-remove:hover{background:#0f172a1a;transform:translateY(-1px)}@media(max-width:620px){.file-drop{flex-direction:column;align-items:stretch}.file-drop-desktop{display:none}.file-drop-mobile{display:inline}.file-item{grid-template-columns:1fr auto;grid-template-areas:"name remove" "size remove"}.file-name{grid-area:name}.file-size{grid-area:size}.file-remove{grid-area:remove;align-self:center}}.form-status{padding:12px 14px;border-radius:var(--radius-sm);box-shadow:var(--inset-soft);display:grid;gap:6px;color:#0f172ad1}.form-status--hidden{display:none}.form-status--loading{background:#2563eb1f}.form-status--success{background:#22c55e1f}.form-status--error{background:#ef44441f}.faq-surface{padding:clamp(14px,1.9vw,22px);background:linear-gradient(180deg,#ffffffd1,#eff3fad1);border:1px solid rgba(15,23,42,.08);box-shadow:0 16px 36px #0f172a0f,inset 0 1px #ffffffbf}.faq{display:grid;gap:12px}.faq-item{border-radius:calc(var(--radius) - 4px);background:#ffffffdb;border:1px solid rgba(15,23,42,.08);box-shadow:0 6px 14px #0f172a0d;padding:0;overflow:clip;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.faq-item[open]{background:#ffffffed;border-color:#f36a2a42;box-shadow:0 12px 24px #0f172a14,inset 0 0 0 1px #f36a2a1f}.faq-q{cursor:pointer;user-select:none;font-weight:780;color:#0f172ae6;display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;line-height:1.26;padding:16px 20px}.faq-q:hover{background:#0f172a06}.faq-q::-webkit-details-marker{display:none}.faq-q:after{content:"›";font-size:16px;line-height:1;color:#0f172a7a;transform:rotate(90deg);transition:transform .18s ease,color .18s ease}.faq-item[open]>.faq-q:after{transform:rotate(-90deg);color:#f36a2af2}.faq-a{margin:0;padding:0 20px 16px;color:#0f172ac2;font-size:14px;border-top:1px solid rgba(15,23,42,.08)}.faq-a p{margin:12px 0 0}@media(max-width:620px){.faq-surface{padding:12px}.faq{gap:10px}.faq-item{border-radius:20px}.faq-q{padding:14px 16px;font-size:1.05rem}.faq-a{padding:0 16px 14px;font-size:13px}}.article{padding:var(--space-4);box-shadow:var(--elev-md),var(--inset-edge)}.article-meta{display:flex;gap:12px;color:#0f172a99;font-size:12px}.site-footer{margin-top:var(--space-6);border-top:1px solid rgba(15,23,42,.1);padding-top:var(--space-5);padding-bottom:max(var(--space-5),env(safe-area-inset-bottom));background:linear-gradient(180deg,#ffffffa6,#ffffff59)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--space-4)}@media(max-width:980px){.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.footer-grid{grid-template-columns:1fr}}.footer-title{font-weight:900;letter-spacing:.02em}.footer-heading{font-weight:850;font-size:13px;margin-bottom:10px;color:#0f172adb}.footer-links,.footer-addresses{list-style:none;padding:0;margin:0;display:grid;gap:8px}.footer-col--inline{margin-top:14px}.footer-muted{margin:8px 0 0;color:#0f172a8f;font-size:12px}.footer-bottom{padding-top:var(--space-4);text-align:center}.footer-bottom .footer-muted{margin-top:0}.footer-legal{margin:0}
