.plot2d-page{--ld-bg:var(--bg);--ld-panel:var(--bg-elevated);--ld-panel-2:#181a1f;--ld-border:var(--line);--ld-text:var(--ink);--ld-muted:var(--ink-muted);--ld-accent:var(--accent);--ld-accent-dim:var(--accent-soft);--ld-warn:var(--warm);--ld-line-wall:#f2f1ecd1;--ld-line-soft:#f2f1ec73;--ld-line-ray:#f2f1ec8c;--ld-line-grid:#f2f1ec14;--ld-font:var(--font-body);--ld-radius:2px;--ld-shadow:none;background:var(--ld-bg);min-height:100svh;color:var(--ld-text);font-family:var(--ld-font);line-height:1.45}.plot2d-page .appShell{grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:24px;width:min(100% - 2.5rem,1400px);min-height:calc(100svh - 4.5rem);margin:0 auto;padding:12px 0 40px;display:grid}@media (width<=960px){.plot2d-page .appShell{grid-template-columns:1fr}}.plot2d-page .controlPanel{background:linear-gradient(165deg, var(--ld-panel) 0%, var(--ld-panel-2) 100%);border:1px solid var(--ld-border);border-radius:var(--ld-radius);align-self:start;width:100%;min-width:0;max-width:100%;padding:22px 22px 26px}.plot2d-page .panelHeader h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ld-text);margin:0 0 8px;font-size:1.45rem;font-weight:700}.plot2d-page .lede{color:var(--ld-muted);overflow-wrap:anywhere;margin:0 0 18px;font-size:.88rem}.plot2d-page .group{border:1px solid var(--ld-border);border-radius:var(--ld-radius);background:#00000040;min-width:0;margin:0 0 14px;padding:14px 14px 16px}.plot2d-page .group legend{text-transform:uppercase;letter-spacing:.12em;color:var(--ld-muted);padding:0 8px;font-size:.72rem}.plot2d-page .grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;min-width:0;display:grid}.plot2d-page .field{flex-direction:column;gap:6px;min-width:0;display:flex}.plot2d-page .field label{color:var(--ld-muted);overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;font-size:.8rem}.plot2d-page .fieldRow{align-items:center;gap:8px;display:flex}.plot2d-page .fieldRow input[type=number]{border-radius:var(--ld-radius);border:1px solid var(--ld-border);min-width:0;color:var(--ld-text);font-size:.95rem;font-family:var(--ld-font);background:#0b0c0e;flex:1;padding:9px 10px}.plot2d-page .fieldRow input[type=number]:focus{outline:2px solid var(--ld-accent-dim);border-color:var(--ld-accent)}.plot2d-page .unit{color:var(--ld-muted);width:1.5rem;font-size:.78rem}.plot2d-page .lightsStack{flex-direction:column;gap:14px;min-width:0;display:flex}.plot2d-page .lightsField{flex-direction:column;gap:6px;min-width:0;display:flex}.plot2d-page .lightsLabel{color:var(--ld-muted);overflow-wrap:anywhere;font-size:.8rem}.plot2d-page .lightsRow{align-items:center;gap:10px;min-width:0;display:flex}.plot2d-page .lightsNumber{box-sizing:border-box;border-radius:var(--ld-radius);border:1px solid var(--ld-border);width:calc(5ch + 2.2rem);min-width:calc(5ch + 2.2rem);max-width:calc(5ch + 2.2rem);color:var(--ld-text);font-variant-numeric:tabular-nums;text-align:right;font-size:.9rem;font-family:var(--ld-font);background:#0b0c0e;flex:none;padding:8px 12px 8px 8px}.plot2d-page .lightsNumberSigned{width:calc(5ch + 2.55rem);min-width:calc(5ch + 2.55rem);max-width:calc(5ch + 2.55rem)}.plot2d-page .lightsNumber:focus{outline:2px solid var(--ld-accent-dim);border-color:var(--ld-accent)}.plot2d-page .lightsSlider{min-width:0;accent-color:var(--ld-accent);flex:1}.plot2d-page .sliderLabelRow{justify-content:space-between;align-items:baseline;gap:10px;min-width:0;margin-bottom:6px;display:flex}.plot2d-page .sliderLabelRow label,.plot2d-page .sliderSubLabel{overflow-wrap:anywhere;min-width:0}.plot2d-page .sliderSubLabel{color:var(--ld-muted);font-size:.8rem}.plot2d-page .fieldWithSlider{grid-column:1/-1;min-width:0}.plot2d-page .fieldWithSlider>label{color:var(--ld-muted);font-size:.8rem}.plot2d-page .sliderLabelRow output{font-variant-numeric:tabular-nums;color:var(--ld-accent);font-weight:600}.plot2d-page input[type=range]{width:100%;accent-color:var(--ld-accent)}.plot2d-page .hint{color:var(--ld-muted);margin:6px 0 0;font-size:.75rem}.plot2d-page .warn{border-radius:var(--ld-radius);color:var(--ld-warn);background:#d9c4a014;border:1px solid #d9c4a059;margin:12px 0 0;padding:10px 12px;font-size:.85rem}.plot2d-page .exportPdfWrap{border-top:1px solid var(--ld-border);margin-top:18px;padding-top:16px}.plot2d-page .exportPdfBtn{border-radius:var(--ld-radius);border:1px solid var(--ld-accent-dim);background:var(--ld-accent);color:#06201d;cursor:pointer;width:100%;font-size:.92rem;font-weight:600;font-family:var(--ld-font);padding:11px 14px}.plot2d-page .exportPdfBtn:hover:not(:disabled){background:#61e4d7}.plot2d-page .exportPdfBtn:disabled{opacity:.55;cursor:not-allowed}.plot2d-page .sketchArea{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-content:start;gap:18px;min-width:0;display:grid}.plot2d-page .sketchPanel{background:var(--ld-panel);border:1px solid var(--ld-border);border-radius:var(--ld-radius);min-width:0;padding:16px 16px 14px}.plot2d-page .sketchTitle{letter-spacing:-.01em;margin:0 0 4px;font-size:.95rem;font-weight:600}.plot2d-page .sketchCaption{color:var(--ld-muted);margin:0 0 12px;font-size:.78rem}.plot2d-page .sketchSvg{border-radius:var(--ld-radius);border:1px solid var(--ld-border);background:#0a0b0d;width:100%;height:auto;display:block}.plot2d-page .gridStroke{stroke:var(--ld-line-grid);stroke-width:1px}.plot2d-page .wallStroke{stroke:var(--ld-line-wall);stroke-width:1.35px}.plot2d-page .floorStroke,.plot2d-page .ceilingStroke{stroke:var(--ld-line-wall);stroke-width:1.2px}.plot2d-page .axisStroke{stroke:var(--ld-line-soft);stroke-width:.9px;stroke-dasharray:4 6}.plot2d-page .footprintStroke{stroke:var(--ld-line-ray);stroke-width:1px;stroke-dasharray:5 5}.plot2d-page .rayStroke{stroke:var(--ld-line-ray);stroke-width:1px;stroke-dasharray:4 4}.plot2d-page .lampStroke{stroke:var(--ld-line-wall);stroke-width:1.1px}.plot2d-page .dimStroke{stroke:var(--ld-line-soft);stroke-width:.9px}.plot2d-page .dimText{fill:var(--ld-muted);font-size:11px;font-family:var(--ld-font)}.plot2d-note{width:min(100% - 2.5rem,1400px);color:var(--ink-muted);margin:0 auto 1.5rem;font-size:.85rem}:root{--bg:#0b0c0e;--bg-elevated:#121418;--ink:#f2f1ec;--ink-muted:#a8a69c;--ink-faint:#6e6c64;--line:#f2f1ec1f;--accent:#3ad4c5;--accent-soft:#3ad4c524;--accent-deep:#1f8f84;--warm:#d9c4a0;--font-display:"Syne", "Arial Narrow", sans-serif;--font-body:"Manrope", "Helvetica Neue", sans-serif;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2.5rem;--space-5:4.5rem;--space-6:7rem;--max:72rem;--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--ink);background:var(--bg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1.05rem;line-height:1.6}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-weight:700;line-height:1.05}p{margin:0}.skip-link{background:var(--accent);color:var(--bg);z-index:100;padding:.75rem 1rem;position:absolute;top:0;left:-9999px}.skip-link:focus{top:1rem;left:1rem}.site-header{z-index:10;width:min(100% - 2.5rem, var(--max));justify-content:space-between;align-items:center;margin:0 auto;padding:1.4rem 0;display:flex;position:absolute;inset:0 0 auto}.header-tools{align-items:center;gap:1.25rem;display:flex}.lang-switch{font-family:var(--font-body);letter-spacing:.08em;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;display:inline-flex}.lang-btn{appearance:none;color:var(--ink-faint);cursor:pointer;transition:color .2s var(--ease);background:0 0;border:0;padding:.15rem .1rem}.lang-btn:hover,.lang-btn:focus-visible{color:var(--ink)}.lang-btn.is-active{color:var(--accent)}.lang-sep{color:var(--ink-faint);opacity:.6}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page{position:relative}.side-url{display:none}@media (width>=1100px){.side-url{z-index:12;transform-origin:50%;font-family:var(--font-body);letter-spacing:.18em;text-transform:lowercase;color:#f2f1ec61;pointer-events:none;white-space:nowrap;margin:0;font-size:.78rem;font-weight:600;display:block;position:fixed;top:50%;left:.85rem;transform:translateY(-50%)rotate(-90deg)}}.nav-brand{align-items:center;line-height:0;display:inline-flex}.nav-wordmark{width:clamp(5.5rem,12vw,6.75rem);height:auto}.site-nav{align-items:center;gap:1.75rem;display:flex}.site-nav a{color:var(--ink-muted);transition:color .25s var(--ease);font-size:.92rem;font-weight:500}.site-nav a:hover,.site-nav a:focus-visible{color:var(--ink)}.nav-cta{border-bottom:1px solid var(--accent);padding-bottom:.1rem;color:var(--ink)!important}.hero{isolation:isolate;align-items:end;min-height:100svh;display:grid;position:relative;overflow:hidden}.hero-visual{z-index:-1;background:radial-gradient(70% 55% at 78% 28%,#3ad4c538,#0000 58%),radial-gradient(45% 40% at 18% 72%,#d9c4a01f,#0000 60%),radial-gradient(90% 70% at 50% 100%,#121418f2,#0000 55%),linear-gradient(160deg,#090a0c 0%,#12151a 42%,#0b0c0e 100%);position:absolute;inset:0}.hero-visual:before{content:"";animation:light-wash 9s var(--ease) infinite alternate;pointer-events:none;background:linear-gradient(105deg,#0000 20%,#f2f1ec0b 45%,#3ad4c514 52%,#0000 70%);position:absolute;inset:-10% 35% 20% -5%;transform:skew(-18deg)}.hero-visual:after{content:"";opacity:.5;pointer-events:none;background-image:linear-gradient(#f2f1ec09 1px,#0000 1px),linear-gradient(90deg,#f2f1ec09 1px,#0000 1px);background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 70% at 60% 40%,#000,#0000 75%);mask-image:radial-gradient(80% 70% at 60% 40%,#000,#0000 75%)}.beam{opacity:.35;filter:blur(.4px);background:linear-gradient(#3ad4c58c,#0000);width:2px;height:55%;position:absolute;top:8%}.beam-a{left:62%;transform:rotate(14deg)}.beam-b{opacity:.22;height:48%;left:71%;transform:rotate(8deg)}.beam-c{opacity:.18;height:42%;left:54%;transform:rotate(20deg)}.hero-r{color:#f2f1ec14;opacity:.55;pointer-events:none;-webkit-user-select:none;user-select:none;width:min(42vw,28rem);height:auto;position:absolute;top:8%;right:-4%}@keyframes light-wash{0%{opacity:.7;transform:skew(-18deg)translate(-2%)}to{opacity:1;transform:skew(-14deg)translate(4%)}}.hero-content{width:min(100% - 2.5rem, var(--max));max-width:42rem;margin:0 auto;margin-left:max(1.25rem, calc((100% - var(--max)) / 2 + 1.25rem));justify-self:start;gap:1.25rem;margin-right:auto;padding:0 0 clamp(3.5rem,10vh,6.5rem);display:grid}.hero-brand{margin:0;line-height:0}.hero-wordmark{width:min(100%,34rem);max-width:92vw;height:auto}.hero-headline{font-family:var(--font-display);letter-spacing:-.02em;max-width:18ch;color:var(--ink);margin:0;font-size:clamp(1.45rem,3.2vw,2.2rem);font-weight:600;line-height:1.15}.hero-lede{color:var(--ink-muted);max-width:34ch;font-size:1.05rem}.cta-row{flex-wrap:wrap;gap:.9rem;margin-top:.6rem;display:flex}.pixeled-cta{margin-top:2rem}.btn{letter-spacing:.01em;min-height:2.85rem;transition:background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease), transform .25s var(--ease);border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;padding:.7rem 1.25rem;font-size:.95rem;font-weight:600;display:inline-flex}.btn:hover,.btn:focus-visible{transform:translateY(-1px)}.btn-primary{background:var(--accent);color:#06201d}.btn-primary:hover,.btn-primary:focus-visible{background:#61e4d7}.btn-ghost{border-color:var(--line);color:var(--ink);background:0 0}.btn-ghost:hover,.btn-ghost:focus-visible{background:#f2f1ec0a;border-color:#f2f1ec59}.section{width:min(100% - 2.5rem, var(--max));padding:var(--space-6) 0;margin:0 auto}.section-label{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;font-size:.78rem;font-weight:600;display:block}.section h2{max-width:16ch;margin-bottom:1.1rem;font-size:clamp(2rem,4.5vw,3.1rem)}.section-copy{color:var(--ink-muted);max-width:40rem;font-size:1.08rem}.about{border-top:1px solid var(--line)}.about-grid{gap:2.5rem;margin-top:2.5rem;display:grid}@media (width>=800px){.about-grid{grid-template-columns:1.2fr 1fr;align-items:start}}.about-points{gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.about-points li{border-top:1px solid var(--line);padding-top:1.25rem}.about-points strong{font-family:var(--font-display);margin-bottom:.35rem;font-size:1.15rem;font-weight:700;display:block}.about-points p{color:var(--ink-muted);font-size:.98rem}.pixeled{background:linear-gradient(180deg, transparent, #3ad4c50a 40%, transparent), var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.pixeled-inner{width:min(100% - 2.5rem, var(--max));padding:var(--space-6) 0;margin:0 auto}.offerings{gap:0;margin:2.75rem 0 0;padding:0;list-style:none;display:grid}.offerings li{border-top:1px solid var(--line);gap:.5rem;padding:1.5rem 0;display:grid}.offerings li:last-child{border-bottom:1px solid var(--line)}@media (width>=700px){.offerings li{grid-template-columns:12rem 1fr;align-items:baseline;gap:2rem}}.offerings h3{font-size:1.15rem;font-weight:700}.offerings p{color:var(--ink-muted)}.pixeled-note{color:var(--ink-faint);margin-top:2rem;font-size:.95rem}.inline-link,.pixeled-note a{color:var(--accent);border-bottom:1px solid var(--accent-deep);transition:color .2s var(--ease), border-color .2s var(--ease)}.pixeled-note a{color:var(--warm);border-bottom-color:#d9c4a073}.inline-link:hover,.inline-link:focus-visible,.pixeled-note a:hover,.pixeled-note a:focus-visible{color:var(--ink);border-color:var(--ink)}.contact{border-bottom:1px solid var(--line)}.contact-panel{gap:1.5rem;margin-top:2rem;display:grid}.contact-email{font-family:var(--font-display);color:var(--ink);border-bottom:1px solid var(--accent);width:fit-content;transition:color .2s var(--ease), border-color .2s var(--ease);padding-bottom:.15rem;font-size:clamp(1.6rem,4vw,2.6rem);font-weight:700}.contact-email:hover,.contact-email:focus-visible{color:var(--accent)}.contact-meta{color:var(--ink-muted);gap:.35rem;display:grid}.site-footer{width:min(100% - 2.5rem, var(--max));gap:1.5rem;margin:0 auto;padding:3rem 0 3.5rem;display:grid}.footer-brand{width:fit-content;line-height:0;display:inline-flex}.footer-wordmark{opacity:.92;width:7.5rem;height:auto}.legal{color:var(--ink-faint);gap:.25rem;max-width:36rem;font-size:.88rem;display:grid}.reveal{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transform:translateY(18px)}.reveal.is-visible{opacity:1;transform:none}.solution{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:radial-gradient(60% 50% at 70% 45%,#3ad4c514,#0000 65%),#0a0b0d;position:relative;overflow:hidden}.solution-inner{width:min(100% - 2.5rem, var(--max));gap:1.75rem;margin:0 auto;padding:clamp(3rem,8vh,5.5rem) 0;display:grid}.solution-main{align-items:center;gap:2.5rem;display:grid}@media (width>=900px){.solution-main{grid-template-columns:minmax(16rem,.9fr) 1.2fr;gap:3rem}}.solution-copy{z-index:2;gap:1.1rem;display:grid;position:relative}.solution-cta-row{z-index:2;flex-wrap:nowrap;justify-content:space-between;align-items:stretch;gap:.75rem;width:100%;display:flex;position:relative}.solution-cta-row .btn{text-align:center;white-space:nowrap;flex:1 1 0;min-width:0;padding-inline:.65rem;font-size:clamp(.72rem,1.35vw,.95rem)}.solution-r{opacity:.9;width:5.5rem;height:auto}.solution-headline{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);margin:0;font-size:clamp(2.4rem,6vw,4.2rem);font-weight:700;line-height:.98}.solution-stage{isolation:isolate;border-radius:2px;min-height:clamp(16rem,42vw,26rem);position:relative;overflow:hidden}.solution-stage-photo{opacity:.45;filter:grayscale(.35)contrast(1.05);background-position:50% 40%;background-size:cover;position:absolute;inset:0}.solution-stage-haze{z-index:1;background:linear-gradient(90deg,#0a0b0d 0%,#0000 28%),linear-gradient(#0000 40%,#0a0b0d 100%),radial-gradient(70% 60% at 55% 40%,#3ad4c51f,#0000 70%);position:absolute;inset:0}.stage-lightning-wrap{z-index:2;pointer-events:none;position:absolute;inset:0}.stage-lightning{filter:drop-shadow(0 0 6px #3ad4c51f);width:92%;height:auto;position:absolute;inset:8% 4% 12%}.lightning-run{fill:none;opacity:.55;stroke-dasharray:55 945;stroke-dashoffset:0}.run-outer{animation:7.2s linear infinite run-light-slow}.run-inner{opacity:.5;animation:4.1s linear infinite reverse run-light-fast}@keyframes run-light-slow{to{stroke-dashoffset:-1000px}}@keyframes run-light-fast{to{stroke-dashoffset:-1000px}}.stage-flash{opacity:0;mix-blend-mode:screen;background:radial-gradient(55% 50% at 55% 42%,#e8fffb8c,#0000 70%),radial-gradient(40% 35% at 60% 40%,#3ad4c559,#0000 65%);transition:opacity 50ms linear;position:absolute;inset:0}.lightning-bolt{fill:none;opacity:0;transition:opacity 40ms linear}.stage-lightning-wrap.is-striking .stage-flash{opacity:1;animation:.12s ease-out strike-bloom}.stage-lightning-wrap.is-striking .lightning-bolt{opacity:1}.stage-lightning-wrap.is-striking .bolt-outer{filter:drop-shadow(0 0 8px #e8fffbf2)}.stage-lightning-wrap.is-striking .bolt-inner{filter:drop-shadow(0 0 10px #3ad4c5f2)}.stage-lightning-wrap.is-echo .stage-flash{opacity:.75}.stage-lightning-wrap.is-echo .lightning-bolt{opacity:.85}@keyframes strike-bloom{0%{opacity:.2}35%{opacity:1}to{opacity:.55}}@media (width<=700px){.site-nav a:not(.nav-cta){display:none}.hero-content{width:calc(100% - 2.5rem);margin-left:1.25rem}.hero-wordmark{width:100%}.hero-r{opacity:.35;width:min(70vw,18rem);right:-12%}.cta-row{flex-direction:column;align-items:stretch}.btn{width:100%}.solution-cta-row{flex-wrap:wrap;justify-content:stretch}.solution-cta-row .btn{white-space:normal;flex:calc(50% - .4rem);width:auto}.solution-r{width:3.5rem}.solution-stage{min-height:14rem}}.tips-page{background:var(--bg);min-height:100svh}.tips-header{width:min(100% - 2.5rem, var(--max));justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:1.25rem 0;display:flex}.tips-back{width:auto;min-height:2.4rem;padding:.45rem .9rem}.tips-main{width:min(100% - 2.5rem,46rem);margin:0 auto;padding:1rem 0 4.5rem}.tips-title{margin-bottom:.85rem;font-size:clamp(1.8rem,4vw,2.6rem)}.tips-intro{margin-bottom:2.5rem}.tips-list{gap:2rem;margin:0;padding:0;list-style:none;display:grid}.tip-card{border-top:1px solid var(--line);padding-top:1.5rem}.tip-num{letter-spacing:.14em;color:var(--accent);margin-bottom:.5rem;font-size:.75rem;display:block}.tip-card h2{margin-bottom:.85rem;font-size:clamp(1.25rem,2.5vw,1.55rem)}.tip-diagram{border:1px solid var(--line);width:100%;height:auto;margin:0 0 1rem}.tip-label{letter-spacing:.1em;text-transform:uppercase;color:var(--warm);margin:.85rem 0 .35rem;font-size:.78rem;font-weight:600}.tip-card p{color:var(--ink-muted);margin:0}.tips-footer-cta{border-top:1px solid var(--line);justify-items:start;gap:1rem;margin-top:3rem;padding-top:1.5rem;display:grid}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-visual:before,.reveal,.run-outer,.run-inner,.stage-lightning-wrap.is-striking .stage-flash{transition:none;animation:none}.lightning-run{stroke-dasharray:none;opacity:.35}.lightning-bolt{opacity:.35}.stage-flash{opacity:0!important}.reveal{opacity:1;transform:none}.btn:hover,.btn:focus-visible{transform:none}}
