/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--ink:#11110f;--paper:#f2f0e9;--acid:#d7ff00;--line:#11110f33}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.wrap{width:min(1480px,100% - 72px);margin:auto}.nav{border-bottom:1px solid var(--line);letter-spacing:.08em;justify-content:space-between;align-items:center;height:104px;font-size:12px;font-weight:700;display:flex}.brand{align-items:center;gap:12px;line-height:1.05;display:flex}.brand small{letter-spacing:.18em;font-size:8px;font-weight:500}.brand-box{background:var(--ink);width:42px;height:42px;color:var(--acid);letter-spacing:-.05em;place-items:center;font-size:15px;display:grid}.nav-links{gap:42px;display:flex}.nav-links a:hover{opacity:.5}.nav-cta{border-bottom:1px solid;padding:9px 0}.nav-cta span{margin-left:18px}.hero{min-height:790px;padding:78px 0 36px;position:relative;overflow:hidden}.hero-kicker{letter-spacing:.18em;justify-content:space-between;font-size:10px;font-weight:700;display:flex}.hero h1{letter-spacing:-.075em;z-index:2;margin:78px 0 50px;font-size:clamp(70px,11.5vw,174px);font-weight:800;line-height:.79;position:relative}.hero h1 em,.contact h2 em{font-family:Georgia,serif;font-weight:400}.hero h1 em{color:#0000;-webkit-text-stroke:2px var(--ink)}.hero-bottom{z-index:2;justify-content:space-between;align-items:flex-end;display:flex;position:relative}.hero-bottom p{font-size:18px;font-weight:600;line-height:1.55}.circle-link{border:1px solid var(--ink);border-radius:50%;place-items:center;width:64px;height:64px;font-size:26px;transition:all .25s;display:grid}.circle-link:hover{background:var(--ink);color:var(--acid)}.signal{opacity:.2;align-items:center;gap:5px;display:flex;position:absolute;bottom:18px;right:0;transform:skew(-13deg)}.signal i{background:var(--ink);width:4px;display:block}.intro,.experience,.works{padding:120px 0}.eyebrow{border-top:1px solid var(--ink);letter-spacing:.16em;justify-content:space-between;margin-bottom:78px;padding-top:14px;font-size:11px;font-weight:700;display:flex}.intro-copy{grid-template-columns:1.15fr .85fr;align-items:start;gap:10%;display:grid}.intro-copy h2{letter-spacing:-.06em;margin:0;font-size:clamp(46px,6vw,86px);line-height:.95}.intro-copy h2 span{font-family:Georgia,serif;font-style:italic;font-weight:400}.intro-copy p{max-width:620px;margin:8px 0 24px;font-size:19px;line-height:1.7}.intro-copy .about-detail{color:#4b4b45;margin:0 0 34px;font-size:15px}.about-stack{margin-bottom:44px}.about-stack small{letter-spacing:.16em;color:#65655e;margin-bottom:12px;font-size:9px;font-weight:800;display:block}.about-stack>div{flex-wrap:wrap;gap:7px;display:flex}.about-stack span{border:1px solid var(--ink);letter-spacing:.04em;white-space:nowrap;background:#f8f7f2;border-radius:20px;align-items:center;min-height:31px;padding:7px 11px;font-size:9px;font-weight:800;display:inline-flex}.about-stack span:nth-child(-n+6){background:var(--acid)}.cap-list{grid-template-columns:1fr 1fr;display:grid}.cap-list span{border-top:1px solid var(--line);letter-spacing:.08em;padding:16px 0;font-size:11px;font-weight:700}.experience{padding-top:40px}.career-card{border:1px solid var(--ink);background:#f8f7f2;margin-bottom:70px}.career-head{background:var(--ink);color:var(--paper);grid-template-columns:1fr 1fr;gap:40px;padding:34px 38px;display:grid}.career-head span{color:var(--acid);letter-spacing:.16em;margin-bottom:16px;font-size:9px;font-weight:800;display:block}.career-head h2{letter-spacing:-.05em;margin:0;font-size:42px}.career-head>div:last-child{text-align:right;flex-direction:column;justify-content:space-between;align-items:flex-end;display:flex}.career-head strong{font-size:18px}.career-head time{letter-spacing:.12em;color:#c7c7bf;font-size:12px}.career-summary{border-bottom:1px solid var(--ink);grid-template-columns:180px 1fr;gap:40px;padding:32px 38px;display:grid}.career-summary>span{letter-spacing:.15em;padding-top:5px;font-size:9px;font-weight:800}.career-summary p{letter-spacing:-.015em;max-width:980px;margin:0;font-size:19px;line-height:1.75}.career-body{grid-template-columns:1fr 310px;gap:50px;padding:38px;display:grid}.career-body h3{letter-spacing:.06em;margin:0 0 22px;font-size:13px}.career-work ul{margin:0;padding:0;list-style:none}.career-work li{border-top:1px solid #cfcdc5;grid-template-columns:170px 1fr;gap:24px;padding:16px 0;display:grid}.career-work li b{font-size:14px}.career-work li span{color:#41413c;font-size:14px;line-height:1.7}.career-stack{border-left:1px solid #cfcdc5;padding-left:32px}.career-stack div{flex-wrap:wrap;gap:7px;display:flex}.career-stack span{background:var(--acid);border:1px solid var(--ink);letter-spacing:.04em;padding:8px 10px;font-size:9px;font-weight:800}.experience-subhead{letter-spacing:.15em;justify-content:space-between;margin-bottom:14px;font-size:9px;font-weight:800;display:flex}.experience-list{border-top:1px solid var(--ink)}.experience-list article{border-bottom:1px solid var(--ink);grid-template-columns:70px 1fr 2fr 1fr;align-items:center;gap:32px;min-height:150px;transition:background .2s,padding .2s;display:grid}.experience-list article:hover{background:var(--acid);padding:0 22px}.experience-list article>b{font-size:11px}.experience-list h3{letter-spacing:-.035em;margin:0;font-size:24px}.experience-list p{margin:0;font-size:14px;line-height:1.65}.experience-list span{text-align:right;letter-spacing:.12em;font-size:9px;font-weight:700}.works{padding-top:80px}.category-nav{flex-wrap:wrap;gap:8px;margin:-38px 0 82px;display:flex}.category-nav a{border:1px solid var(--ink);letter-spacing:.05em;border-radius:30px;padding:11px 15px;font-size:10px;font-weight:800;transition:all .2s}.category-nav a:hover{background:var(--ink);color:var(--acid)}.project-group{margin-bottom:110px;scroll-margin-top:25px}.group-intro{border-top:3px solid var(--ink);grid-template-columns:210px 1fr auto;align-items:start;gap:52px;padding:22px 0 28px;display:grid}.group-intro>span,.group-intro>b{letter-spacing:.13em;font-size:9px}.group-intro>b{background:var(--acid);padding:8px 10px}.group-intro h2{letter-spacing:-.045em;margin:-6px 0 8px;font-size:38px}.group-intro p{color:#4b4b45;max-width:680px;margin:0;font-size:15px;line-height:1.7}.work-grid{grid-template-columns:1fr;gap:18px;display:grid}.project{background:#f8f7f2;border:1px solid #c3c1b9;padding:30px 34px 24px;transition:border-color .2s,box-shadow .2s}.project:hover{border-color:var(--ink);box-shadow:6px 6px 0 var(--ink)}.project-head{letter-spacing:.14em;color:#65655e;border-bottom:1px solid #c3c1b9;justify-content:space-between;padding-bottom:17px;font-size:9px;font-weight:800;display:flex}.dash{color:#f3f2eb;background:#151715;height:390px;position:relative;overflow:hidden}.project-copy{grid-template-columns:minmax(280px,.8fr) 1.2fr;gap:64px;padding:30px 0;display:grid}.project-copy h3{letter-spacing:-.045em;margin:0 0 10px;font-size:38px;line-height:1.05}.project-copy h4{color:#55554f;margin:0;font-size:15px;font-weight:600}.project-copy p{color:#33332f;max-width:760px;margin:0;font-size:16px;line-height:1.75}.project-facts{border-top:1px solid var(--ink)}.project-facts>div{border-bottom:1px solid #b9b9b2;grid-template-columns:125px 1fr;gap:18px;padding:18px 0;display:grid}.project-facts>div:last-child{border-bottom:0}.project-facts small{letter-spacing:.16em;color:#686861;padding-top:4px;font-size:9px;font-weight:800}.project-facts strong{font-size:15px;line-height:1.65}.project-facts p{color:#3d3d38;margin:0;font-size:14px;line-height:1.8}.project-stack>div{flex-wrap:wrap;gap:6px;display:flex}.project-stack span{border:1px solid var(--ink);letter-spacing:.04em;background:var(--acid);padding:7px 10px;font-size:9px;font-weight:800}.project-tech-detail{border-top:1px solid var(--ink)}.project-tech-detail summary{cursor:pointer;letter-spacing:.04em;justify-content:space-between;align-items:center;min-height:64px;font-size:12px;font-weight:800;list-style:none;display:flex}.project-tech-detail summary::-webkit-details-marker{display:none}.project-tech-detail summary i{border:1px solid;border-radius:50%;place-items:center;width:34px;height:34px;font-size:20px;font-style:normal;font-weight:400;transition:transform .25s,background .25s;display:grid}.project-tech-detail summary:hover i{background:var(--ink);color:var(--acid)}.project-tech-detail[open] summary i{transform:rotate(45deg)}.project-tech-detail>div{background:var(--ink);color:var(--paper);padding:25px 28px;animation:.25s ease-out detail-in}.project-tech-detail>div small{color:var(--acid);letter-spacing:.15em;margin-bottom:15px;font-size:8px;display:block}.project-tech-detail ul{margin:0;padding-left:18px}.project-tech-detail li{color:#e1e1da;border-bottom:1px solid #3b3b37;padding:11px 0 11px 5px;font-size:14px;line-height:1.75}.project-tech-detail li:last-child{border-bottom:0}.ai-workflow{margin:20px 0 10px;scroll-margin-top:25px}.workflow-track-head{background:var(--ink);color:var(--paper);grid-template-columns:180px 1fr;align-items:start;gap:40px;margin-top:22px;padding:25px 30px;display:grid}.workflow-track-head>span{color:var(--acid);letter-spacing:.16em;padding-top:5px;font-size:9px;font-weight:800}.workflow-track-head h3{letter-spacing:-.03em;margin:0 0 6px;font-size:23px}.workflow-track-head p{color:#c7c7bf;margin:0;font-size:13px;line-height:1.6}.workflow-track-head.ui-track{background:var(--acid);color:var(--ink);margin-top:58px}.workflow-track-head.ui-track>span{color:var(--ink)}.workflow-track-head.ui-track p{color:#3d3d38}.workflow-steps{counter-reset:workflow;border-top:1px solid var(--ink);border-left:1px solid var(--ink);grid-template-columns:repeat(2,1fr);display:grid}.workflow-steps article{border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);background:#f8f7f2;min-height:340px;padding:30px}.workflow-steps article:last-child{grid-column:1/-1;min-height:auto}.workflow-steps article>span{letter-spacing:.15em;color:#676760;font-size:9px;font-weight:800;display:block}.workflow-steps h3{letter-spacing:-.035em;margin:24px 0 12px;font-size:27px}.workflow-steps p{color:#3d3d38;max-width:650px;margin:0 0 24px;font-size:14px;line-height:1.75}.workflow-steps code{background:var(--ink);color:var(--acid);margin:0 5px 6px 0;padding:7px 9px;font-family:monospace;font-size:10px;display:inline-block}.workflow-steps small{color:#55554f;border-top:1px solid #c3c1b9;margin-top:18px;padding-top:16px;font-size:12px;line-height:1.65;display:block}.ui-workflow article{background:#fff}.ui-workflow article:last-child{grid-column:auto;min-height:340px}.tags{align-items:center;gap:8px;display:flex}.tags span{letter-spacing:.08em;border:1px solid var(--line);border-radius:20px;padding:8px 10px;font-size:9px}.project-detail{border-top:1px solid var(--ink);margin-top:18px}.project-detail summary{cursor:pointer;letter-spacing:.08em;justify-content:space-between;align-items:center;min-height:58px;font-size:11px;font-weight:700;list-style:none;display:flex}.project-detail summary::-webkit-details-marker{display:none}.project-detail summary i{border:1px solid;border-radius:50%;place-items:center;width:34px;height:34px;font-size:20px;font-style:normal;font-weight:400;transition:transform .25s,background .25s;display:grid}.project-detail summary:hover i{background:var(--ink);color:var(--acid)}.project-detail[open] summary i{transform:rotate(45deg)}.detail-body{background:var(--ink);color:var(--paper);grid-template-columns:1fr 1.4fr;gap:28px;padding:28px;animation:.25s ease-out detail-in;display:grid}.detail-body small{color:var(--acid);letter-spacing:.16em;margin-bottom:12px;font-size:8px;display:block}.detail-body strong{font-size:14px;line-height:1.6}.detail-body p{color:#c7c7bf;margin:0;font-size:13px;line-height:1.7}.detail-stack{border-top:1px solid #3b3b37;grid-column:1/-1;padding-top:20px}.detail-stack span{letter-spacing:.08em;border:1px solid #5d5d56;border-radius:20px;margin:0 6px 6px 0;padding:7px 10px;font-size:9px;display:inline-block}@keyframes detail-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.dash-top{border-bottom:1px solid #444;align-items:center;gap:8px;height:48px;padding:0 20px;display:flex}.dash-top i{border:1px solid #777;border-radius:50%;width:7px;height:7px}.dash-top span{letter-spacing:.18em;color:var(--acid);margin-left:auto;font-size:8px}.farm-grid{background:#41433e;grid-template-columns:1fr 1fr;gap:1px;height:calc(100% - 48px);display:grid}.farm-grid>div{background:#1b1e1a;padding:26px}.metric small,.plant-readout small,.scope-side small,.stage-panel small{letter-spacing:.16em;color:#8d9389;font-size:9px;display:block}.metric b{letter-spacing:-.06em;margin:22px 0 5px;font-size:46px;display:block}.metric em{color:var(--acid);letter-spacing:.12em;font-size:8px;font-style:normal}.chart{position:relative;overflow:hidden}.chart:before{content:"";background-color:#0000;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:32px 32px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:24px}.chart-line{border-top:2px solid var(--acid);filter:drop-shadow(0 0 6px #d7ff0088);height:80px;position:absolute;top:48%;left:15%;right:8%;transform:skewY(-10deg)}.chart small{letter-spacing:.15em;font-size:8px;position:absolute;bottom:22px;left:26px}.controls{letter-spacing:.12em;grid-template-columns:1fr auto;align-content:center;gap:22px;font-size:10px;display:grid}.controls b{color:var(--acid)}.plant-dash{color:var(--ink);background:#e2ff64}.plant-mark{font-family:Georgia;font-size:35px;font-style:italic;position:absolute;top:24px;left:30px}.wave{border-top:3px solid;border-radius:50%;height:110px;position:absolute;left:-5%;right:-5%}.wave-one{top:42%;transform:rotate(-7deg)}.wave-two{opacity:.45;top:55%;transform:rotate(8deg)}.plant-readout{text-align:right;position:absolute;top:28px;right:34px}.plant-readout b{letter-spacing:-.07em;font-size:62px}.plant-readout span{font-size:18px}.axis{border-top:1px solid;justify-content:space-between;padding-top:8px;font-size:8px;display:flex;position:absolute;bottom:24px;left:32px;right:32px}.scope-dash{grid-template-columns:2.1fr .9fr;display:grid}.scope-frame{background:radial-gradient(circle at 35% 45%,#f1bb77 0 2%,#0000 3%),radial-gradient(circle at 63% 58%,#bc6d54 0 3%,#0000 4%),radial-gradient(circle,#d4a46f,#774d42 62%,#211b1a);margin:25px;position:relative;overflow:hidden}.cell{border:1px solid #ff08;border-radius:46% 54% 60% 40%;position:absolute}.c1{width:90px;height:70px;top:28%;left:18%}.c2{width:68px;height:58px;top:50%;left:57%}.c3{width:40px;height:55px;top:17%;left:72%}.focus{border:1px solid var(--acid);position:absolute;inset:30%}.focus:before,.focus:after{content:"";background:var(--acid);position:absolute}.focus:before{width:16px;height:1px;top:50%;left:-8px}.focus:after{width:1px;height:16px;top:-8px;left:50%}.scope-side{border-left:1px solid #555;padding:26px 18px}.scope-side b{color:var(--acid);margin:28px 0 8px;font-size:32px;display:block}.scope-side span{color:#aaa;font-size:9px}.scope-side i{background:repeating-linear-gradient(90deg,var(--acid) 0 2px,transparent 2px 8px);opacity:.55;width:100%;height:80px;margin-top:55px;display:block}.science-dash{background:#bac8d5;padding:28px 38px 0}.tablet{color:#18212a;background:#f8fafb;border-radius:24px 24px 0 0;height:100%;padding:24px;box-shadow:0 15px 40px #33485d66}.tablet-nav{justify-content:space-between;font-size:10px;display:flex}.tablet-nav b{color:#335cff}.science-chart{background-color:#0000;background-image:linear-gradient(#dbe2e8 1px,#0000 1px),linear-gradient(90deg,#dbe2e8 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:34px 34px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;height:190px;margin-top:30px;position:relative}.science-chart span{border-top:3px solid #335cff;height:55px;position:absolute;top:45%;left:0;right:0;transform:skewY(7deg)}.science-values{align-items:baseline;gap:8px;display:flex}.science-values b{font-size:34px}.science-values small{font-size:9px}.science-values em{color:#2da65b;margin-left:auto;font-size:8px;font-style:normal}.cal-dash{background:#121722;padding:28px}.cal-title{letter-spacing:.12em;justify-content:space-between;font-size:10px;display:flex}.cal-title b{color:var(--acid);font-size:24px}.channels{grid-template-columns:repeat(8,1fr);gap:9px;margin:38px 0;display:grid}.channels i{color:#6d768b;border:1px solid #394052;place-items:center;height:48px;font-size:8px;font-style:normal;display:grid}.channels i.done{color:#8ba;background:#25302e;border-color:#446a60}.channels i.active{border-color:var(--acid);color:var(--acid);box-shadow:inset 0 0 18px #d7ff0022}.cal-progress{background:#333b4a;height:3px}.cal-progress span{background:var(--acid);width:80%;height:100%;display:block}.stage-dash{color:#161715;background:#eceee8}.stage-grid{background-color:#0000;background-image:linear-gradient(#18201c17 1px,#0000 1px),linear-gradient(90deg,#18201c17 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:32px 32px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.stage-target{border:1px solid;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:110px;height:110px;font-size:9px;display:flex;position:absolute;top:42%;left:38%}.stage-target i{background:#111;height:1px;position:absolute;inset:50% -35px auto}.stage-target i:after{content:"";background:#111;width:1px;height:70px;position:absolute;top:-35px;left:50%}.stage-target b,.stage-target span{z-index:1;background:#eceee8;padding:3px}.stage-panel{background:var(--ink);color:#fff;width:150px;padding:18px;position:absolute;bottom:20px;right:20px}.stage-panel b{margin:15px 0;font-size:24px;display:block}.stage-panel span{color:var(--acid);font-size:8px}.source-app{font-family:Segoe UI,Arial,sans-serif;font-size:10px}.source-label{z-index:20;background:var(--acid);color:#111;letter-spacing:.12em;padding:6px 8px;font:700 7px/1 Arial,sans-serif;position:absolute;bottom:10px;right:10px;box-shadow:0 2px 8px #0005}.source-label.actual{color:#fff;background:#1687ff}.win-title{color:#222;background:#f3f3f3;border-bottom:1px solid #bbb;align-items:center;gap:13px;height:28px;padding:0 9px;font-size:9px;display:flex}.win-title span{margin-right:auto}.win-title.dark{color:#ddd;background:#16191c;border-color:#3d4246}.browser-bar{color:#555;background:#e8e8e8;border-bottom:1px solid #ccc;align-items:center;gap:5px;height:34px;padding:0 12px;display:flex}.browser-bar i{background:#aaa;border-radius:50%;width:7px;height:7px}.browser-bar span{margin-left:10px}.farm-source{color:#222;background:#fff}.farm-source-body{text-align:center;padding:36px}.farm-source-body h5{margin:0 0 7px;font-size:22px}.farm-source-body p{color:#666;margin:0 0 26px}.farm-source-body button{color:#fff;background:#1976d2;border:0;border-radius:6px;padding:8px 27px;font-weight:600}.farm-source-body button.lambda{background:#6a1b9a}.connection-state{color:#666;margin-left:12px}.farm-source-body hr{border:0;border-top:1px solid #eee;margin:30px 0 22px}.code-result{text-align:left;color:#555;background:#f5f5f5;border-radius:6px;width:70%;margin:18px auto 0;padding:12px;font-family:monospace;line-height:1.7}.flutter-farm{color:#1f2937;background:#f6f7f9;grid-template-columns:22% 78%;font-family:Noto Sans KR,Segoe UI,sans-serif;display:grid}.flutter-sidebar{background:#fff;border-right:1px solid #e5e7eb;padding:15px 11px;position:relative}.flutter-logo{border-bottom:1px solid #e5e7eb;align-items:center;gap:7px;padding:0 5px 13px;font-size:10px;display:flex}.flutter-logo i{color:#fff;background:#2563eb;border-radius:7px;place-items:center;width:24px;height:24px;font-size:7px;font-style:normal;font-weight:800;display:grid}.flutter-logo b{font-size:11px}.flutter-sidebar nav{flex-direction:column;gap:2px;padding-top:8px;display:flex}.flutter-sidebar nav span{color:#4b5563;border-radius:5px;padding:7px 8px;font-size:6px}.flutter-sidebar nav span.active{color:#2563eb;background:#eff6ff;font-weight:700}.flutter-sidebar nav b{color:#9ca3af;letter-spacing:.08em;padding:9px 8px 3px;font-size:5px}.farm-profile{color:#374151;border-top:1px solid #e5e7eb;padding-top:9px;font-size:6px;position:absolute;bottom:12px;left:11px;right:11px}.flutter-main{padding:14px 16px;overflow:hidden}.flutter-main>header{border-bottom:1px solid #e5e7eb;justify-content:space-between;height:48px;display:flex}.flutter-main header h5{margin:0;font-size:13px}.flutter-main header p{color:#6b7280;margin:4px 0;font-size:5px}.flutter-main header button{color:#fff;background:#3b82f6;border:0;border-radius:5px;align-self:flex-start;padding:6px 9px;font-size:6px}.flutter-main section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:8px}.flutter-main h6{margin:0 0 7px;font-size:8px}.flutter-sensors{margin-top:9px}.sensor-tiles{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.sensor-tiles article{color:#fff;border-radius:6px;height:69px;padding:7px 8px;position:relative;box-shadow:0 2px 5px #0001}.sensor-tiles article.temp{background:linear-gradient(135deg,#f97316,#ea580c)}.sensor-tiles article.humi{background:linear-gradient(135deg,#3b82f6,#2563eb)}.sensor-tiles article.co2{background:linear-gradient(135deg,#a855f7,#9333ea)}.sensor-tiles article.light{background:linear-gradient(135deg,#eab308,#ca8a04)}.sensor-tiles article i{font-size:12px;font-style:normal;position:absolute;top:7px;right:8px}.sensor-tiles small{font-size:5px;display:block}.sensor-tiles b{font-size:16px;line-height:1.7}.sensor-tiles em{margin-left:2px;font-size:5px;font-style:normal}.sensor-tiles span{opacity:.85;font-size:5px;display:block}.flutter-bottom{grid-template-columns:1fr 1fr;gap:9px;margin-top:9px;display:grid}.flutter-bottom section{height:132px}.actuator-tiles{grid-template-columns:1fr 1fr;gap:5px;display:grid}.actuator-tiles article{background:#fff;border:1px solid #e5e7eb;border-left:4px solid #22c55e;border-radius:5px;height:48px;padding:6px;position:relative}.actuator-tiles article.off{border-left-color:#ef4444}.actuator-tiles article.auto{border-left-color:#eab308}.actuator-tiles b{font-size:6px;display:block}.actuator-tiles span{color:#166534;font-size:5px}.actuator-tiles .off span{color:#991b1b}.actuator-tiles .auto span{color:#854d0e}.actuator-tiles em{color:#1d4ed8;background:#eff6ff;padding:2px;font-size:4px;font-style:normal;position:absolute;bottom:5px;right:5px}.door-tiles{grid-template-columns:1fr 1fr;gap:5px;display:grid}.door-tiles article{background:#fff;border:1px solid #e5e7eb;border-radius:5px;height:100px;padding:7px;position:relative}.door-tiles b{font-size:6px;display:block}.door-tiles span{color:#6b7280;font-size:5px}.door-tiles strong{margin-top:13px;font-size:15px;display:block}.door-tiles i{background:#e5e7eb;border-radius:4px;height:4px;position:absolute;bottom:10px;left:7px;right:7px;overflow:hidden}.door-tiles i em{background:#3b82f6;width:65%;height:100%;display:block}.door-tiles article:nth-child(2) i em{width:30%}.sensorhub-source{background:#1b2227}.hub-grid{grid-template-columns:7fr 3fr;gap:8px;height:calc(100% - 28px);padding:8px;display:grid}.hub-main{grid-template-rows:2.8fr 1fr;gap:8px;display:grid}.hub-card{color:#a0b0bd;background:#232b31;border-radius:5px;padding:10px;position:relative;overflow:hidden}.hub-card h5{color:#fff;margin:0 0 8px;font-size:10px}.hub-card nav{gap:4px;display:flex;position:absolute;top:7px;left:95px}.hub-card nav b,.hub-card button{color:#fff;background:#2e3840;border:1px solid #3f4a52;padding:4px 7px;font-size:7px}.hub-chart{background:#1c242a;border:9px solid #232b31}.hub-chart .real-grid{inset:44px 10px 10px}.hub-detail p{font-size:8px}.hub-grid aside{grid-template-rows:1.2fr 1fr 1.25fr;gap:8px;display:grid}.hub-grid aside p{margin:5px 0;font-size:7px}.hub-grid .log code{font-size:6px;line-height:1.8}.hub-grid .camera:after{content:"";background:#050505;position:absolute;inset:30px 10px 10px}.real-grid{background-color:#0000;background-image:linear-gradient(#ffffff12 1px,#0000 1px),linear-gradient(90deg,#ffffff12 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:28px 24px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.real-line{z-index:2;border-top:2px solid #3fb0ff;height:30px;position:absolute;top:55%;left:12%;right:6%;transform:skewY(-5deg)}.real-line.l2{border-color:#ffb13f;top:67%;transform:skewY(4deg)}.insight-source{background:#3f3f3f}.insight-layout{grid-template-rows:calc(100% - 24px) 24px;grid-template-columns:22% 78%;height:calc(100% - 28px);display:grid}.insight-layout aside{background:#404040;border-right:1px solid #555;padding:20px 16px}.insight-layout aside h5{color:#fff;margin:0 0 25px;font-size:12px}.insight-layout aside button{color:#fff;text-align:left;background:#555;border:1px solid #777;width:100%;margin:0 0 8px;padding:7px;font-size:8px;display:block}.insight-stat{border-top:1px solid #666;margin-top:30px;padding-top:12px}.insight-stat small{color:#aaa;font-size:7px;display:block}.insight-stat b{color:#77d69a;margin-top:5px;font-size:9px;display:block}.insight-camera{background:radial-gradient(circle at 35% 45%,#d7b27d 0 2%,#0000 3%),radial-gradient(circle at 63% 58%,#8d5c4f 0 3%,#0000 4%),radial-gradient(circle,#c4a477,#6b514b 62%,#211b1a);position:relative;overflow:hidden}.insight-camera>span{color:#fff;background:#0009;padding:5px;font-size:7px;position:absolute;bottom:10px;left:12px}.insight-low{color:#ddd;word-spacing:18px;background:#292929;grid-column:1/-1;padding:7px 15px;font-size:7px}.science-sensors{align-items:center;gap:7px;margin-top:17px;display:flex}.science-sensors span{background:#fff;border:1px solid #dbe2e8;border-radius:7px;padding:8px 10px;font-size:8px}.science-sensors strong{color:#335cff;letter-spacing:.08em;margin-left:auto;font-size:8px}.calibration-source{color:#222;background:#ececec}.cal-toolbar{background:#f5f5f5;border-bottom:1px solid #aaa;align-items:center;gap:6px;height:38px;padding:6px;display:flex}.cal-toolbar button,.cal-toolbar select,.cal-columns button{background:#eee;border:1px solid #aaa;padding:5px;font-size:7px}.cal-toolbar label{margin-left:8px}.cal-columns{grid-template-columns:1fr 1fr;gap:4px;height:calc(100% - 66px);padding:4px;display:grid}.cal-columns section{background:#fff;border:1px solid #aaa;overflow:hidden}.cal-columns h5{background:#e0e0e0;height:27px;margin:0;padding:7px;font-size:10px}.cal-columns nav{background:#f1f1f1;border-bottom:1px solid #ccc;align-items:center;gap:4px;height:31px;padding:3px;display:flex}.cal-columns nav span{font-size:6px}.win-channels{grid-template-columns:repeat(4,1fr);gap:4px;padding:6px;display:grid}.win-channels i{background:#f2f2f2;border:1px solid #bbb;flex-direction:column;height:49px;padding:4px;font-style:normal;display:flex}.win-channels b{font-size:7px}.win-channels span{color:#267a40;margin:3px 0;font-size:5px}.win-channels em{text-align:right;font-size:7px;font-style:normal}.cal-chart{background:#222;height:calc(100% - 59px);position:relative}.cal-chart .real-line{border-color:#59d06f}.stage-source{color:#222;background:#efefef}.stage-tools{border-bottom:1px solid #aaa;align-items:center;gap:5px;height:34px;padding:5px;display:flex}.stage-tools button,.stage-tools input{background:#f6f6f6;border:1px solid #aaa;height:23px;font-size:7px}.stage-tools input{width:56px;padding:3px}.stage-tools label{margin-left:15px}.stage-source-body{grid-template-columns:78% 22%;gap:5px;height:calc(100% - 62px);padding:4px;display:grid}.stage-camera{background:linear-gradient(135deg,#868686,#b2b2b2);border:1px solid #777;position:relative}.stage-camera:before{content:"CAMERA PREVIEW";color:#eee;font-size:7px;position:absolute;bottom:8px;left:10px}.stage-source-body aside{background:#ddd;border:1px solid #aaa;padding:6px;overflow:hidden}.stage-source-body aside h5{border-bottom:1px solid #aaa;margin:2px 0 6px;padding-bottom:4px;font-size:8px}.stage-source-body aside pre{background:#fff;border:1px solid #aaa;padding:5px;font-size:6px;line-height:1.5}.stage-source-body aside>button{width:100%;margin:2px 0;padding:5px;font-size:7px}.dpad{grid-template-columns:repeat(3,22px);justify-content:center;display:grid}.dpad button{width:22px;height:20px;font-size:7px}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-column:1}.stage-cross{color:#d8ff00;border:1px solid #d8ff00;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:74px;height:74px;font-size:6px;display:flex;position:absolute;top:38%;left:45%}.stage-cross i{background:#d8ff00;height:1px;position:absolute;inset:50% -25px auto}.stage-cross i:after{content:"";background:#d8ff00;width:1px;height:50px;position:absolute;top:-25px;left:50%}.snu-source,.fjk-source,.cma-source{color:#222;background:#eee}.snu-layout{grid-template-columns:18% 60% 22%;gap:4px;height:calc(100% - 28px);padding:4px;display:grid}.snu-layout aside{background:#f7f7f7;border:1px solid #aaa;padding:7px;overflow:hidden}.snu-layout h5,.fjk-body h5,.cma-body h5{border-bottom:1px solid #aaa;margin:2px 0 7px;padding-bottom:4px;font-size:8px}.snu-layout label{margin:5px 0;font-size:6px;display:block}.snu-layout input,.snu-layout select{width:45px;font-size:6px}.snu-layout button{margin:2px;padding:4px;font-size:6px}.snu-layout p{font-size:6px;line-height:1.8}.snu-charts{grid-template-columns:1fr 1fr;gap:4px;display:grid}.snu-charts article{background:#20252a;border:1px solid #777;position:relative;overflow:hidden}.snu-charts article>b{z-index:3;color:#ddd;font-size:6px;position:absolute;top:6px;left:7px}.snu-charts .real-grid{inset:22px 4px 4px}.snu-charts .real-line{top:54%}.snu-live strong{color:#1976d2;margin-top:9px;font-size:13px;display:block}.snu-live small{color:#777;font-size:5px;display:block}.snu-live pre{color:#9dd9a8;background:#222;margin-top:14px;padding:6px;font-size:5px;line-height:1.6}.fjk-toolbar,.cma-toolbar{background:#f8f8f8;border-bottom:1px solid #aaa;align-items:center;gap:6px;height:38px;padding:6px;display:flex}.fjk-toolbar button,.fjk-toolbar select,.cma-toolbar button,.cma-toolbar select{padding:5px;font-size:7px}.fjk-toolbar b{color:#16733b;margin-left:auto;font-size:7px}.fjk-body{grid-template-columns:78% 22%;gap:4px;height:calc(100% - 66px);padding:4px;display:grid}.fjk-body section,.fjk-body aside{background:#fff;border:1px solid #aaa;padding:7px}.fjk-summary{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.fjk-summary span{background:#e8edf2;border:1px solid #bbc3cb;padding:6px;font-size:6px}.fjk-summary b{font-size:12px;display:block}.fjk-channels{grid-template-columns:repeat(8,1fr);gap:4px;margin-top:7px;display:grid}.fjk-channels i{text-align:center;background:#eee;border:1px solid #aaa;padding:5px 3px;font-style:normal}.fjk-channels b,.fjk-channels em{font-size:5px;display:block}.fjk-channels em{color:#777;margin-top:3px}.fjk-channels em.on{color:#16823f}.fjk-body aside button{width:100%;margin:2px 0;padding:5px;font-size:6px}.fjk-body aside label{font-size:6px}.fjk-body aside input{width:35px}.cma-toolbar label{margin-left:auto;font-size:6px}.cma-body{grid-template-columns:26% 74%;gap:4px;height:calc(100% - 66px);padding:4px;display:grid}.cma-body aside,.cma-body section{background:#fff;border:1px solid #aaa;padding:7px;overflow:hidden}.cma-body aside p{border-bottom:1px solid #ddd;grid-template-columns:1fr auto auto;gap:7px;margin:0;padding:4px;font-size:5px;display:grid}.cma-body aside em{color:#27864b;font-style:normal}.cma-body section header{justify-content:space-between;padding-bottom:7px;font-size:7px;display:flex}.cma-chart{background:#20252a;height:calc(100% - 24px);position:relative}.cma-chart .real-grid{inset:5px}.cma-chart .real-line.l1{border-color:#54cf75}.cma-chart .real-line.l2{border-color:#ffb13f}.numbers{background:var(--ink);color:var(--paper)}.numbers-inner{grid-template-columns:repeat(3,1fr) 1.35fr;align-items:center;gap:40px;min-height:310px;display:grid}.numbers-inner>div{border-right:1px solid #444}.numbers-inner b{letter-spacing:-.06em;color:var(--acid);font-size:75px;display:block}.numbers-inner span{letter-spacing:.18em;font-size:9px}.numbers-inner p{font-size:17px;font-weight:700;line-height:1.7}.numbers-inner p span{color:#8e928b}.contact{padding:140px 0 100px}.contact-top{letter-spacing:.14em;border-top:1px solid;justify-content:space-between;padding-top:14px;font-size:10px;display:flex}.contact h2{letter-spacing:-.075em;margin:100px 0 70px;font-size:clamp(72px,12vw,180px);line-height:.8}.contact h2 em{color:var(--acid);-webkit-text-stroke:1px var(--ink);text-shadow:5px 5px 0 var(--ink)}.contact-links{border-top:1px solid var(--ink)}.contact-links a{border-bottom:2px solid;grid-template-columns:120px 1fr auto;align-items:center;gap:24px;padding:22px 0;transition:padding .2s,background .2s;display:grid}.contact-links a:hover{background:var(--acid);padding:22px 18px}.contact-links small{letter-spacing:.16em;font-size:9px;font-weight:800}.contact-links span:nth-child(2){letter-spacing:-.03em;font-size:clamp(18px,2.5vw,34px)}.contact-links span:last-child{font-size:22px}footer{letter-spacing:.12em;border-top:1px solid;grid-template-columns:2fr 1fr 1fr auto;align-items:center;gap:40px;min-height:180px;font-size:9px;line-height:1.6;display:grid}footer>a{border-bottom:1px solid;padding-bottom:4px}@media (width<=900px){.wrap{width:min(100% - 32px,1480px)}.nav{height:82px}.nav-links{display:none}.nav-cta{font-size:9px}.hero{min-height:660px;padding-top:55px}.hero-kicker span:last-child{display:none}.hero h1{margin-top:95px;font-size:18vw;line-height:.85}.intro{padding:85px 0}.intro-copy{grid-template-columns:1fr;gap:50px}.experience{padding:55px 0}.career-head{grid-template-columns:1fr}.career-head>div:last-child{text-align:left;align-items:flex-start;gap:12px}.career-summary{grid-template-columns:1fr;gap:12px}.career-body{grid-template-columns:1fr}.career-stack{border-top:1px solid #cfcdc5;border-left:0;padding:28px 0 0}.experience-list article{grid-template-columns:40px 1fr;gap:12px;padding:24px 0}.experience-list article:hover{padding:24px 12px}.experience-list article p,.experience-list article span{text-align:left;grid-column:2}.category-nav{margin-top:-30px;margin-bottom:60px}.group-intro{grid-template-columns:1fr auto;gap:18px}.group-intro>span{grid-column:1/-1}.group-intro>div{grid-column:1}.group-intro h2{font-size:32px}.group-intro>b{grid-area:2/2}.work-grid{grid-template-columns:1fr}.project{padding:26px 24px}.project-copy{grid-template-columns:1fr;gap:20px}.project-facts>div{grid-template-columns:110px 1fr}.workflow-track-head{grid-template-columns:130px 1fr}.workflow-steps{grid-template-columns:1fr}.workflow-steps article:last-child,.ui-workflow article:last-child{grid-column:1}.numbers-inner{grid-template-columns:1fr 1fr;padding:55px 0}.numbers-inner>div{border:0}.numbers-inner b{font-size:56px}.numbers-inner p{grid-column:1/-1}.contact{padding-top:90px}footer{grid-template-columns:1fr 1fr;padding:35px 0}footer .brand,footer>a{grid-column:1/-1}}@media (width<=520px){.brand>span:last-child{display:none}.hero{min-height:570px}.hero-bottom p{font-size:15px}.signal{display:none}.eyebrow{margin-bottom:48px}.intro-copy h2{font-size:43px}.intro-copy p{font-size:16px}.cap-list{grid-template-columns:1fr}.career-head,.career-summary,.career-body{padding:25px 20px}.career-head h2{font-size:34px}.career-summary p{font-size:16px}.career-work li{grid-template-columns:1fr;gap:7px}.career-work li span{font-size:13px}.category-nav{gap:6px}.category-nav a{padding:9px 11px;font-size:9px}.project-group{margin-bottom:75px}.group-intro{grid-template-columns:1fr}.group-intro>div,.group-intro>b{grid-area:auto/1}.group-intro h2{font-size:29px}.group-intro p{font-size:14px}.group-intro>b{justify-self:start}.project{padding:22px 18px}.project-copy h3{font-size:30px}.project-copy p{font-size:15px}.project-facts>div{grid-template-columns:1fr;gap:8px}.project-tech-detail>div{padding:22px 18px}.project-tech-detail li{font-size:13px}.workflow-track-head{grid-template-columns:1fr;gap:10px;padding:22px 20px}.workflow-track-head.ui-track{margin-top:45px}.workflow-steps article{min-height:auto;padding:24px 20px}.workflow-steps h3{font-size:24px}.tags span:nth-child(3){display:none}.detail-body{grid-template-columns:1fr;padding:22px}.detail-stack{grid-column:1}.channels{gap:5px}.channels i{height:38px}.contact h2{margin:70px 0;font-size:22vw}.contact h2 em{text-shadow:3px 3px 0 var(--ink)}.contact-links a{grid-template-columns:1fr auto;gap:7px}.contact-links small{grid-column:1/-1}.scope-dash{grid-template-columns:1fr}.scope-side{display:none}.science-dash{padding:22px 20px 0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
