
#ugo-r2{--u-bg:light-dark(#f0efea,#131414);--u-fg:light-dark(#191a19,#f3f2eb);--u-sub:light-dark(#555954,#a8aca6);--u-line:light-dark(#d0d2ca,#353934);--u-inset:light-dark(#e6e7df,#1b1e1b);--u-accent:#ff5146;--u-on-accent:#151615;--u-pad:clamp(20px,4.7cqw,48px);font-family:Arial,Helvetica,sans-serif;color:var(--u-fg);width:100%;container-type:inline-size}
#ugo-r2 *{box-sizing:border-box}
#ugo-r2 .u-site{background:var(--u-bg);color:var(--u-fg);border:1px solid var(--u-line)}
#ugo-r2 :is(button,a[data-route]),#ugo-r2 a{-webkit-tap-highlight-color:transparent}
#ugo-r2 button{font:inherit;cursor:pointer;color:inherit}
#ugo-r2 :is(button,a[data-route]):focus-visible,#ugo-r2 a:focus-visible{outline:2px solid var(--u-accent);outline-offset:5px}
#ugo-r2 [hidden]{display:none!important}
#ugo-r2 .u-mono{font-family:'Courier New',monospace;font-weight:400;font-size:11px;line-height:1.5;letter-spacing:.07em;text-transform:uppercase}
#ugo-r2 .u-header{padding:22px var(--u-pad);display:flex;align-items:center;gap:26px;border-bottom:1px solid var(--u-line)}
#ugo-r2 .u-brand{display:flex;align-items:center;gap:11px;background:none;border:0;padding:0;margin-right:auto;font-size:13px;font-weight:500;letter-spacing:.12em;white-space:nowrap}
#ugo-r2 .u-logo{display:grid;grid-template-columns:repeat(17,3px);grid-template-rows:repeat(7,3px);gap:1px;width:67px;flex:0 0 67px}
#ugo-r2 .u-logo i{width:3px;height:3px;border-radius:50%;background:var(--u-accent)}
#ugo-r2 .u-logo i.u-off{visibility:hidden}
#ugo-r2 .u-nav{display:flex;align-items:center;gap:22px}
#ugo-r2 .u-nav :is(button,a[data-route]){background:none;border:0;padding:5px 0;position:relative;color:var(--u-sub);font-size:12px}
#ugo-r2 .u-nav :is(button,a[data-route])[aria-current=page]{color:var(--u-fg)}
#ugo-r2 .u-nav :is(button,a[data-route])[aria-current=page]::after{content:'';position:absolute;bottom:-8px;left:0;width:14px;height:2px;background:var(--u-accent)}
#ugo-r2 .u-edition{color:var(--u-sub);border-left:1px solid var(--u-line);padding-left:22px}
#ugo-r2 .u-index{padding:24px var(--u-pad) 0;display:flex;gap:12px;justify-content:space-between;align-items:center;color:var(--u-sub)}
#ugo-r2 .u-index b{font-weight:400;color:var(--u-accent)}
#ugo-r2 .u-index-right{display:flex;align-items:center;gap:8px}
#ugo-r2 .u-tiny-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--u-accent)}
#ugo-r2 .u-main{display:grid;grid-template-columns:1fr 1.08fr;gap:34px;padding:34px var(--u-pad) 40px;align-items:center;min-height:515px}
#ugo-r2 .u-copy{min-width:0}
#ugo-r2 h1,#ugo-r2 h2,#ugo-r2 h3,#ugo-r2 p{margin:0}
#ugo-r2 .u-name{display:flex;flex-direction:column;gap:17px;width:100%;font-weight:400}
#ugo-r2 .u-name-top{font-size:clamp(82px,12cqw,126px);line-height:.82;letter-spacing:-.075em;font-weight:400}
#ugo-r2 .u-name-middle{font-family:Consolas,'Courier New',monospace;font-size:.25em;letter-spacing:0;color:var(--u-accent);margin-left:.6em}
#ugo-r2 .u-name-bottom{display:flex;gap:7px;width:min(100%,330px);align-items:flex-end}
#ugo-r2 .u-dotword{display:grid;grid-template-columns:repeat(17,1fr);gap:4px;width:100%;aspect-ratio:17/7;align-items:center}
#ugo-r2 .u-dotword i{display:block;aspect-ratio:1;border-radius:50%;background:currentColor}
#ugo-r2 .u-dotword i.u-off{visibility:hidden}
#ugo-r2 .u-name-period{background:var(--u-accent);width:13px;height:13px;flex:0 0 13px;border-radius:50%;margin-bottom:2px}
#ugo-r2 .u-degree{font-size:15px;line-height:1.45;max-width:330px;margin-top:25px;font-weight:400}
#ugo-r2 .u-intro{font-size:15px;line-height:1.65;color:var(--u-sub);max-width:365px;margin-top:13px}
#ugo-r2 .u-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:24px}
#ugo-r2 .u-primary{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;border:1px solid transparent;padding:13px 17px;background:var(--u-accent);color:var(--u-on-accent);font-size:12px;text-decoration:none}
#ugo-r2 .u-secondary{display:inline-flex;align-items:center;gap:9px;border:0;border-bottom:1px solid var(--u-line);background:none;padding:8px 0;font-size:12px;text-decoration:none;color:var(--u-fg)}
#ugo-r2 .u-degree em{font-style:normal;color:var(--u-sub)}
#ugo-r2 .u-board{--b-bg:#e8e9e1;--b-fg:#272e28;--b-sub:#5c665b;position:relative;color:var(--b-fg);background:var(--b-bg);padding:21px 23px 0;border-radius:3px;min-width:0}
#ugo-r2 .u-board-top{display:flex;justify-content:space-between;gap:12px;color:var(--b-sub);font-size:10px;letter-spacing:.04em;border-bottom:1px solid #bdc4b8;padding-bottom:13px}
#ugo-r2 .u-board-heading{margin-top:15px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:17px;letter-spacing:-.035em}
#ugo-r2 .u-board-heading span{font:10px 'Courier New',monospace;color:var(--b-sub);letter-spacing:0}
#ugo-r2 .u-system-drawing{width:100%;margin:16px 0 8px;min-height:420px;background-image:radial-gradient(#bac1b5 .75px,transparent .75px);background-size:10px 10px}
#ugo-r2 .u-system-drawing svg{display:block;width:100%;height:auto;overflow:visible}
#ugo-r2 .u-system-drawing text{font-family:'Courier New',monospace;font-size:11px;font-weight:400;letter-spacing:0;fill:#344332}
#ugo-r2 .u-system-drawing .u-d-wire{stroke:#72836b;stroke-width:1.2;fill:none;stroke-linejoin:round}
#ugo-r2 .u-system-drawing .u-d-signal{stroke:#72836b;stroke-width:1.2;fill:none;stroke-dasharray:4 4;stroke-linejoin:round}
#ugo-r2 .u-system-drawing .u-d-water{stroke:#8561ac;stroke-width:2.6;fill:none;stroke-linejoin:round}
#ugo-r2 .u-system-drawing .u-d-panel{fill:#d2dbca;stroke:#8a9981;stroke-width:1}
#ugo-r2 .u-system-drawing .u-d-pin{fill:#6d7f60;stroke:none}
#ugo-r2 .u-system-drawing .u-d-ink{fill:#344332}
#ugo-r2 .u-system-drawing .u-d-accent{fill:var(--u-accent);stroke:#66775c;stroke-width:1}
#ugo-r2 .u-system-drawing .u-d-label{paint-order:stroke;stroke:#e8e9e1;stroke-width:4px;stroke-linejoin:round}
#ugo-r2[data-grain=off] .u-system-drawing{background-image:none}
@container (min-width:561px) and (max-width:800px){#ugo-r2 :is(#u-project-detail,#u-about,#u-contact) .u-main{grid-template-columns:1fr}#ugo-r2 :is(#u-project-detail,#u-about,#u-contact) .u-copy{max-width:590px}#ugo-r2 :is(#u-project-detail,#u-about,#u-contact) .u-board{width:100%;max-width:560px;justify-self:center}}
#ugo-r2 .u-diagram{height:292px;position:relative;margin:13px 0 12px;background-image:radial-gradient(#bac1b5 .75px,transparent .75px);background-size:10px 10px}
#ugo-r2 .u-trace{position:absolute;background:#879581}
#ugo-r2 .u-trace-a{width:1px;top:76px;height:125px;left:24%}
#ugo-r2 .u-trace-b{height:1px;top:201px;left:24%;width:10%}
#ugo-r2 .u-trace-c{height:1px;top:203px;left:78%;width:calc(20% - 25px)}
#ugo-r2 .u-trace-d{width:1px;top:104px;left:calc(98% - 25px);height:100px}
#ugo-r2 .u-sensor{position:absolute;top:19px;left:3%;width:44%;height:76px;border:1px solid #8b9785;background:#d7ddcf;border-radius:3px;display:flex;justify-content:center;align-items:center;gap:11px}
#ugo-r2 .u-sensor::before,#ugo-r2 .u-sensor::after{content:'';width:45px;aspect-ratio:1;border:5px solid #a7b19f;outline:1px solid #8b9785;border-radius:50%;background:repeating-radial-gradient(#485544 0 1px,#9ca894 1px 2px)}
#ugo-r2 .u-component-label{position:absolute;left:4%;top:105px;font-size:9px;color:var(--b-sub);letter-spacing:.02em;line-height:1.5;background:var(--b-bg);padding:1px 2px}
#ugo-r2 .u-controller{position:absolute;left:34%;top:161px;width:44%;height:84px;border:1px solid #8b9785;border-radius:3px;background:#ced8c7;display:grid;place-items:center}
#ugo-r2 .u-controller::before,#ugo-r2 .u-controller::after{content:'';position:absolute;left:9%;right:9%;height:7px;background:repeating-linear-gradient(90deg,#56634e 0 3px,transparent 3px 9px)}
#ugo-r2 .u-controller::before{top:6px}
#ugo-r2 .u-controller::after{bottom:6px}
#ugo-r2 .u-chip{background:#344132;color:#e3e8dc;border:4px double #819373;padding:10px 7px;font-size:9px;text-align:center;letter-spacing:.03em}
#ugo-r2 .u-controller-name{top:255px;left:34%}
#ugo-r2 .u-output{position:absolute;right:2%;top:15px;width:50px;height:98px;border:1px solid #737e6d;background:#d3dacb;border-radius:22px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px}
#ugo-r2 .u-output i{width:20px;height:20px;border-radius:50%;border:1px solid #a0ab95;background:#c2cbb9}
#ugo-r2 .u-output i:first-child{background:var(--u-accent);border-color:color-mix(in srgb,var(--u-accent),#263124 20%)}
#ugo-r2 .u-output-label{top:118px;left:auto;right:0;text-align:right}
#ugo-r2 .u-node{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--u-accent);top:199px;left:29%}
#ugo-r2 .u-board-footer{border-top:1px solid #bdc4b8;padding:15px 0;display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:10px;color:var(--b-sub)}
#ugo-r2 .u-board-footer :is(button,a[data-route]){background:none;border:0;color:var(--b-fg);padding:0;font-size:11px}
#ugo-r2 .u-bottomline{padding:0 var(--u-pad) 23px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--u-sub)}
#ugo-r2 .u-process{display:flex;align-items:center;flex-wrap:wrap;gap:11px}
#ugo-r2 .u-process span+span::before{content:'/';margin-right:11px;color:var(--u-line)}
#ugo-r2 .u-projects{border-top:1px solid var(--u-line);padding:25px var(--u-pad) 28px}
#ugo-r2 .u-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:19px}
#ugo-r2 .u-section-heading h2{font-weight:400;font-size:18px;letter-spacing:-.035em}
#ugo-r2 .u-section-heading span{color:var(--u-sub)}
#ugo-r2 .u-project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:21px}
#ugo-r2 .u-project-button{min-width:0;border:0;border-top:2px solid var(--p-color);padding:16px 0 0;background:none;text-align:left;color:var(--u-fg);display:block}
#ugo-r2 .u-project-button:hover .u-project-title{color:var(--p-color)}
#ugo-r2 [data-route=traffic]{--p-color:light-dark(#2b59d4,#6f96ff)!important}
#ugo-r2 [data-route=proximity]{--p-color:light-dark(#427518,#b8e968)!important}
#ugo-r2 [data-route=hydration]{--p-color:light-dark(#7844b6,#bc91f6)!important}
#ugo-r2 [data-route=labotg]{--p-color:light-dark(#007e92,#68d7e8)!important}
#ugo-r2 .u-detail-kicker{display:block;margin-top:25px;color:var(--u-accent)}
#ugo-r2 .u-mini-analyzer{width:138px;height:86px;padding:15px 13px;border:1px solid var(--u-sub);border-top:7px solid var(--u-line);border-radius:3px;background:var(--u-inset);display:flex;align-items:center;gap:13px}
#ugo-r2 .u-mini-analyzer>span{display:grid;place-items:center;flex:1;height:48px;border:1px solid var(--p-color);color:var(--p-color);font:11px 'Courier New',monospace}
#ugo-r2 .u-mini-ports{display:grid;grid-template-columns:repeat(2,7px);gap:6px}
#ugo-r2 .u-mini-ports i{width:7px;height:7px;border:1px solid var(--p-color);border-radius:50%}
@container (min-width:561px) and (max-width:800px){#ugo-r2 .u-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
#ugo-r2 .u-live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#ugo-r2 .u-project-top{display:flex;justify-content:space-between;gap:8px;color:var(--u-sub);font-size:10px}
#ugo-r2 .u-project-title{display:block;font-family:Consolas,'Courier New',monospace;font-size:15px;line-height:1.4;font-weight:400;letter-spacing:.035em;text-transform:uppercase;margin-top:14px}
#ugo-r2 .u-project-tags{font-size:11px;color:var(--u-sub);line-height:1.5;margin-top:8px;display:block}
#ugo-r2 .u-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px var(--u-pad);border-top:1px solid var(--u-line);color:var(--u-sub);font-size:10px}
#ugo-r2 .u-color-index{display:flex;gap:5px}
#ugo-r2 .u-color-index i{height:4px;width:17px;background:var(--c)}
#ugo-r2 .u-page-title{font-size:clamp(42px,5.7cqw,65px);font-weight:400;line-height:1.02;letter-spacing:-.055em;margin:14px 0 20px;max-width:620px}
#ugo-r2 .u-kicker{color:var(--u-accent)}
#ugo-r2 .u-detail-body{font-size:15px;line-height:1.7;color:var(--u-sub);max-width:470px}
#ugo-r2 .u-details{margin-top:24px;border-top:1px solid var(--u-line)}
#ugo-r2 .u-detail-row{border-bottom:1px solid var(--u-line);padding:13px 0;display:grid;grid-template-columns:72px 1fr;gap:12px;font-size:12px;line-height:1.5}
#ugo-r2 .u-detail-row>span:first-child{color:var(--u-sub);font-size:10px}
#ugo-r2 :is(#u-project-detail,#u-about,#u-contact) .u-copy{--u-project-font:Consolas,'Lucida Console','Courier New',monospace}
#ugo-r2 :is(#u-project-detail,#u-about,#u-contact) .u-matrix-title{display:flex;flex-wrap:wrap;align-items:center;column-gap:.36em;row-gap:.24em;font-size:clamp(36px,4.65cqw,48px);line-height:1.15;letter-spacing:0;margin:25px 0 28px;padding:2px 0;font-weight:400}
#ugo-r2 .u-matrix-word{display:inline-flex;gap:.105em;align-items:center;white-space:nowrap;flex:0 0 auto}
#ugo-r2 .u-matrix-word.u-title-line{flex-basis:100%}
#ugo-r2 .u-matrix-letter{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(7,1fr);gap:.028em;width:.5em;height:.724em;flex:0 0 .5em}
#ugo-r2 .u-matrix-letter i{display:block;background:currentColor;aspect-ratio:1;border-radius:50%;align-self:center}
#ugo-r2 .u-matrix-letter i.u-off{visibility:hidden}
#ugo-r2 .u-matrix-letter[data-character='.']{color:var(--u-accent)}
#ugo-r2 :is(#u-project-detail,#u-about,#u-contact) .u-detail-body{font-family:var(--u-project-font);font-size:14px;line-height:1.8;letter-spacing:.005em;color:light-dark(#434a43,#c4cbc1);max-width:46ch}
#ugo-r2 :is(#u-project-detail,#u-about,#u-contact) .u-details{margin-top:29px;border-top-color:color-mix(in srgb,var(--u-accent) 43%,var(--u-line))}
#ugo-r2 :is(#u-project-detail,#u-about,#u-contact) .u-detail-row{grid-template-columns:89px minmax(0,1fr);gap:16px;padding:16px 0;font-family:var(--u-project-font);font-size:13px;line-height:1.65;letter-spacing:0}
#ugo-r2 :is(#u-project-detail,#u-about,#u-contact) .u-detail-row>span:first-child{font-family:Consolas,'Lucida Console',monospace;font-size:11px;line-height:1.65;letter-spacing:.065em;color:var(--u-accent);padding-top:1px}
#ugo-r2 :is(#u-project-detail,#u-about,#u-contact) .u-secondary{font-family:Consolas,'Lucida Console',monospace;font-size:11px;letter-spacing:.09em;text-transform:uppercase;padding:10px 0}
#ugo-r2 :is(#u-project-detail,#u-about,#u-contact) .u-detail-kicker{font-family:Consolas,'Lucida Console',monospace;font-size:11px;letter-spacing:.12em;line-height:1.7;margin-top:29px}
@container (max-width:560px){#ugo-r2 :is(#u-project-detail,#u-about,#u-contact) .u-matrix-title{font-size:36px;column-gap:.32em;row-gap:.3em;margin-top:25px;margin-bottom:25px}#ugo-r2 :is(#u-project-detail,#u-about,#u-contact) .u-detail-body{font-size:14px;line-height:1.75}#ugo-r2 :is(#u-project-detail,#u-about,#u-contact) .u-detail-row{grid-template-columns:80px minmax(0,1fr);gap:13px;font-size:12px;line-height:1.7}}
@container (max-width:350px){#ugo-r2 :is(#u-project-detail,#u-about,#u-contact) .u-matrix-title{font-size:33px}#ugo-r2 :is(#u-project-detail,#u-about,#u-contact) .u-detail-row{grid-template-columns:72px minmax(0,1fr);gap:12px}}
#ugo-r2 .u-education{padding:29px;background:var(--u-inset);border-top:2px solid var(--u-accent)}
#ugo-r2 .u-education-top{display:flex;justify-content:space-between;gap:15px;color:var(--u-sub)}
#ugo-r2 .u-education-item{padding:25px 0;border-bottom:1px solid var(--u-line)}
#ugo-r2 .u-education-item:last-child{border:0;padding-bottom:0}
#ugo-r2 .u-education-item .u-mono{color:var(--u-accent)}
#ugo-r2 .u-education-item h3{font-size:21px;font-weight:400;line-height:1.25;letter-spacing:-.04em;margin:10px 0}
#ugo-r2 .u-education-item p{font-size:13px;color:var(--u-sub);line-height:1.6}
#ugo-r2 .u-project-page-heading{padding:29px var(--u-pad) 24px;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:end}
#ugo-r2 .u-project-page-heading .u-page-title{margin:12px 0 0}
#ugo-r2 .u-project-page-heading p{font-size:14px;line-height:1.6;color:var(--u-sub)}
#ugo-r2 .u-catalog{padding:0 var(--u-pad) 38px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#ugo-r2 .u-catalog-item{border:1px solid var(--u-line);background:var(--u-inset);padding:0;text-align:left;overflow:hidden}
#ugo-r2 .u-catalog-art{height:150px;position:relative;border-bottom:1px solid var(--u-line);display:grid;place-items:center;background-image:radial-gradient(var(--u-line) 1px,transparent 1px);background-size:10px 10px}
#ugo-r2 .u-catalog-art .u-art-circle{width:76px;height:76px;border:1px solid var(--p-color);border-radius:50%;position:relative}
#ugo-r2 .u-catalog-art .u-art-circle::before{content:'';position:absolute;inset:18px;border-radius:50%;border:8px dotted var(--p-color)}
#ugo-r2 .u-traffic-art{display:flex;gap:13px;align-items:center;border:1px solid var(--u-sub);padding:15px;border-radius:40px;background:var(--u-inset)}
#ugo-r2 .u-traffic-art i{width:23px;height:23px;border:1px solid var(--u-sub);border-radius:50%}
#ugo-r2 .u-traffic-art i:first-child{background:var(--p-color);border-color:var(--p-color)}
#ugo-r2 .u-plc-art{width:120px;height:68px;border:1px solid var(--u-sub);background:var(--u-inset);padding:12px;display:flex;gap:8px;align-items:end}
#ugo-r2 .u-plc-art i{height:42px;width:20px;border:1px solid var(--p-color);border-top:8px solid var(--p-color)}
#ugo-r2 .u-catalog-copy{padding:18px}
#ugo-r2 .u-catalog-copy .u-mono{color:var(--p-color)}
#ugo-r2 .u-catalog-copy h3{font-family:Consolas,'Courier New',monospace;font-size:21px;letter-spacing:.025em;text-transform:uppercase;font-weight:400;line-height:1.2;margin:13px 0}
#ugo-r2 .u-board-footer :is(button,a[data-route]){text-transform:uppercase;font-family:Consolas,'Courier New',monospace;letter-spacing:.035em}
#ugo-r2 .u-catalog-copy p{font-size:12px;color:var(--u-sub);line-height:1.7;min-height:62px}
#ugo-r2 .u-open-project{display:block;border-top:1px solid var(--u-line);margin-top:20px;padding-top:13px;font-size:11px}
#ugo-r2 .u-contact-panel{padding:32px;background:var(--u-inset);border-top:2px solid var(--u-accent)}
#ugo-r2 .u-contact-panel a{display:block;padding:22px 0;color:var(--u-fg);text-decoration:none;border-bottom:1px solid var(--u-line);overflow-wrap:anywhere;font-size:16px}
#ugo-r2 .u-contact-panel a span{display:block;font-size:10px;color:var(--u-sub);margin-bottom:9px}
#ugo-r2 #u-about .u-intro{font-family:Consolas,'Lucida Console','Courier New',monospace;font-size:14px;line-height:1.8;letter-spacing:.005em;color:light-dark(#434a43,#c4cbc1);max-width:46ch;margin-top:19px}
#ugo-r2 :is(#u-about,#u-contact) .u-kicker{font-family:Consolas,'Lucida Console',monospace;font-size:11px;letter-spacing:.1em;line-height:1.7}
#ugo-r2 #u-about .u-education{font-family:Consolas,'Lucida Console','Courier New',monospace}
#ugo-r2 #u-about .u-education .u-mono{font-family:inherit;font-size:11px;letter-spacing:.07em;line-height:1.65}
#ugo-r2 #u-about .u-education-item h3{font-family:inherit;font-size:19px;line-height:1.4;letter-spacing:.035em;text-transform:uppercase;margin:15px 0 13px}
#ugo-r2 #u-about .u-education-item p{font-family:inherit;font-size:13px;line-height:1.8;letter-spacing:0;color:light-dark(#434a43,#c4cbc1)}
#ugo-r2 #u-contact .u-contact-panel{font-family:Consolas,'Lucida Console','Courier New',monospace}
#ugo-r2 #u-contact .u-contact-panel>a{font-family:inherit;font-size:15px;line-height:1.65;letter-spacing:.015em;padding:24px 0}
#ugo-r2 #u-contact .u-contact-panel>a>span{font-family:inherit;font-size:11px;letter-spacing:.12em;line-height:1.6;color:var(--u-accent);margin-bottom:13px}
#ugo-r2 #u-contact .u-contact-panel>a:last-child{text-transform:uppercase;letter-spacing:.06em}
@container (max-width:560px){#ugo-r2 #u-about .u-education{padding:24px}#ugo-r2 #u-about .u-education-item h3{font-size:18px;letter-spacing:.02em}#ugo-r2 #u-contact .u-contact-panel>a{font-size:14px;letter-spacing:0}}
#ugo-r2 .u-board[data-kind=proximity] .u-output{border-radius:3px;height:82px;width:66px;top:28px}
#ugo-r2 .u-board[data-kind=proximity] .u-output i:first-child{width:35px;height:35px;border:7px double #627359}
#ugo-r2 .u-board[data-kind=proximity] .u-output i:not(:first-child){display:none}
#ugo-r2 .u-board[data-kind=hydration] .u-sensor{height:63px;border-radius:3px}
#ugo-r2 .u-board[data-kind=hydration] .u-sensor::before{border-radius:0;width:67%;height:28px;border:1px solid #8b9785;background:repeating-linear-gradient(90deg,#7d8c72 0 3px,transparent 3px 11px)}
#ugo-r2 .u-board[data-kind=hydration] .u-sensor::after{display:none}
#ugo-r2 .u-board[data-kind=hydration] .u-output{border-radius:0 0 14px 14px;height:74px;top:37px;width:59px;border-top:0;overflow:hidden;background:linear-gradient(to top,var(--u-accent) 48%,#d3dacb 48%)}
#ugo-r2 .u-board[data-kind=hydration] .u-output i{display:none}
#ugo-r2 .u-board[data-kind=hydration] .u-controller{background:repeating-linear-gradient(90deg,#d0d7c9 0 24px,#879581 24px 25px)}
#ugo-r2[data-grain=off] .u-diagram,#ugo-r2[data-grain=off] .u-catalog-art{background-image:none}
@container (max-width:760px){#ugo-r2 .u-header{gap:16px}#ugo-r2 .u-edition{display:none}#ugo-r2 .u-nav{gap:18px}#ugo-r2 .u-main{gap:24px;grid-template-columns:1fr 1fr;min-height:480px}#ugo-r2 .u-name-top{font-size:86px}#ugo-r2 .u-name-bottom{width:240px;max-width:100%}#ugo-r2 .u-dotword{gap:3px}#ugo-r2 .u-name-period{width:10px;height:10px;flex-basis:10px}#ugo-r2 .u-intro{font-size:14px}#ugo-r2 .u-degree{font-size:13px}#ugo-r2 .u-board{padding:17px 14px 0}#ugo-r2 .u-board-top{font-size:9px}#ugo-r2 .u-board-heading{font-size:15px}#ugo-r2 .u-board-heading span{display:none}#ugo-r2 .u-sensor::before,#ugo-r2 .u-sensor::after{width:33px;border-width:4px}#ugo-r2 .u-sensor{gap:9px}#ugo-r2 .u-catalog{gap:12px}#ugo-r2 .u-catalog-copy{padding:14px}#ugo-r2 .u-catalog-copy h3{font-size:19px}#ugo-r2 .u-catalog-copy p{min-height:102px}#ugo-r2 .u-bottomline{align-items:start}#ugo-r2 .u-bottomline>span{max-width:160px;text-align:right}}
@container (max-width:560px){#ugo-r2 .u-header{padding:19px var(--u-pad);flex-wrap:wrap;gap:18px}#ugo-r2 .u-brand{font-size:12px}#ugo-r2 .u-nav{gap:14px}#ugo-r2 .u-nav :is(button,a[data-route]){font-size:11px;padding:7px 0}#ugo-r2 .u-index{padding-top:22px;font-size:10px}#ugo-r2 .u-index-right{display:none}#ugo-r2 .u-main{grid-template-columns:1fr;padding-top:28px;gap:33px}#ugo-r2 .u-name{gap:14px}#ugo-r2 .u-name-top{font-size:110px}#ugo-r2 .u-name-bottom{width:270px}#ugo-r2 .u-degree{font-size:15px;margin-top:24px}#ugo-r2 .u-intro{font-size:14px;max-width:100%}#ugo-r2 .u-actions{margin-top:22px}#ugo-r2 .u-board{padding:19px 22px 0}#ugo-r2 .u-diagram{height:285px}#ugo-r2 .u-board-heading{font-size:19px}#ugo-r2 .u-sensor::before,#ugo-r2 .u-sensor::after{width:40px}#ugo-r2 .u-bottomline{flex-direction:column;gap:9px}#ugo-r2 .u-bottomline>span{max-width:none;text-align:left}#ugo-r2 .u-project-grid{grid-template-columns:1fr;gap:21px}#ugo-r2 .u-project-title{margin-top:9px}#ugo-r2 .u-project-top{font-size:11px}#ugo-r2 .u-project-button{padding-top:12px}#ugo-r2 .u-project-tags{margin-top:6px}#ugo-r2 .u-footer{flex-wrap:wrap}#ugo-r2 .u-page-title{font-size:48px}#ugo-r2 .u-detail-body{font-size:14px}#ugo-r2 .u-project-page-heading{grid-template-columns:1fr;gap:20px}#ugo-r2 .u-catalog{grid-template-columns:1fr;gap:22px}#ugo-r2 .u-catalog-art{height:140px}#ugo-r2 .u-catalog-copy p{min-height:0}#ugo-r2 .u-catalog-copy{padding:21px}#ugo-r2 .u-catalog-copy h3{font-size:25px}#ugo-r2 .u-contact-panel{padding:24px}}
@container (max-width:370px){#ugo-r2 .u-header{gap:12px}#ugo-r2 .u-nav{width:100%;justify-content:space-between}#ugo-r2 .u-name-top{font-size:96px}#ugo-r2 .u-name-bottom{width:240px}#ugo-r2 .u-section-heading{align-items:start}#ugo-r2 .u-section-heading span{font-size:9px}#ugo-r2 .u-actions{gap:16px}#ugo-r2 .u-board{padding:16px 13px 0}}
#ugo-r2 .u-nns-page{position:relative;padding:55px var(--u-pad) 64px;--yard-metal:light-dark(#61705d,#bbc4b3);--yard-dark:light-dark(#dce1d5,#20251e);--yard-edge:light-dark(#667360,#85907b);--yard-hat:light-dark(#c58b23,#dfb35f)}
#ugo-r2 .u-nns-heading{font-weight:400;text-align:center;margin:0}
#ugo-r2 .u-employer-parent{display:block;font:12px/1.8 Consolas,'Courier New',monospace;letter-spacing:.17em;color:var(--u-sub)}
#ugo-r2 .u-nns-role{font:14px/1.8 Consolas,'Courier New',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--u-accent);text-align:center;margin:24px auto 0}
#ugo-r2 .u-nns-department{font:11px/1.8 Consolas,'Courier New',monospace;letter-spacing:.045em;color:var(--u-sub);text-align:center;margin:6px auto 0;max-width:640px;text-transform:uppercase}
#ugo-r2 #u-nns-name.u-matrix-title{display:flex;justify-content:center;flex-wrap:wrap;column-gap:.36em;row-gap:.26em;font-size:clamp(28px,4.4cqw,46px);line-height:1.2;letter-spacing:0;margin:21px auto 0;max-width:900px}
#ugo-r2 .u-yard-scene{height:340px;max-width:850px;margin:35px auto 10px;position:relative}
#ugo-r2 .u-yard-dots{position:absolute;left:4%;right:4%;top:0;bottom:54px;background-image:radial-gradient(var(--u-line) .8px,transparent .8px);background-size:12px 12px;mask-image:linear-gradient(to bottom,transparent,#000 40%,#000 90%,transparent)}
#ugo-r2 .u-yard-ground{position:absolute;left:1%;right:1%;bottom:52px;height:1px;background:var(--yard-edge)}
#ugo-r2 .u-yard-ground::after{content:'';position:absolute;left:6%;right:6%;top:8px;height:8px;background:repeating-linear-gradient(120deg,transparent 0 11px,var(--u-line) 11px 12px)}
#ugo-r2 .u-yard-crane{position:absolute;left:19%;bottom:54px;width:210px;height:235px}
#ugo-r2 .u-crane-mast{position:absolute;left:21px;top:0;bottom:0;width:28px;border:2px solid var(--yard-edge);background:repeating-linear-gradient(45deg,transparent 0 18px,var(--u-line) 18px 20px,transparent 20px 37px)}
#ugo-r2 .u-crane-boom{position:absolute;left:0;top:16px;width:210px;height:20px;border:2px solid var(--yard-edge);background:repeating-linear-gradient(55deg,transparent 0 17px,var(--u-line) 17px 19px,transparent 19px 34px)}
#ugo-r2 .u-crane-cab{position:absolute;left:10px;top:45px;width:44px;height:32px;border:2px solid var(--yard-edge);background:var(--yard-dark);border-radius:2px}
#ugo-r2 .u-crane-cab::before{content:'';position:absolute;inset:5px 6px 9px;background:var(--u-bg);border:1px solid var(--yard-edge)}
#ugo-r2 .u-crane-foot{position:absolute;bottom:0;left:8px;width:53px;height:9px;border:1px solid var(--yard-edge);background:var(--yard-dark)}
#ugo-r2 .u-hoist{position:absolute;right:13px;top:36px;width:84px;height:120px;animation:u-hoist-lift 6s ease-in-out infinite;transform-origin:center top}
#ugo-r2 .u-hoist-cable{position:absolute;top:0;left:41px;width:1px;height:calc(100% - 37px);background:var(--yard-metal)}
#ugo-r2 .u-hoist-sling{position:absolute;left:13px;bottom:12px;width:58px;height:30px;border-left:1px solid var(--yard-metal);border-right:1px solid var(--yard-metal);clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(151deg,transparent 48%,var(--yard-metal) 49% 51%,transparent 52%),linear-gradient(29deg,transparent 48%,var(--yard-metal) 49% 51%,transparent 52%)}
#ugo-r2 .u-hoist-beam{position:absolute;bottom:0;left:0;width:84px;height:13px;border:1px solid var(--yard-hat);background:var(--yard-dark);box-shadow:inset 0 4px var(--yard-hat),inset 0 -3px var(--yard-hat)}
#ugo-r2 .u-scaffold{position:absolute;right:18%;bottom:54px;width:207px;height:183px}
#ugo-r2 .u-scaffold-post{position:absolute;top:0;bottom:0;width:3px;background:var(--yard-edge)}
#ugo-r2 .u-post-left{left:12px}#ugo-r2 .u-post-right{right:12px}
#ugo-r2 .u-scaffold-cross{position:absolute;left:14px;right:14px;top:16px;bottom:0;background:linear-gradient(43deg,transparent 49.5%,var(--u-line) 49.5% 50.5%,transparent 50.5%),linear-gradient(-43deg,transparent 49.5%,var(--u-line) 49.5% 50.5%,transparent 50.5%)}
#ugo-r2 .u-scaffold-deck{position:absolute;left:0;right:0;height:5px;background:var(--yard-edge)}
#ugo-r2 .u-deck-high{top:13px}#ugo-r2 .u-deck-low{top:96px}
#ugo-r2 .u-wall{position:absolute;right:17px;bottom:0;width:110px;height:78px;display:grid;grid-template-columns:repeat(2,1fr);gap:3px;align-content:end}
#ugo-r2 .u-wall i{height:21px;border:1px solid var(--yard-edge);background:var(--yard-dark)}
#ugo-r2 .u-wall i:first-child{grid-column:2}
#ugo-r2 .u-yard-bot{position:absolute;width:72px;height:109px;bottom:54px;z-index:3}
#ugo-r2 .u-bot-guide{left:10%}
#ugo-r2 .u-bot-builder{left:46%}
#ugo-r2 .u-bot-body{position:absolute;top:42px;left:15px;width:44px;height:42px;border:1.5px solid var(--yard-edge);border-radius:7px 7px 10px 10px;background:var(--yard-metal);display:flex;justify-content:center;align-items:center;gap:4px}
#ugo-r2 .u-bot-body i{height:9px;width:3px;background:var(--yard-dark)}
#ugo-r2 .u-bot-head{position:absolute;top:6px;left:10px;width:53px;height:37px;border:1.5px solid var(--yard-edge);border-radius:10px;background:var(--yard-metal);transform-origin:50% 100%;animation:u-bot-look 7s ease-in-out infinite}
#ugo-r2 .u-bot-helmet{position:absolute;left:2px;right:2px;top:-10px;height:18px;border-radius:24px 24px 1px 1px;background:var(--yard-hat);border:1px solid var(--yard-edge)}
#ugo-r2 .u-bot-helmet::before{content:'';position:absolute;left:20px;top:-3px;width:6px;height:17px;border-radius:4px;background:var(--yard-hat);border:1px solid var(--yard-edge)}
#ugo-r2 .u-bot-helmet::after{content:'';position:absolute;left:-5px;right:-5px;height:5px;bottom:-2px;border-radius:2px;background:var(--yard-hat);border:1px solid var(--yard-edge)}
#ugo-r2 .u-bot-visor{position:absolute;left:7px;right:7px;top:13px;height:15px;border-radius:5px;background:var(--u-bg);display:flex;justify-content:center;align-items:center;gap:8px}
#ugo-r2 .u-bot-visor i{height:4px;width:4px;border-radius:50%;background:var(--yard-hat)}
#ugo-r2 .u-bot-arm{position:absolute;top:48px;width:11px;height:33px;border:1px solid var(--yard-edge);border-radius:7px;background:var(--yard-metal);transform-origin:50% 5px}
#ugo-r2 .u-arm-left{left:6px;transform:rotate(17deg)}#ugo-r2 .u-arm-right{right:2px;transform:rotate(-20deg)}
#ugo-r2 .u-bot-arm::after{content:'';position:absolute;bottom:-3px;left:0;width:10px;height:10px;border-radius:50%;background:var(--yard-dark);border:2px solid var(--yard-edge)}
#ugo-r2 .u-bot-leg{position:absolute;top:78px;width:13px;height:26px;border:1px solid var(--yard-edge);border-radius:4px;background:var(--yard-metal);transform-origin:center 0}
#ugo-r2 .u-leg-left{left:18px}#ugo-r2 .u-leg-right{left:43px}
#ugo-r2 .u-bot-leg::after{content:'';position:absolute;bottom:-5px;left:-2px;width:20px;height:7px;border:1px solid var(--yard-edge);border-radius:3px;background:var(--yard-dark)}
#ugo-r2 .u-bot-guide .u-arm-right{animation:u-guide-signal 3s ease-in-out infinite}
#ugo-r2 .u-guide-baton{position:absolute;left:2px;bottom:-31px;width:5px;height:30px;background:var(--yard-hat);border-radius:2px}
#ugo-r2 .u-bot-builder .u-arm-right{animation:u-build-tool 1.9s ease-in-out infinite}
#ugo-r2 .u-bot-builder .u-bot-head{animation-delay:-2s}
#ugo-r2 .u-bot-tool{position:absolute;left:2px;bottom:-23px;width:5px;height:25px;background:var(--yard-edge);border-radius:2px}
#ugo-r2 .u-bot-tool::after{content:'';position:absolute;bottom:0;left:-6px;width:18px;height:9px;border:3px solid var(--yard-metal);border-radius:1px;background:var(--yard-dark)}
#ugo-r2 .u-tool-joint{position:absolute;right:-16px;top:28px;width:8px;height:8px;border:2px solid var(--yard-hat);background:var(--yard-dark);border-radius:50%}
#ugo-r2 .u-material-crew{position:absolute;right:2%;bottom:54px;height:109px;width:162px;z-index:4;animation:u-cart-travel 7s ease-in-out infinite}
#ugo-r2 .u-bot-hauler{left:0;bottom:0}
#ugo-r2 .u-bot-hauler .u-arm-right{transform:rotate(-66deg)}
#ugo-r2 .u-bot-hauler .u-leg-left{animation:u-bot-step 1s ease-in-out infinite}#ugo-r2 .u-bot-hauler .u-leg-right{animation:u-bot-step 1s ease-in-out -.5s infinite}
#ugo-r2 .u-yard-cart{position:absolute;right:0;bottom:0;width:83px;height:53px}
#ugo-r2 .u-cart-handle{position:absolute;left:-13px;top:7px;width:18px;height:24px;border-left:2px solid var(--yard-edge);border-bottom:2px solid var(--yard-edge);transform:rotate(-24deg)}
#ugo-r2 .u-cart-bed{position:absolute;left:0;right:0;bottom:12px;height:8px;border:1px solid var(--yard-edge);border-radius:2px;background:var(--yard-hat)}
#ugo-r2 .u-cart-blocks{position:absolute;left:8px;right:6px;bottom:21px;display:grid;gap:3px}
#ugo-r2 .u-cart-blocks i{height:15px;border:1px solid var(--yard-edge);background:var(--yard-dark)}
#ugo-r2 .u-cart-blocks i:first-child{width:70%;justify-self:end}
#ugo-r2 .u-cart-wheel{position:absolute;bottom:0;width:14px;height:14px;border:3px solid var(--yard-edge);border-radius:50%;background:var(--u-bg)}
#ugo-r2 .u-wheel-left{left:7px}#ugo-r2 .u-wheel-right{right:7px}
#ugo-r2 .u-yard-cone{position:absolute;bottom:54px;width:26px;height:34px;z-index:5;background:linear-gradient(to bottom,var(--yard-hat) 0 42%,var(--u-bg) 42% 57%,var(--yard-hat) 57%);clip-path:polygon(42% 0,58% 0,89% 88%,100% 88%,100% 100%,0 100%,0 88%,11% 88%)}
#ugo-r2 .u-cone-left{left:1%}#ugo-r2 .u-cone-right{left:68%}
#ugo-r2 .u-yard-barrier{position:absolute;left:24%;bottom:26px;width:108px;height:32px;border-top:9px solid var(--yard-hat)}
#ugo-r2 .u-yard-barrier::before{content:'';position:absolute;top:-9px;left:0;right:0;height:9px;background:repeating-linear-gradient(125deg,transparent 0 9px,var(--yard-dark) 9px 17px)}
#ugo-r2 .u-yard-barrier i{position:absolute;top:0;bottom:0;width:3px;background:var(--yard-edge)}
#ugo-r2 .u-yard-barrier i:first-child{left:8px}#ugo-r2 .u-yard-barrier i:last-child{right:8px}
#ugo-r2 .u-page-monitor{position:relative;width:min(100%,308px);margin:3px auto 0;padding-bottom:26px}
#ugo-r2 .u-page-monitor-case{position:relative;padding:8px 8px 16px;border:1px solid var(--yard-edge);border-radius:5px;background:var(--yard-metal)}
#ugo-r2 .u-page-monitor-case::after{content:'';position:absolute;bottom:6px;right:12px;width:4px;height:4px;border-radius:50%;background:var(--yard-hat);outline:1px solid var(--yard-edge)}
#ugo-r2 .u-page-monitor-screen{padding:19px 12px 16px;background:var(--u-bg);border:1px solid var(--yard-edge);border-radius:2px;text-align:center}
#ugo-r2 .u-page-monitor-title{font:14px/1.45 Consolas,'Courier New',monospace;letter-spacing:.12em;color:var(--u-accent);margin:0}
#ugo-r2 .u-page-monitor-stand{position:absolute;bottom:5px;left:calc(50% - 11px);width:22px;height:21px;background:var(--yard-metal);border:1px solid var(--yard-edge)}
#ugo-r2 .u-page-monitor-base{position:absolute;bottom:0;left:calc(50% - 51px);height:6px;width:102px;border:1px solid var(--yard-edge);border-radius:3px 3px 1px 1px;background:var(--yard-metal)}
#ugo-r2 .u-motion-control{position:absolute;bottom:17px;right:var(--u-pad);width:30px;height:30px;padding:0;border:1px solid var(--u-line);border-radius:3px;background:var(--u-bg);color:var(--u-sub);font:14px Consolas,monospace}
#ugo-r2 #u-nns[hidden] *,#ugo-r2[data-robot-motion=off] .u-yard-scene *{animation-play-state:paused!important}
@keyframes u-hoist-lift{0%,15%,100%{height:120px}45%,70%{height:87px}}
@keyframes u-guide-signal{0%,100%{transform:rotate(-80deg)}50%{transform:rotate(-133deg)}}
@keyframes u-build-tool{0%,100%{transform:rotate(-65deg)}40%{transform:rotate(-125deg)}55%{transform:rotate(-80deg)}}
@keyframes u-bot-look{0%,35%,100%{transform:rotate(0)}55%,72%{transform:rotate(7deg)}}
@keyframes u-cart-travel{0%,15%,100%{transform:translateX(0)}45%,65%{transform:translateX(-24px)}}
@keyframes u-bot-step{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}
@media (prefers-reduced-motion:reduce){#ugo-r2 .u-yard-scene *{animation:none!important}#ugo-r2 .u-bot-guide .u-arm-right{transform:rotate(-105deg)}#ugo-r2 .u-bot-builder .u-arm-right{transform:rotate(-85deg)}#ugo-r2 .u-motion-control{display:none}}
@container (max-width:560px){#ugo-r2 .u-nav{width:100%;justify-content:space-between;gap:10px}#ugo-r2 .u-nns-page{padding-top:37px;padding-bottom:56px}#ugo-r2 .u-employer-parent{font-size:11px;letter-spacing:.1em}#ugo-r2 #u-nns-name.u-matrix-title{font-size:28px;row-gap:.3em}#ugo-r2 .u-yard-scene{height:283px;margin-top:25px}#ugo-r2 .u-yard-crane{left:7%;width:144px;height:197px}#ugo-r2 .u-crane-boom{width:150px}#ugo-r2 .u-crane-mast{width:20px;left:15px}#ugo-r2 .u-crane-cab{width:34px;left:8px}#ugo-r2 .u-crane-foot{width:38px}#ugo-r2 .u-hoist{right:-5px;transform-origin:center top;scale:.8}#ugo-r2 .u-scaffold{right:3%;width:146px;height:160px}#ugo-r2 .u-wall{width:83px;height:63px;right:16px}#ugo-r2 .u-wall i{height:17px}#ugo-r2 .u-bot-guide{left:1%;scale:.72;transform-origin:left bottom}#ugo-r2 .u-bot-builder{left:39%;scale:.72;transform-origin:left bottom}#ugo-r2 .u-material-crew{right:-4px;width:135px;scale:.65;transform-origin:right bottom}#ugo-r2 .u-yard-cart{width:63px}#ugo-r2 .u-bot-hauler{left:-7px}#ugo-r2 .u-cone-left{left:0;width:19px;height:26px}#ugo-r2 .u-cone-right{left:61%;width:19px;height:26px}#ugo-r2 .u-yard-barrier{width:80px;left:17%}#ugo-r2 .u-nns-status{font-size:13px;letter-spacing:.11em}}

:root{color-scheme:dark;background:#131414}body{margin:0;background:#131414}#ugo-r2{max-width:1440px;margin:0 auto}#ugo-r2 a[data-route]{text-decoration:none}#ugo-r2 .u-brand{color:var(--u-fg)}#ugo-r2 .u-catalog-item{display:block;color:var(--u-fg)}#ugo-r2 .u-primary{color:var(--u-on-accent)}.u-readable-title{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;margin:-1px!important;padding:0!important;border:0!important}.u-skip-link{position:absolute;left:16px;top:-90px;background:#f3f2eb;color:#131414;padding:12px;z-index:10;font:14px Consolas,monospace}.u-skip-link:focus{top:12px}#main-content{outline:none}

/* A roomier editorial frame, with readable content rather than viewport filler. */
@media (min-width:800px){#ugo-r2{width:calc(100% - 64px)}}
#ugo-r2 .u-nav :is(button,a[data-route]){font-size:.875rem;min-height:36px;display:inline-flex;align-items:center}
#ugo-r2 .u-brand{font-size:.875rem}
#ugo-r2 .u-mono{font-size:.75rem}
#ugo-r2 :is(.u-degree,.u-intro,.u-detail-body){font-size:1rem}
#ugo-r2 :is(#u-project-detail,#u-about,#u-contact) .u-detail-body,#ugo-r2 #u-about .u-intro{font-size:1rem}
#ugo-r2 :is(.u-primary,.u-secondary){font-size:.875rem;min-height:44px}
#ugo-r2 :is(#u-project-detail,#u-about,#u-contact) .u-secondary{font-size:.8125rem}
#ugo-r2 .u-project-tags{font-size:.8125rem}
#ugo-r2 .u-project-title{font-size:1rem}
#ugo-r2 .u-footer{font-size:.75rem}
#ugo-r2 :is(#u-about,#u-contact) .u-kicker{font-size:.75rem}
#ugo-r2 :is(#u-project-detail,#u-about) .u-matrix-title{font-size:clamp(36px,4.5cqw,58px)}
#ugo-r2 :is(#u-project-detail,#u-about) .u-detail-row{font-size:.875rem}
#ugo-r2 :is(#u-project-detail,#u-about) .u-detail-row>span:first-child{font-size:.75rem}
#ugo-r2 #u-about .u-education{padding:clamp(24px,2.5cqw,36px)}
#ugo-r2 #u-about .u-education-item h3{font-size:clamp(19px,1.6cqw,23px)}
#ugo-r2 #u-about .u-education-item p{font-size:1rem;line-height:1.7}
#ugo-r2 .u-project-page-heading p{font-size:1rem;line-height:1.7;max-width:60ch}
#ugo-r2 .u-catalog-copy{padding:clamp(22px,2cqw,28px)}
#ugo-r2 .u-catalog-copy h3{font-size:clamp(23px,1.9cqw,27px);line-height:1.35}
#ugo-r2 .u-catalog-copy p{font-size:1rem;line-height:1.65;min-height:3.3em}
#ugo-r2 .u-open-project{font-size:.875rem;padding-top:16px;margin-top:22px}
#ugo-r2 .u-catalog-art>:first-child{scale:1.15}
@container (min-width:1000px){
  #ugo-r2 .u-main{gap:clamp(40px,4cqw,58px);padding-top:44px;padding-bottom:48px}
  #ugo-r2 .u-name-top{font-size:clamp(126px,10cqw,144px)}
  #ugo-r2 .u-name-bottom{width:min(100%,380px)}
  #ugo-r2 .u-intro{max-width:40ch}
  #ugo-r2 .u-degree{max-width:390px}
  #ugo-r2 .u-section-heading h2{font-size:1.375rem}
  #ugo-r2 .u-project-page-heading .u-page-title{font-size:clamp(65px,5.2cqw,74px)}
}

/* Contact: oversized dot lettering and two generous, unmistakable link rows. */
#ugo-r2 #u-contact .u-main{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(32px,4cqw,58px);min-height:0;padding-top:clamp(48px,6cqw,84px);padding-bottom:clamp(56px,7cqw,96px)}
#ugo-r2 #u-contact .u-copy{max-width:none}
#ugo-r2 #u-contact .u-matrix-title{font-size:clamp(40px,5.3cqw,76px);max-width:none;column-gap:.36em;row-gap:.3em;margin:28px 0 32px}
#ugo-r2 #u-contact .u-detail-body{max-width:39ch}
#ugo-r2 #u-contact .u-contact-panel{min-width:0;padding:clamp(24px,3cqw,42px);border:1px solid var(--u-line);border-top:2px solid var(--u-accent);background:linear-gradient(135deg,color-mix(in srgb,var(--u-accent) 5%,var(--u-inset)),var(--u-inset) 65%)}
#ugo-r2 #u-contact .u-contact-panel>.u-kicker{display:block;max-width:32ch;line-height:1.9;letter-spacing:.1em}
#ugo-r2 #u-contact .u-contact-panel>a{position:relative;font-size:clamp(1rem,1.5cqw,1.3125rem);line-height:1.6;letter-spacing:0;padding:32px 0;transition:color .18s ease}
#ugo-r2 #u-contact .u-contact-panel>a>span{font-size:.8125rem;margin-bottom:14px;letter-spacing:.12em}
#ugo-r2 #u-contact .u-contact-panel>a:last-child{padding-bottom:12px;border-bottom:0;letter-spacing:.035em}
#ugo-r2 #u-contact .u-contact-panel>a:hover{color:var(--u-accent)}
#ugo-r2 #u-contact .u-contact-panel>a:focus-visible{outline-offset:8px}

/* Work: preserve the approved animated artwork, increase its visual weight. */
#ugo-r2 .u-nns-page{padding-top:clamp(40px,4.5cqw,64px);padding-bottom:48px}
#ugo-r2 .u-employer-parent{font-size:.875rem;letter-spacing:.14em}
#ugo-r2 #u-nns-name.u-matrix-title{font-size:clamp(34px,4.7cqw,64px);max-width:1100px;row-gap:.32em;margin-top:26px}
#ugo-r2 .u-nns-role{font-size:1.125rem;letter-spacing:.07em;margin-top:28px}
#ugo-r2 .u-nns-department{font-size:.875rem;line-height:1.8;max-width:64ch;margin-top:10px;padding:0 8px}
#ugo-r2 .u-yard-scene{width:calc(100% / 1.18);max-width:850px;transform:scale(1.18);transform-origin:top center;margin:24px auto 32px}
#ugo-r2 .u-page-monitor{width:min(100%,270px);margin:0 auto}
#ugo-r2 .u-page-monitor-title{font-size:.875rem}
#ugo-r2 .u-motion-control{width:44px;height:44px;bottom:20px}
@container (max-width:800px){
  #ugo-r2 #u-contact .u-main{grid-template-columns:minmax(0,1fr);gap:36px;padding-top:40px;padding-bottom:48px}
  #ugo-r2 #u-contact .u-matrix-title{font-size:clamp(36px,7.8cqw,62px);max-width:640px;margin-top:24px}
  #ugo-r2 #u-contact .u-contact-panel{max-width:none}
  #ugo-r2 .u-yard-scene{width:100%;transform:none;margin-bottom:-22px}
  #ugo-r2 #u-nns-name.u-matrix-title{font-size:clamp(30px,5.2cqw,42px)}
}
@container (max-width:560px){
  #ugo-r2 .u-nav :is(button,a[data-route]){font-size:.875rem}
  #ugo-r2 #u-contact .u-matrix-title{font-size:clamp(30px,7.8cqw,43px)}
  #ugo-r2 #u-contact .u-contact-panel>a{font-size:1rem;padding:26px 0}
  #ugo-r2 .u-nns-page{padding-top:34px;padding-bottom:68px}
  #ugo-r2 .u-employer-parent{font-size:.75rem;letter-spacing:.08em}
  #ugo-r2 #u-nns-name.u-matrix-title{font-size:clamp(27px,7.8cqw,36px)}
  #ugo-r2 .u-nns-role{font-size:1rem}
  #ugo-r2 .u-nns-department{font-size:.8125rem}
  #ugo-r2 .u-page-monitor{width:min(100%,240px)}
  #ugo-r2 :is(#u-project-detail,#u-about) .u-matrix-title{font-size:clamp(30px,8.2cqw,40px)}
  #ugo-r2 .u-catalog-copy p{min-height:0}
}
@media (prefers-reduced-motion:reduce){#ugo-r2 #u-contact .u-contact-panel>a{transition:none}}
#ugo-r2 .u-section-heading{flex-wrap:wrap;row-gap:16px;align-items:center}
#ugo-r2 .u-section-heading .u-project-strip-title{display:flex;flex-wrap:wrap;column-gap:.4em;row-gap:.3em;font-size:clamp(22px,2.4cqw,30px);font-weight:400;line-height:1.2;letter-spacing:0;padding:3px 0}
