/* Camera motion is driven by the native scroll position. Embedded sites stay flat. */
:root{--lime:#c9e78f}
.hero h1 em{color:#cce99a}
.button-lime{background:#c9e78f}
.page-atmosphere{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.page-atmosphere>div{position:absolute;inset:-10%;opacity:0;transition:opacity 1.2s ease}
.atmosphere-product{background:radial-gradient(ellipse at 85% 35%,#254d552e,transparent 65%)}
.atmosphere-lab{background:radial-gradient(ellipse at 15% 50%,#4c478033,transparent 65%)}
body[data-motion-zone="product"] .atmosphere-product,body[data-motion-zone="lab"] .atmosphere-lab{opacity:1}
.header{transition:background .6s,border-color .6s,box-shadow .6s}
body[data-motion-zone="lab"] .header{background:linear-gradient(135deg,#22293bed,#151c29e8);border-color:#b4c9fc30}
.hero-sequence{position:relative;height:157svh;min-height:1200px;max-height:2040px}
.hero-sequence .hero{position:sticky;top:0;min-height:760px;max-height:1350px;--hero-progress:0;--lab-reveal:0}
.hero-copy{transform:translate3d(calc(var(--hero-progress)*-55px),calc(var(--hero-progress)*-45px),0);opacity:calc(1 - var(--hero-progress)*.55);transform-origin:0 50%;will-change:transform}
.hero h1{transform:none;opacity:1}
.hero-description{max-width:470px}
.hero-actions{gap:11px}
.hero-actions .button{min-height:72px;padding:15px 17px;gap:20px;flex:1;max-width:250px}
.hero-actions .button-glass{background:linear-gradient(130deg,#233742c9,#1b2a32b3);border-color:#93becd55;color:#d9ebec}
.hero-actions .button-glass:hover{background:#2c444c;border-color:#b5dae477}
.hero-actions .entry-copy{display:flex;flex-direction:column;gap:7px;font-size:12px;line-height:1.35;font-weight:400}
.entry-copy strong{font-size:12px;font-weight:550}
.entry-copy small{font-size:8px;line-height:1.5;opacity:.68;white-space:nowrap}
.hero-art{perspective:1400px;transform:translate3d(0,calc(var(--hero-progress)*-30px),0);opacity:1}
.hero-art .stage{transform-style:preserve-3d;transform:rotateX(var(--stage-x,0deg)) rotateY(var(--stage-y,0deg));transition:transform .5s var(--ease)}
.hero-art .floating-window{animation:none;will-change:transform;transition:box-shadow .35s,filter .35s;backface-visibility:hidden}
.scene-parked .floating-window,.scene-parked .engineering-window,.scene-parked .hero-copy{will-change:auto}
.hero-art .window-back{transform:translate3d(calc(var(--hero-progress)*190px),calc(var(--hero-progress)*-160px),calc(var(--hero-progress)*-220px)) rotateY(calc(-24deg + var(--hero-progress)*-15deg)) rotateX(9deg) rotateZ(calc(7deg + var(--hero-progress)*8deg)) scale(.9);opacity:calc(.85 - var(--hero-progress)*.6)}
.hero-art .window-middle{transform:translate3d(calc(var(--hero-progress)*-210px),calc(var(--hero-progress)*-90px),calc(var(--hero-progress)*180px)) rotateY(calc(-19deg + var(--hero-progress)*22deg)) rotateX(7deg) rotateZ(calc(-8deg - var(--hero-progress)*9deg)) scale(.94);opacity:calc(1 - var(--hero-progress)*.75)}
.hero-art .window-front{transform:translate3d(calc(var(--hero-progress)*240px),calc(var(--hero-progress)*170px),calc(var(--hero-progress)*310px)) rotateY(calc(-15deg + var(--hero-progress)*24deg)) rotateX(calc(10deg + var(--hero-progress)*-12deg)) rotateZ(calc(5deg + var(--hero-progress)*13deg));opacity:calc(1 - var(--hero-progress)*.8)}
.hero-art .brand-flow{transform:translate3d(calc(var(--hero-progress)*-110px),calc(var(--hero-progress)*-30px),0) rotate(calc(-8deg + var(--hero-progress)*35deg)) scale(calc(1 + var(--hero-progress)*.3));opacity:calc(.85 - var(--hero-progress)*.55)}
.hero:before{transition:opacity .3s;opacity:calc(1 - var(--hero-progress)*.8)}
.hero-bottom{opacity:calc(1 - var(--hero-progress)*.8)}
.engineering-window{position:absolute;z-index:6;top:8%;left:4%;width:88%;padding-bottom:18px;background:linear-gradient(140deg,#172b2bf7,#131d22f5);border:1px solid #bddcd755;border-radius:17px;box-shadow:0 40px 90px #0005,inset 0 1px #fff1;overflow:hidden;pointer-events:none;opacity:var(--lab-reveal);transform:translate3d(calc((1 - var(--lab-reveal))*-90px),calc((1 - var(--lab-reveal))*85px),0) perspective(1300px) rotateY(calc((1 - var(--lab-reveal))*28deg)) rotateX(calc((1 - var(--lab-reveal))*-10deg)) rotateZ(calc((1 - var(--lab-reveal))*-6deg));will-change:transform,opacity}
.hero-lab-active .engineering-window{pointer-events:auto}
.engineering-window .window-top{padding:12px 18px;font-size:8px;color:#b6cdc9}
.signal-caption{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:24px 25px 10px}
.signal-caption>span{font-size:clamp(21px,2.2vw,35px);letter-spacing:-1px;line-height:1.1}
.signal-caption em{font-family:Georgia,serif;font-weight:400;color:#a8d9cb}
.signal-caption small{font-size:8px;line-height:1.7;color:#87a5a0}
.engineering-window>svg{display:block;width:100%;height:auto;padding:10px 25px 5px}
.signal-grid{stroke:#98d1c214;stroke-width:1}
.signal-raw{stroke:#9bb4cf65;stroke-width:1.6}
.signal-estimate{stroke:#d5ff5f;stroke-width:2.5;stroke-dasharray:800;stroke-dashoffset:calc((1 - var(--signal-reveal,1))*800)}
.signal-target{stroke:#d5ff5f80;stroke-width:1;fill:#d5ff5f08}
.signal-target-core{fill:#d5ff5f}
.signal-legend{display:flex;gap:25px;padding:5px 25px 0;font-size:8px;color:#9db6b0}
.signal-legend span:before{content:'';display:inline-block;width:16px;height:2px;background:#9bb4cf65;vertical-align:middle;margin-right:6px}
.signal-legend span:last-child:before{background:var(--lime)}
.hero .name-line,.hero h1>em{display:inline-block;transform-origin:left center}
.hero .name-line{transform:translateX(calc(var(--hero-progress)*-18px))}
.hero h1>em{transform:translateX(calc(var(--hero-progress)*24px)) rotate(calc(var(--hero-progress)*-1.5deg))}
.hero-art .window-front{top:-2%;right:-7%;width:86%;z-index:1;transform:translate3d(calc(var(--hero-progress)*150px),calc(var(--hero-progress)*-90px),calc(var(--hero-progress)*-100px)) rotateY(calc(-20deg - var(--hero-progress)*12deg)) rotateX(7deg) rotateZ(calc(5deg + var(--hero-progress)*6deg));opacity:calc(.9 - var(--hero-progress)*.35)}
.engineering-window{top:45%;left:-8%;width:80%;opacity:1;pointer-events:auto;transform:translate3d(calc(var(--hero-progress)*-65px),calc(var(--hero-progress)*-60px),0) perspective(1400px) rotateY(calc(-12deg + var(--hero-progress)*18deg)) rotateX(calc(5deg - var(--hero-progress)*8deg)) rotateZ(calc(-4deg + var(--hero-progress)*6deg))}
.type-line{display:inline-block;max-width:100%;vertical-align:baseline;transform:translate3d(0,calc((1 - var(--type-progress,1))*25px),0)}
.type-accent{transform:translate3d(calc((1 - var(--type-progress,1))*30px),calc((1 - var(--type-progress,1))*32px),0) rotate(calc((1 - var(--type-progress,1))*-1deg));transform-origin:left center}
.facet-section{position:relative;padding-block:100px 110px;perspective:1500px;border-top:1px solid var(--line)}
.facet-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:25px 8%;align-items:end;margin-bottom:48px}
.facet-heading .eyebrow{grid-column:1/-1;color:#9cbeb8;font-size:9px;margin:0}
.facet-heading h2{font-size:clamp(40px,4.4vw,72px)}
.facet-heading h2 em{color:#c3d5d1}
.facet-heading>p:last-child{font-size:12px;line-height:1.9;max-width:330px;color:#9daa9f;margin:0 0 4px}
.facet-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;perspective:1500px}
.facet{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:29px 32px 30px;border:1px solid #cbe5c92b;border-radius:21px;background:#1d2619;isolation:isolate;transform-origin:50% 60%}
.facet:before{content:'';position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 90% 10%,#c5f35d17,transparent 65%);opacity:.6;transition:opacity .4s}
.facet-engineering{background:#182525;border-color:#9fc7d43b}
.facet-engineering:before{background:radial-gradient(ellipse at 90% 10%,#8abed822,transparent 70%)}
.facet:hover:before{opacity:1}
.facet-top{display:flex;justify-content:space-between;gap:20px;color:#a6b699;font-size:9px;letter-spacing:.5px}
.facet-top>span:last-child{font-size:23px;line-height:1;color:var(--lime);transition:transform .35s}
.facet:hover .facet-top>span:last-child{transform:translate(3px,-3px)}
.facet-illustration{height:210px;position:relative;margin-block:20px 10px;pointer-events:none}
.web-illustration{perspective:800px}
.mini-browser{position:absolute;inset:10px 12% 5px;padding:10px 12px;border:1px solid #d0ecaa55;border-radius:10px;background:linear-gradient(135deg,#33452a,#1a2317);transform:rotateY(calc(-25deg + var(--facet-progress,1)*15deg)) rotateX(calc(15deg - var(--facet-progress,1)*10deg)) rotateZ(-5deg);box-shadow:15px 20px 30px #0004}
.mini-browser>span{display:inline-block;width:4px;height:4px;margin-right:3px;background:#c2d3a57a;border-radius:50%;vertical-align:top}
.mini-layout{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;padding:8px 5px}
.mini-layout i{display:block;grid-column:1/-1;height:70px;background:linear-gradient(110deg,#a0c07217,#b3d45b55);border:1px solid #ceeaaa20;border-radius:5px}
.mini-layout b{height:43px;border:1px solid #c2dd9a25;border-radius:5px;background:#badb9120}
.mini-surface{position:absolute;left:10%;right:8%;bottom:-10px;height:35px;border:1px solid #bfdf7528;border-radius:50%;transform:rotate(-5deg);background:#c7ed5b06}
.engineering-illustration{display:grid;place-items:center}
.engineering-illustration svg{width:92%;height:auto;max-height:190px}
.engineering-illustration .signal-estimate{stroke-dashoffset:calc((1 - var(--facet-progress,1))*800)}
.facet h3{font-size:clamp(29px,3.2vw,49px);line-height:1.08;font-weight:450;letter-spacing:-.055em;margin:10px 0 20px}
.facet h3 em{color:#d0dfbf}
.facet-engineering h3 em{color:#b4d1d9}
.facet>p{font-size:12px;color:#95a78a;line-height:1.9;max-width:330px;margin:0 0 25px}
.facet-engineering>p{color:#92aaa9}
.facet-action{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:auto;padding-top:20px;border-top:1px solid #d3e4ba21;font-size:11px;color:#d7e5c8}
.facet-action>span{color:var(--lime);font-size:18px}
.farmium-overview{display:grid;grid-template-columns:1fr 1fr;gap:14px;perspective:1600px}
.module-card{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;text-align:left;border:1px solid #b9d9e129;border-radius:14px;background:#1e2b2c;padding:25px;transition:border-color .3s,background .3s;isolation:isolate}
.module-card:hover{border-color:#d0e8ed70;background:#253535}
.module-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.module-kicker{font-size:9px;color:#adc3c9;letter-spacing:.8px;text-transform:uppercase}
.module-copy strong{font-size:clamp(24px,2.2vw,38px);font-weight:450;letter-spacing:-1px;line-height:1.12}
.module-action{display:flex;align-items:center;gap:20px;font-size:10px;color:#c4d6c0}
.module-action i{display:inline-block;font-size:20px;font-style:normal;color:var(--lime);transition:transform .35s}
.module-card:hover .module-action i{transform:translate(4px,-3px)}
.module-analytics{grid-row:span 2;min-height:530px;background:#1e2a35;padding:28px;justify-content:space-between}
.module-analytics:hover{background:#243341}
.module-analytics .module-copy{gap:20px}
.module-analytics .module-copy strong{font-size:clamp(28px,3vw,45px)}
.module-image{margin:30px -3px -4px;border-radius:8px;overflow:hidden;border:1px solid #e3f3fc33;background:#fff;box-shadow:0 16px 30px #0003;transform:perspective(1000px) rotateY(-5deg) rotateX(4deg);transition:transform .6s var(--ease)}
.module-image img{width:100%;height:auto}
.module-card:hover .module-image{transform:none}
.module-workflow{min-height:245px;background:#212c25}
.module-workflow .module-copy{max-width:80%}
.module-flow{width:85%;align-self:flex-end;height:90px;margin:0 -5px -10px 0}
.module-flow path{stroke:#b6e79e;stroke-width:1.8;stroke-dasharray:5 5;animation:flow-signal 10s linear infinite paused}
.is-playing .module-flow path{animation-play-state:running}
.module-flow rect{fill:#293c2c;stroke:#adce9d66}
.module-flow text{fill:#c7d8c3;font:11px Portfolio,Arial,sans-serif;text-anchor:middle}
.module-flow circle{fill:#d5ff5f}
.module-calendar,.module-collections{min-height:215px;display:grid;grid-template-columns:1fr 35%;gap:12px;align-items:center}
.module-calendar .module-copy,.module-collections .module-copy{gap:13px}
.module-calendar .module-copy strong,.module-collections .module-copy strong{font-size:clamp(22px,2vw,31px)}
.module-collections{grid-column:1/-1;display:flex;flex-direction:row;min-height:160px;justify-content:space-between}
.module-collections .module-copy{display:grid;grid-template-columns:1fr 1.3fr 1fr;align-items:center;width:75%;gap:25px}
.calendar-art{height:130px;position:relative;display:flex;justify-content:space-around;border:1px solid #afced333;border-radius:8px;background:#b6d1d508;transform:rotate(5deg)}
.calendar-art>span{height:100%;border-right:1px solid #afced320}
.calendar-art i{position:absolute;height:18px;left:10%;right:35%;top:30%;border-radius:4px;background:#a1c7d54a;border:1px solid #a1c7d555}
.calendar-art i:nth-of-type(2){left:35%;right:8%;top:54%;background:#d5ff5f22;border-color:#d5ff5f44}
.calendar-art i:nth-of-type(3){left:14%;right:40%;top:78%;background:#c4a6e526;border-color:#c4a6e544}
.library-art{position:relative;min-width:130px;height:100px;align-self:center;margin-right:20px}
.library-art>span{position:absolute;display:grid;place-items:center;left:0;top:0;width:85px;height:85px;border:1px solid #b0c9da55;border-radius:9px;background:#2b3c44;transform:rotate(-9deg)}
.library-art>span:last-child{left:50px;top:10px;background:#344336;transform:rotate(8deg);border-color:#b5ce9a55}
.library-art svg{width:60px;height:60px;stroke:#c0d5be;stroke-width:1.2}
.feature-heading>p{max-width:360px;font-size:12px}
.feature-footer{padding-top:24px}
.featured-product[hidden]{display:none}
.inline-viewer{margin-bottom:30px;transform:none!important}
.frame-loading.load-failed{pointer-events:auto}
.frame-loading.load-failed>div{flex-wrap:wrap;justify-content:center}
.frame-loading.load-failed button{border:1px solid #d5ff5f55;border-radius:6px;padding:8px 13px;background:#d5ff5f16;color:#d5ff5f;font-size:11px}
.inline-viewer.details-open{height:auto;min-height:0;overflow:visible}
.details-open .dialog-content{flex:none;overflow:visible;overscroll-behavior:auto;padding:35px clamp(20px,4vw,65px) 45px}
.details-open .dialog-header{position:sticky;top:var(--header-offset);z-index:8;background:#1b2518f5;border-radius:16px 16px 0 0;backdrop-filter:blur(16px)}
.details-open .viewport-switch{display:none}
.details-open .dialog-intro{padding-bottom:30px;border-bottom:1px solid var(--line)}
.details-open .dialog-intro>p{max-width:600px;font-size:15px;line-height:1.9}
.details-open .dialog-details p{font-size:13px;line-height:1.9}
.project-sections{display:grid;grid-template-columns:1fr 1fr;gap:35px 50px;padding:25px 0 30px;border-top:1px solid var(--line)}
.project-sections h3{font-size:18px;font-weight:450;letter-spacing:-.5px;margin:0 0 15px}
.project-sections p{font-size:13px;line-height:1.9;color:#9eb08b;margin:0}
.project-role{font-size:10px;color:#adc795;letter-spacing:.5px;margin:0 0 20px}
.project-card{--card-reveal:1;perspective:1400px;transform:translate3d(calc((1 - var(--card-reveal))*var(--card-direction,1)*35px),calc((1 - var(--card-reveal))*70px),0) perspective(1400px) rotateX(calc((1 - var(--card-reveal))*8deg)) rotateY(calc((1 - var(--card-reveal))*var(--card-direction,1)*7deg));opacity:calc(.3 + var(--card-reveal)*.7);transition:none!important;transform-origin:50% 85%}
.project-card.card-settled,.project-card:focus-within{transform:none;opacity:1;will-change:auto}
.project-card[data-id="gluck"]{grid-column:auto}
.project-card[data-id="gluck"] .project-visual{aspect-ratio:1.5}
.project-card[data-id="gluck"] .project-browser{left:9%;right:9%;top:23%}
.project-card[data-id="gluck"] .project-type{display:none}
.project-card .project-browser{transform:translateY(calc((1 - var(--card-reveal))*20px))}
.project-visual:hover .project-browser{transform:translateY(-6px)}
.reveal{--reveal-progress:1}
.js-motion .facet,.js-motion .module-card{transition:opacity .85s var(--ease),transform .85s var(--ease)}
.js-motion .facet:not(.visible){opacity:0;transform:translate3d(0,80px,-100px) rotateX(9deg)}
.js-motion .facet-engineering:not(.visible){transform:translate3d(45px,100px,-150px) rotateY(-10deg)}
.js-motion .module-card:not(.visible){opacity:0;transform:translate3d(0,45px,-70px) rotateX(6deg)}
.js-motion .module-calendar{transition-delay:.08s}.js-motion .module-collections{transition-delay:.14s}
@keyframes flow-signal{to{stroke-dashoffset:-100}}
@media(min-width:2200px){.entry-copy strong{font-size:16px}.entry-copy small{font-size:11px}.hero-actions .button{max-width:320px;min-height:90px;padding:21px 24px}.facet-section{padding-block:140px}.facet{padding:42px;min-height:640px}.facet-heading>p:last-child,.facet>p{font-size:16px;max-width:440px}.facet-top,.facet-action{font-size:14px}.facet-illustration{height:270px}.mini-layout i{height:120px}.mini-layout b{height:65px}.module-card{padding:35px}.module-analytics{min-height:700px}.module-workflow{min-height:335px}.module-calendar{min-height:270px}.module-kicker{font-size:12px}.module-action{font-size:14px}.module-flow{height:135px}.module-collections{min-height:190px}.feature-heading>p{font-size:16px;max-width:490px}.engineering-window .window-top{font-size:12px}.signal-caption small,.signal-legend{font-size:12px}}
@media(min-width:761px) and (max-height:760px){.hero-sequence .hero{min-height:100svh;padding-block:125px 65px}.hero h1{font-size:clamp(78px,7.5vw,110px);margin-bottom:18px}.hero .eyebrow{margin-bottom:18px;font-size:8px}.hero-description{font-size:12px;margin-bottom:22px}.hero-art{top:23%;height:55%}.hero-actions .button{min-height:62px;padding:12px}.entry-copy strong{font-size:10px}.entry-copy small{font-size:7px}.hero-actions .button{gap:12px}.hero-bottom{bottom:17px;padding-top:15px}}
@media(max-width:1100px){.hero-actions{flex-direction:column;max-width:280px}.hero-actions .button{width:100%;max-width:none;min-height:62px}.entry-copy small{font-size:8px}.facet{padding:25px}.facet-illustration{height:170px}.facet-heading h2{font-size:47px}.module-analytics{min-height:500px}.module-card{padding:21px}.module-calendar{grid-template-columns:1fr 28%}.module-collections .module-copy{grid-template-columns:1fr 1.4fr;width:72%}.module-collections .module-action{grid-column:1/-1}.engineering-window{top:17%}}
@media(max-width:760px){
  .page-atmosphere{display:none}.hero-sequence{height:auto;min-height:0;max-height:none}.hero-sequence .hero{position:relative;height:auto;min-height:1080px;max-height:none}.hero-copy{transform:none!important;opacity:1!important;will-change:auto}.hero-art{top:600px;height:320px;transform:none;perspective:1100px}.hero-art .stage{transition:none}.hero-art .floating-window{will-change:auto}.hero-art .window-back{transform:translate3d(calc(var(--hero-progress)*40px),calc(var(--hero-progress)*-30px),0) rotate(-2deg) scale(.9);opacity:.9}.hero-art .window-middle{transform:translate3d(calc(var(--hero-progress)*-25px),0,0) rotate(-8deg);opacity:1}.hero-art .window-front{transform:translate3d(calc(var(--hero-progress)*25px),calc(var(--hero-progress)*12px),0) rotate(5deg);opacity:1}.hero-actions{gap:10px;max-width:310px}.hero-actions .button{min-height:66px;padding:13px 16px}.entry-copy strong{font-size:12px}.entry-copy small{font-size:9px}.engineering-window{display:none}.hero-bottom{opacity:1}.facet-section{padding-block:50px 65px}.facet-heading{display:block;margin-bottom:28px}.facet-heading .eyebrow{font-size:7px;letter-spacing:.8px;margin-bottom:24px}.facet-heading h2{font-size:38px}.facet-heading>p:last-child{font-size:11px;margin-top:23px;max-width:330px}.facet-grid{grid-template-columns:1fr;gap:18px}.facet{padding:24px 23px;min-height:0}.facet-illustration{height:140px;margin-block:13px 8px}.mini-browser{inset:0 18%}.mini-layout{gap:6px;padding:2px}.mini-layout i{height:43px}.mini-layout b{height:25px}.mini-surface{bottom:0;left:17%;right:14%;height:28px}.facet h3{font-size:34px;margin-top:8px;margin-bottom:16px}.facet>p{font-size:11px;line-height:1.8;margin-bottom:20px}.facet-top{font-size:8px}.facet-top>span:last-child{font-size:22px}.facet-action{font-size:10px;padding-top:15px}.engineering-illustration svg{max-height:140px}.farmium-overview{grid-template-columns:1fr;gap:12px}.module-card{padding:22px}.module-analytics{grid-row:auto;min-height:0;display:flex}.module-analytics .module-copy{gap:15px}.module-analytics .module-copy strong{font-size:30px}.module-copy strong{font-size:28px}.module-image{margin-top:25px;transform:none}.module-kicker{font-size:8px}.module-action{font-size:10px}.module-workflow{min-height:235px}.module-flow{height:82px;width:100%;margin-top:15px}.module-calendar{min-height:195px;grid-template-columns:1fr 30%}.module-calendar .module-copy strong,.module-collections .module-copy strong{font-size:25px}.module-collections{min-height:195px;display:grid;grid-template-columns:1fr 30%;gap:10px}.module-collections .module-copy{display:flex;gap:13px;width:auto}.module-collections .module-action{grid-column:auto}.library-art{min-width:0;width:65px;height:95px;margin-right:0}.library-art>span{width:58px;height:68px;left:-10px}.library-art>span:last-child{left:15px}.library-art svg{width:45px}.calendar-art{height:110px}.feature-heading h3{font-size:36px}.feature-heading>p{font-size:11px}.feature-footer{padding:20px 5px 0}.feature-footer p{font-size:9px}.feature-footer .text-link{font-size:11px}.details-open .dialog-header{top:94px;border-radius:11px 11px 0 0}.details-open .dialog-content{padding:26px 18px}.details-open .dialog-intro>p{font-size:13px}.details-open .dialog-details p{font-size:12px}.project-sections{grid-template-columns:1fr;gap:26px;padding-block:24px}.project-sections h3{font-size:17px}.project-sections p{font-size:12px}.project-role{font-size:9px;line-height:1.7}.project-card{transform:translate3d(0,calc((1 - var(--card-reveal))*35px),0);opacity:calc(.5 + var(--card-reveal)*.5)}.project-card .project-browser{transform:none}.js-motion .facet:not(.visible),.js-motion .facet-engineering:not(.visible),.js-motion .module-card:not(.visible){transform:translateY(25px)}
}
@media(max-width:370px){.header{padding-inline:10px;gap:8px}.header-actions{gap:5px}.hero h1{font-size:66px}.hero-art{top:600px}.hero .eyebrow{font-size:7px;letter-spacing:.7px}.facet-heading h2{font-size:34px}.facet h3{font-size:30px}.facet-illustration{height:130px}.module-card{padding:19px}.module-copy strong,.module-analytics .module-copy strong{font-size:27px}.module-calendar .module-copy strong,.module-collections .module-copy strong{font-size:23px}.module-action{font-size:9px}.feature-heading h3{font-size:34px}}
@media(max-width:760px){.hero-art .window-front{top:0;right:-6%;width:87%;opacity:.9;transform:translate3d(calc(var(--hero-progress)*20px),calc(var(--hero-progress)*-16px),0) rotate(5deg)}.engineering-window{display:block;top:23%;left:-3%;width:92%;padding-bottom:14px;transform:translate3d(0,calc(var(--hero-progress)*-18px),0) rotate(-4deg);will-change:auto}.engineering-window .window-top{font-size:6px;padding:9px 12px}.signal-caption{padding:17px 16px 6px;gap:10px}.signal-caption>span{font-size:22px;letter-spacing:-.7px}.signal-caption small{font-size:6px}.engineering-window>svg{padding:8px 15px 0}.signal-legend{padding:3px 15px 0;font-size:6px;gap:12px}.hero-art .brand-flow{filter:none}.hero .name-line,.hero h1>em{transform:none}.type-line{transform:translateY(calc((1 - var(--type-progress,1))*14px))}.type-accent{transform:translate3d(calc((1 - var(--type-progress,1))*12px),calc((1 - var(--type-progress,1))*18px),0)}}
@media(prefers-reduced-motion:reduce){.hero-sequence{height:auto;min-height:0;max-height:none}.hero-sequence .hero{position:relative}.hero-copy{transform:none!important;opacity:1!important}.hero-art .floating-window{will-change:auto}.engineering-window{display:block;transform:none!important;pointer-events:auto}.hero-bottom{opacity:1}.page-atmosphere{display:none}.facet,.module-card,.project-card,.module-image,.type-line{transform:none!important;opacity:1!important;will-change:auto}.signal-estimate{stroke-dashoffset:0}.module-flow path{animation:none}.hero-art{transform:none!important;opacity:1!important}}

/* Personal presentation: two equally weighted paths and real technical work. */
.wordmark{font-weight:600;letter-spacing:-.9px}
.wordmark .brand-symbol{display:none}
.hero h1>em{font-size:.64em;letter-spacing:-.055em;white-space:nowrap}
.hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:550px}
.hero-actions .button{position:relative;max-width:none;min-width:0;min-height:118px;padding:19px 19px 29px;align-items:flex-start;border-radius:15px;overflow:hidden;box-shadow:inset 0 1px #ffffff0c,0 12px 35px #0001;backdrop-filter:blur(12px)}
.hero-actions .entry-copy{gap:10px;width:100%}
.hero-actions .entry-copy strong{font-size:14px;line-height:1.35;font-weight:500;max-width:210px}
.hero-actions .entry-copy small{font-size:9px;white-space:normal;line-height:1.6;opacity:.74;max-width:185px}
.hero-actions .button>span:last-child{position:absolute;right:17px;bottom:15px;font-size:19px}
.hero-actions .entry-engineering{background:linear-gradient(135deg,#31556277,#1e354ba1);border-color:#93c3d75c;color:#e0edf2}
.hero-actions .entry-web{background:linear-gradient(135deg,#42603665,#28381fa1);border-color:#c2e69d59;color:#e3edcf}
.hero-actions .entry-engineering:hover{background:#294650;box-shadow:inset 0 1px #c5e8ff30,0 12px 40px #5a9cbd0d}
.hero-actions .entry-web:hover{background:#35472a;box-shadow:inset 0 1px #e8f9c730,0 12px 40px #b1d8670d}
.facet{padding:30px;backdrop-filter:blur(16px);background:linear-gradient(140deg,#20352fe6,#17231fe8);border-color:#afcfae35}
.facet-engineering{background:linear-gradient(140deg,#243746ed,#15272fea);border-color:#a3cada45}
.facet:after,.contact-form:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(360px circle at var(--glass-x,50%) var(--glass-y,20%),#b8dfff12,transparent 70%);opacity:0;transition:opacity .5s}
.glass-active:after{opacity:1}
.facet h3{margin-top:28px;font-size:clamp(31px,3.1vw,47px)}
.facet>p{max-width:490px;min-height:64px;color:#a2b9b7}
.facet-top{font-size:10px}
.facet-action{margin-top:27px;width:100%}
.engineering-live{border:1px solid #a7d7e42b;border-radius:12px;overflow:hidden;background:#112125b3;margin-top:3px}
.engineering-live-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid #9eced021;color:#b5d5d8}
.engineering-live-heading strong{font-size:11px;font-weight:450}
.engineering-live-heading>span{font-size:8px;color:#8eafad}
.home-sensor-engine{height:330px;position:relative;min-width:0;overflow:hidden}
.home-sensor-engine canvas{display:block;max-width:100%}
.home-sensor-engine button{font-family:Portfolio,Arial,sans-serif!important;min-height:30px}
.engineering-loading{display:flex;align-items:center;justify-content:center;height:100%;font-size:11px;color:#a5bbb2;margin:0}
.engineering-live-note{font-size:9px;line-height:1.8;color:#88a6a9;padding:0 15px 15px;margin:0}
.engineering-examples{display:grid;gap:0;margin-top:23px}
.engineering-example{display:grid;grid-template-columns:1fr auto;gap:7px 20px;padding:15px 0;border-bottom:1px solid #a7c6c420}
.engineering-example>span{font-size:13px;color:#d1e1e5}
.engineering-example>i{font-size:18px;color:#99c6d6;font-style:normal;transition:transform .3s}
.engineering-example>small{grid-column:1/-1;font-size:10px;line-height:1.7;color:#8da6af;max-width:450px}
.engineering-example:hover>i{transform:translate(3px,-3px)}
.facet-site-preview{position:relative;border:1px solid #c0dcb13d;border-radius:11px;background:#172218;overflow:hidden;padding:0;display:block;width:100%;aspect-ratio:16/10;margin-top:3px;box-shadow:0 18px 30px #0003}
.facet-site-preview img{width:100%;height:100%;object-fit:contain;transition:transform .8s var(--ease)}
.facet-site-preview>span{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;align-items:center;padding:28px 16px 13px;font-size:11px;text-align:left;color:#e3eadb;background:linear-gradient(transparent,#0e180af2)}
.facet-site-preview i{font-style:normal;color:var(--lime);font-size:20px}
.facet-site-preview:hover img{transform:scale(1.025)}
.web-capabilities{display:grid;gap:0;margin-top:24px}
.web-capabilities p{padding:18px 0;margin:0;border-bottom:1px solid #c8ddb121}
.web-capabilities strong{display:block;font-weight:450;font-size:14px;color:#d5e2c5;margin-bottom:8px}
.web-capabilities span{font-size:11px;color:#97a98a;line-height:1.7}
.facet:focus-within{transform:none!important}

/* Every project has the same viewport, chrome and safe area, including hover. */
.project-visual,.project-card[data-id="gluck"] .project-visual{aspect-ratio:1.35;display:flex;align-items:center;justify-content:center;padding:68px 20px 28px}
.project-browser,.project-card[data-id="gluck"] .project-browser{position:relative;inset:auto;width:88%;margin:0;flex-shrink:0;border-radius:10px}
.project-browser .window-top{min-height:24px;padding:8px 11px;font-size:6px}
.project-browser .preview-content{aspect-ratio:16/10;overflow:hidden;background:#18211b}
.project-browser .preview-content>img,.project-browser .preview-content>.preview-secondary{width:100%;height:100%;aspect-ratio:16/10;object-fit:contain;inset:0}
.project-visual .project-type{display:none!important}
.project-label{top:22px;left:24px;right:62px;line-height:1.5}
.project-label>span:last-child{font-size:8px;border:none;border-radius:0;padding:0;opacity:.8}
.module-image{transform:none;margin-bottom:0;max-height:none;flex-shrink:0}
.module-image img{aspect-ratio:16/10;object-fit:contain;height:auto}
#sitios{scroll-margin-top:10px}

.contact-main{align-items:flex-start;gap:8%;padding-bottom:10px}
.contact-main>div{flex:1;min-width:0;padding-top:25px}
.contact-main h2{font-size:clamp(55px,6.1vw,103px)}
.contact-form{position:relative;isolation:isolate;width:48%;flex-shrink:0;min-width:0;padding:28px;border:1px solid #b9d9d439;border-radius:18px;background:linear-gradient(135deg,#2b3d37d9,#1c2e2bd9);backdrop-filter:blur(16px);box-shadow:inset 0 1px #fff08,0 25px 70px #0002}
.form-heading{font-size:23px!important;font-weight:450;letter-spacing:-.7px;color:#e1ebdc!important;margin:0 0 26px!important;line-height:1.2!important}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form label{display:flex;flex-direction:column;gap:10px;font-size:10px;color:#adbdac;margin-bottom:21px;line-height:1.5;min-width:0}
.contact-form input,.contact-form textarea,.contact-form select{width:100%;min-width:0;border:1px solid #aac6b72c;border-radius:8px;background:#0f20196b;color:#e5ecdc;padding:12px 13px;outline:none;transition:border-color .25s,background .25s;font:12px/1.6 Portfolio,Arial,sans-serif}
.contact-form textarea{resize:vertical;min-height:125px;max-height:350px}
.contact-form[hidden]{display:none!important}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:#acd1ca8c;background:#142922}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#718a79;font-size:11px}
.contact-form select option{color:#d8e6d4;background:#20342a}
.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;left:-10000px;top:0;pointer-events:none}
.form-submit-row{display:flex;align-items:center;gap:17px;justify-content:space-between}
.contact-form button[type=submit]{font-size:11px;min-height:45px;flex-shrink:0}
.contact-form button:disabled{opacity:.6;cursor:wait;transform:none}
.form-privacy{font-size:9px;line-height:1.7;color:#8ca38a;max-width:130px}
.form-status{font-size:10px!important;line-height:1.8!important;min-height:36px;margin:19px 0 0!important;color:#a2b69a!important}
.form-status[data-state=success]{color:#d2e9af!important}
.form-status[data-state=notice]{color:#d7c6a3!important}
@media(min-width:2200px){.hero-actions{max-width:720px}.hero-actions .button{min-height:145px;padding:26px 28px 35px}.hero-actions .entry-copy strong{font-size:19px;max-width:290px}.hero-actions .entry-copy small{font-size:13px;max-width:260px}.hero-actions .button>span:last-child{font-size:25px}.facet>p{font-size:16px;min-height:90px}.facet-top{font-size:13px}.home-sensor-engine{height:430px}.engineering-live-heading strong{font-size:15px}.engineering-live-heading>span,.engineering-live-note{font-size:12px}.engineering-example>span,.web-capabilities strong{font-size:18px}.engineering-example>small,.web-capabilities span{font-size:14px}.contact-form{padding:38px}.contact-form label{font-size:14px}.contact-form input,.contact-form textarea,.contact-form select{font-size:16px;padding:15px}.form-heading{font-size:30px!important}.contact-form button[type=submit]{font-size:15px}.form-privacy,.form-status{font-size:13px!important}}
@media(max-width:1100px){.hero-actions .button{padding:15px 14px 28px;min-height:122px}.hero-actions .entry-copy strong{font-size:12px}.hero-actions .entry-copy small{font-size:8px}.facet{padding:24px}.facet h3{font-size:34px}.facet>p{font-size:11px}.contact-form{padding:23px;width:51%}.form-row{grid-template-columns:1fr;gap:0}.contact-main h2{font-size:55px}.contact-form input,.contact-form textarea,.contact-form select{padding:11px}}
@media(max-width:760px){.hero-sequence .hero{min-height:0;padding-bottom:85px}.hero-copy{width:100%}.hero-actions{display:grid;grid-template-columns:1fr 1fr;max-width:none;gap:10px}.hero-actions .button{min-height:125px;padding:16px 14px 30px;width:auto;backdrop-filter:none}.hero-actions .entry-copy strong{font-size:13px}.hero-actions .entry-copy small{font-size:9px}.hero-actions .button>span:last-child{font-size:18px;right:13px;bottom:13px}.hero-art{position:relative;top:auto;right:auto;width:110%;height:360px;margin:65px -5% 0}.hero-art .engineering-window{top:24%;width:92%;left:-1%}.hero-bottom{bottom:22px}.facet{padding:23px 20px;backdrop-filter:none}.facet h3{font-size:34px;margin-top:23px}.facet>p{font-size:11px;min-height:0;max-width:none}.facet-top{font-size:8px}.home-sensor-engine{height:345px}.engineering-live-heading{padding:12px}.engineering-live-heading strong{font-size:10px}.engineering-live-heading>span{font-size:7px}.engineering-live-note{font-size:9px;padding:0 12px 13px}.engineering-example{padding:13px 0}.engineering-example>span{font-size:12px}.engineering-example>small{font-size:10px}.facet-action{font-size:11px}.facet-site-preview{margin-top:5px}.web-capabilities p{padding:17px 0}.web-capabilities strong{font-size:13px}.web-capabilities span{font-size:11px}.project-visual,.project-card[data-id="gluck"] .project-visual{aspect-ratio:1.25;padding:50px 10px 18px}.project-browser,.project-card[data-id="gluck"] .project-browser{width:89%;inset:auto}.project-browser .window-top{min-height:18px;font-size:4px;padding:6px 7px}.project-label{left:16px;top:16px;right:45px}.project-label>span:last-child{font-size:6px}.contact-main{display:block;min-height:0;margin-bottom:30px}.contact-main>div{padding-top:0}.contact-main h2{font-size:55px}.contact-main p{margin-top:20px}.contact-form{width:100%;margin-top:30px;padding:23px 20px;backdrop-filter:none}.form-heading{font-size:25px!important}.form-row{grid-template-columns:1fr 1fr;gap:13px}.contact-form label{font-size:10px}.contact-form input,.contact-form textarea,.contact-form select{font-size:12px;padding:11px}.form-submit-row{gap:15px}.form-privacy{font-size:8px}.form-status{font-size:10px!important}.contact-form textarea{min-height:135px}}
@media(max-width:370px){.hero-actions{gap:9px}.hero-actions .button{min-height:132px;padding:14px 11px 28px}.hero-actions .entry-copy strong{font-size:11px}.hero-actions .entry-copy small{font-size:8px}.hero h1>em{font-size:.64em}.hero-art{height:310px;margin-top:60px}.hero-art .signal-caption>span{font-size:20px}.facet{padding:22px 16px}.facet h3{font-size:29px}.home-sensor-engine{height:330px}.engineering-live-heading>span{display:none}.contact-main h2{font-size:47px}.form-row{grid-template-columns:1fr;gap:0}.contact-form{padding:22px 17px}.form-submit-row{align-items:flex-start}.form-privacy{max-width:90px}.contact-form button[type=submit]{padding:13px;gap:12px}.project-browser{width:91%}.project-label>span:last-child{font-size:6px}}
@media(prefers-reduced-motion:reduce){.facet,.contact-form{backdrop-filter:none}.facet:after,.contact-form:after{display:none}.hero-actions .button{backdrop-filter:none}.facet-site-preview:hover img{transform:none}}

/* Shared row tracks keep both facets aligned without compressing either demo. */
@media(min-width:761px){
  .facet-grid{grid-template-rows:auto auto auto auto auto auto;column-gap:25px;row-gap:0;align-items:stretch}
  .facet-grid>.facet{display:grid;grid-template-rows:subgrid;grid-row:span 6;row-gap:0;align-items:start}
  .facet-grid>.facet>.facet-top{grid-row:1}
  .facet-grid>.facet>h3{grid-row:2;align-self:end;margin-block:27px 20px}
  .facet-grid>.facet>p{grid-row:3;min-height:0;margin-bottom:25px;align-self:start}
  .engineering-live,.website-live{grid-row:4;align-self:stretch;display:flex;flex-direction:column;min-width:0;margin:0;border:1px solid #a7d7e42b;border-radius:12px;overflow:hidden;background:#112125a8}
  .home-sensor-engine{height:auto;min-height:250px;flex:1}
  .website-live .facet-site-preview{border:0;border-radius:0;box-shadow:none;aspect-ratio:16/10;margin:0;flex:none}
  .website-live .engineering-live-heading,.engineering-live>.engineering-live-heading{flex-shrink:0;min-height:43px}
  .engineering-live-note{padding-top:10px;min-height:48px;margin:0;flex-shrink:0}
  .engineering-examples,.web-capabilities{grid-row:5;align-self:stretch;display:grid;grid-template-rows:repeat(3,1fr);margin-top:23px}
  .engineering-examples>a,.web-capabilities>p{align-content:start;margin:0;padding-block:17px}
  .facet-action{grid-row:6;align-self:end;margin-top:25px}
}
.website-live{border:1px solid #b9d5ab35;border-radius:12px;overflow:hidden;background:#13211e}
.website-live .facet-site-preview{border:0;border-radius:0;box-shadow:none;margin:0}
.website-live .engineering-live-note{color:#98ac90}
.home-product{padding-top:75px}
body[data-page=home] #previous-project,body[data-page=home] #next-project{display:none}
#viewer-shortcuts{scrollbar-width:none}
#viewer-shortcuts::-webkit-scrollbar{display:none}
@media(max-width:760px){.website-live{margin-top:3px}.website-live .engineering-live-note{padding-top:12px}.home-product{padding-top:40px}}

.wordmark{gap:0}.header .wordmark-name,.cv-header .wordmark-name{display:inline}

/* Ambient motion only affects decorative layers; reading and interaction stay still. */
.hero-art .floating-window{animation:photo-drift 9s ease-in-out infinite}
.hero-art .engineering-window{animation:lab-drift 11s ease-in-out infinite}
.scene-parked .floating-window,.scene-parked .engineering-window{animation-play-state:paused}
.hero-art .floating-window:hover,.hero-art .engineering-window:hover{animation-play-state:paused}
.engineering-window:after{content:'';position:absolute;inset:-15% auto -15% -60%;width:35%;background:linear-gradient(100deg,transparent,#d6eeff0d,transparent);pointer-events:none;transform:skewX(-14deg);animation:glass-pass 13s ease-in-out infinite}
.scene-parked .engineering-window:after{animation-play-state:paused}
.hero-art .signal-target{transform-box:fill-box;transform-origin:center;animation:signal-breath 3.8s ease-in-out infinite}
.scene-parked .signal-target{animation-play-state:paused}
.facet:before{animation:facet-light 8s ease-in-out infinite paused;transform-origin:75% 15%}
.facet.is-in-view:before{animation-play-state:running}
.module-card:after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 1px #d3edff0b;opacity:.25;animation:module-light 5s ease-in-out infinite paused}
.module-card.is-in-view:after{animation-play-state:running}
.project-visual:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:3;background:linear-gradient(115deg,transparent 30%,#ecf9ff09 48%,transparent 66%);transform:translateX(-100%);transition:transform 1s var(--ease)}
.project-visual:hover:after{transform:translateX(100%)}
body.page-not-visible .hero-art *,body.page-not-visible .facet:before,body.page-not-visible .module-card:after{animation-play-state:paused!important}
@keyframes photo-drift{0%,100%{translate:0 0}50%{translate:5px -10px}}
@keyframes lab-drift{0%,100%{translate:0 0}50%{translate:-4px 8px}}
@keyframes glass-pass{0%,20%{translate:0 0;opacity:0}30%{opacity:1}65%,100%{translate:460% 0;opacity:0}}
@keyframes signal-breath{0%,100%{scale:1;opacity:.55}50%{scale:1.14;opacity:.95}}
@keyframes facet-light{0%,100%{transform:translate3d(0,0,0) scale(1);opacity:.55}50%{transform:translate3d(-2%,1%,0) scale(1.05);opacity:.85}}
@keyframes module-light{0%,100%{opacity:.15}50%{opacity:.8}}
@media(max-width:760px){.hero-art .floating-window{animation-duration:11s}.hero-art .engineering-window{animation-duration:13s}.engineering-window:after{display:none}.facet:before{animation:none}.module-card:after{animation-duration:7s}@keyframes photo-drift{0%,100%{translate:0 0}50%{translate:2px -5px}}@keyframes lab-drift{0%,100%{translate:0 0}50%{translate:-2px 5px}}}
@media(prefers-reduced-motion:reduce){.hero-art .floating-window,.hero-art .engineering-window,.hero-art .signal-target,.facet:before,.module-card:after{animation:none!important;translate:none!important}.engineering-window:after{display:none}.project-visual:after{transition:none;display:none}}
