/* OMNISENSE — Focus / independent visual direction */
:root{--paper:#efefe8;--ink:#171b16;--accent:#d8f36a;--line:#bfc3b7;--gutter:5vw}body{overflow-x:clip}.header{position:absolute;inset:0 0 auto;height:96px;background:transparent;color:#f3f3e9;z-index:20}.logo{font-size:32px;letter-spacing:-1.7px}.logo-dot{color:var(--accent);font-size:9px}.header nav{font-size:9px;gap:30px}.nav-contact{border-color:#9ca58c}.focus-journey{height:100svh;background:#131812;color:#e9eddd;position:relative}.has-motion .focus-journey{height:310svh}.focus-stage{height:100svh;min-height:650px;position:sticky;top:0;overflow:hidden;isolation:isolate;background:#131812}.focus-photo{position:absolute;inset:0;z-index:-2;clip-path:circle(24% at 70% 47%);will-change:clip-path}.focus-photo img{height:100%;object-position:65% center;filter:saturate(.58) brightness(.7);transform:scale(1.04)}.focus-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0004,transparent 60%),linear-gradient(0deg,#0008,transparent 60%)}.focus-grid{position:absolute;inset:0;z-index:-1;opacity:.17;background-image:linear-gradient(#9dba721a 1px,transparent 1px),linear-gradient(90deg,#9dba721a 1px,transparent 1px);background-size:calc(100vw / 12) calc(100vw / 12);mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent)}.stage-top{position:absolute;left:var(--gutter);right:var(--gutter);top:136px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.13em;color:#bec7ac}.focus-title{position:absolute;left:4vw;top:21%;font-size:clamp(105px,18vw,300px);font-weight:800;line-height:.79;letter-spacing:-.09em;margin:0;z-index:2;will-change:transform,opacity}.focus-title>span{display:block}.focus-title>span:nth-child(2){margin-left:8vw}.title-period{color:var(--accent)}.focus-intro{position:absolute;bottom:105px;left:var(--gutter);z-index:3}.focus-intro p{font-size:19px;letter-spacing:.07em;font-weight:600;margin-bottom:13px}.focus-intro>span{font-size:11px;line-height:1.9;color:#c3cbb7}.focus-coordinate{position:absolute;right:7%;top:60%;font-size:8px;letter-spacing:.12em;text-align:right;line-height:1.8;z-index:3}.focus-coordinate i{display:block;font-size:40px;font-style:normal;margin:10px 0;color:var(--accent);font-weight:200}.orbit-system{position:absolute;left:70%;top:47%;width:58vw;height:58vw;transform:translate(-50%,-50%);pointer-events:none;z-index:1;will-change:transform,opacity}.orbit{position:absolute;border:1px solid #d9edab55;border-radius:50%;inset:0}.orbit-two{inset:8%;border-style:dashed;border-color:#d9edab40;transform:rotateX(55deg) rotate(-30deg)}.orbit-three{inset:17%;border-color:#e5f2c977;transform:rotateY(55deg) rotate(35deg)}.orbit-one:before,.orbit-one:after{content:'';position:absolute;left:50%;top:-4px;width:7px;height:7px;background:var(--accent);border-radius:50%}.orbit-one:after{top:auto;bottom:-4px;width:5px;height:5px}.orbit-point{position:absolute;left:50%;top:50%;width:9px;height:9px;border:1px solid var(--accent);border-radius:50%}.motion-active .orbit-one{animation:orbital 32s linear infinite}.motion-active .orbit-two{animation:orbit-tilt 18s ease-in-out infinite alternate}.stage-bottom{position:absolute;bottom:28px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:.1em;z-index:5}.journey-scroll{display:flex;align-items:center;gap:30px}.journey-scroll span{font-size:22px}.journey-index{display:flex;gap:24px;color:#a6af9b}.journey-index span{padding-top:12px;border-top:1px solid #91a47645;transition:color .3s,border-color .3s}.journey-index .current{border-color:var(--accent);color:var(--accent)}.stage-counter{font-size:10px}.journey-message,.journey-finale{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;pointer-events:none;opacity:0;visibility:hidden;will-change:transform,opacity}.journey-message{padding-left:10vw}.message-kicker,.journey-finale>span{font-size:10px;letter-spacing:.14em}.journey-message p{font-size:clamp(38px,6.3vw,100px);font-weight:650;line-height:1.45;letter-spacing:-.045em;margin:35px 0}.message-body{font-size:14px;line-height:2}.journey-finale{padding-left:10vw;color:#fff}.journey-finale p{font-size:clamp(46px,8.3vw,135px);line-height:1.35;letter-spacing:-.06em;font-weight:600;margin:35px 0}.section-label{font-family:monospace;font-size:10px;letter-spacing:.05em;margin-bottom:95px}.section{padding-top:130px;padding-bottom:130px}.philosophy{background:#d8f36a;position:relative;overflow:hidden}.philosophy .section-label{border-color:#6a7d3955}.philosophy h2{font-size:clamp(32px,4.7vw,72px);line-height:1.55}.philosophy-content{grid-template-columns:1.25fr 1fr;gap:10%}.body-copy{padding-top:15px}.body-copy p{font-size:14px;line-height:2.1}.philosophy-signature{font-size:8.7vw;line-height:.96;font-weight:800;letter-spacing:-.07em;margin-top:105px;white-space:nowrap}.philosophy-signature em{font-family:inherit;font-style:normal;font-weight:750;letter-spacing:-.065em}.projects{background:var(--paper)}.section-heading h2{font-size:clamp(43px,7.3vw,120px);font-weight:750;line-height:.95;letter-spacing:-.065em}.section-heading h2 em{font-family:inherit;font-style:normal;font-weight:750;font-size:.75em;letter-spacing:-.06em}.projects .section-heading{display:block}.projects .section-heading>p{margin-top:35px}.project-photo{height:76svh;min-height:450px;overflow:hidden;margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter));background:#263c3e}.project-photo img{filter:saturate(.5) brightness(.68);transition:transform 1.5s}.project-photo:hover img{transform:scale(1.045)}.project-image-title{position:absolute;top:40px;left:var(--gutter);z-index:2;color:white;font-size:clamp(80px,15vw,235px);line-height:.85;letter-spacing:-.075em;font-weight:550}.project-image-title>span{display:block;font-size:9px;letter-spacing:.1em;margin:20px 0 0 10px}.photo-link{bottom:40px;right:var(--gutter);background:var(--accent);padding:22px 25px;font-size:10px;transition:gap .4s}.photo-link:hover{gap:65px}.project-meta{padding-top:35px}.story{padding-top:100px}.story h3{font-size:clamp(26px,3.3vw,52px);line-height:1.65}.results strong{font-size:clamp(66px,10vw,160px);font-weight:500;letter-spacing:-.075em}.results{padding-top:40px;margin-top:15px}.results p{font-size:11px}.upcoming{margin-top:100px}.canalis-art{height:400px;background:#38392f}.canalis-art:before,.canalis-art:after{border-radius:50%;width:80%;height:160%;transform:rotate(30deg);border-color:#d4d3ad}.canalis-art:after{transform:rotate(-30deg);width:65%;height:140%}.motion-active .canalis-art:before{animation:orbital 40s linear infinite}.approach{background:#171d18;position:relative;overflow:hidden}.approach:before{content:'';position:absolute;right:-25vw;top:280px;width:70vw;height:70vw;border-radius:50%;border:1px solid #67775b44;pointer-events:none}.approach .section-heading{display:block}.approach .section-heading h2{font-size:6.6vw}.approach .section-heading>p{font-size:20px;margin-top:40px}.technology{margin-top:90px}.demo-shell{background:#e2e6d6;border-radius:3px;box-shadow:0 35px 80px #0004;transform:rotate(-2deg);transition:transform .5s}.demo-shell:hover,.demo-shell:focus-within{transform:none}.tech-steps button.active{color:var(--accent)}.services h2{font-size:7vw;line-height:1.35}.service-list summary{padding:35px 0}.service-list h3{font-size:43px}.service-list summary:hover h3{transform:translateX(14px)}.service-list h3{}.company h2{font-size:4.8vw}.contact{background:#d8f36a;overflow:hidden;position:relative;isolation:isolate}.contact:before{content:'';position:absolute;width:60vw;height:60vw;border:1px solid #92a14f88;border-radius:50%;right:-20vw;top:-10vw;z-index:-1}.contact:after{content:'';position:absolute;width:48vw;height:48vw;border:1px solid #92a14f88;border-radius:50%;right:-14vw;top:-4vw;z-index:-1}.contact h2{font-size:6.8vw}.contact-button{width:145px;height:145px;border-color:#718231}.contact-button:hover{transform:rotate(45deg);background:#171b16;color:#d8f36a}footer{background:#141913;color:#e3e7d8;min-height:190px}.motion-controls{position:fixed;right:18px;bottom:17px;z-index:25;background:#171d18e6;color:#e9eddd;border:1px solid #e4eac247;backdrop-filter:blur(10px)}.motion-controls button{border:0;background:none;color:inherit;padding:11px 13px;font:9px monospace;letter-spacing:.08em}.reading-progress{height:2px;position:fixed;top:0;left:0;right:0;background:var(--accent);z-index:50;transform:scaleX(0);transform-origin:left}.motion-active .focus-title>span{animation:opening-type 1.1s cubic-bezier(.16,1,.3,1) both}.motion-active .focus-title>span:nth-child(2){animation-delay:.13s}.motion-active .focus-intro{animation:opening-type 1.2s .35s both}.motion-active .reveal{opacity:0;transform:translateY(40px);transition:opacity .9s,transform 1.1s cubic-bezier(.16,1,.3,1)}.motion-active .reveal.is-visible{opacity:1;transform:none}.motion-disabled *,.motion-disabled *:before,.motion-disabled *:after{animation-play-state:paused!important}.motion-disabled .reveal{opacity:1;transform:none}.motion-disabled .focus-title>span,.motion-disabled .focus-intro{animation:none}.motion-disabled .focus-journey{height:100svh}.motion-disabled .focus-photo{clip-path:circle(24% at 70% 47%)!important}.motion-disabled .focus-title,.motion-disabled .focus-intro,.motion-disabled .focus-coordinate{opacity:1!important;transform:none!important}.motion-disabled .journey-message,.motion-disabled .journey-finale{display:none}.motion-disabled .orbit-system{transform:translate(-50%,-50%)!important;opacity:1!important}.motion-disabled .demo-shell{transform:none}.motion-disabled .focus-grid{opacity:.17!important}
@keyframes orbital{to{transform:rotate(360deg)}}@keyframes orbit-tilt{from{transform:rotateX(55deg) rotate(-30deg)}to{transform:rotateX(25deg) rotate(35deg)}}@keyframes opening-type{from{opacity:0;transform:translateY(65px) rotate(3deg)}to{opacity:1;transform:none}}
@media(min-width:1600px){body{max-width:none}.focus-title{font-size:18vw}}
@media(max-width:850px){.header nav{gap:18px}.section{padding-top:85px;padding-bottom:85px}.focus-title{top:28%;font-size:19vw}.stage-top{font-size:8px}.stage-top span:last-child{display:none}.orbit-system{width:75vw;height:75vw}.focus-intro{bottom:120px}.focus-coordinate{top:62%}.journey-index{gap:12px;font-size:7px}.philosophy-content{gap:5%}.philosophy h2{font-size:34px}.body-copy p{font-size:12px}.section-label{margin-bottom:60px}.canalis-art{height:300px}.technology{gap:6%}.contact h2{font-size:6.5vw}.company h2{font-size:40px}}
@media(max-width:600px){.header{height:82px}.header .logo{font-size:29px}.header nav{background:#171d18;border-color:#637150;color:#f4f4e9}.menu-toggle{color:white}.focus-stage{min-height:660px}.focus-journey,.motion-disabled .focus-journey{height:max(100svh,660px)}.has-motion .focus-journey{height:260svh}.has-motion.motion-disabled .focus-journey{height:max(100svh,660px)}.stage-top{top:110px;font-size:7px;letter-spacing:.1em}.focus-title{top:25%;font-size:23vw;line-height:.9;left:4vw}.focus-title>span:nth-child(2){margin-left:2vw}.focus-photo{clip-path:circle(29% at 76% 46%)}.focus-photo img{object-position:67% center}.orbit-system{width:105vw;height:105vw;left:76%;top:46%}.focus-coordinate{top:56%;right:8%;font-size:6px}.focus-coordinate i{font-size:27px}.focus-intro{bottom:105px;left:6vw}.focus-intro p{font-size:14px;margin-bottom:13px}.focus-intro>span{font-size:9px;line-height:2}.stage-bottom{bottom:27px;left:6vw;right:6vw;flex-wrap:wrap;gap:16px}.journey-scroll{font-size:7px;gap:20px}.journey-index{order:3;width:100%;justify-content:space-between;gap:18px;font-size:7px}.journey-index span{flex:1;padding-top:9px}.stage-counter{font-size:8px}.journey-message{padding-left:7vw}.journey-message p{font-size:39px}.message-body{font-size:12px}.message-kicker,.journey-finale>span{font-size:8px}.journey-finale{padding-left:7vw}.journey-finale p{font-size:52px}.section{padding-top:65px;padding-bottom:65px}.section-label{font-size:8px;margin-bottom:45px}.philosophy h2{font-size:29px}.philosophy-signature{font-size:10vw;margin-top:55px}.body-copy{padding-top:0;margin-top:35px}.section-heading h2{font-size:48px}.section-heading h2 em{font-size:.68em}.projects .section-heading>p{font-size:11px;margin-top:23px}.project-photo{height:66svh;min-height:400px}.project-image-title{font-size:24vw;top:32px}.project-image-title>span{font-size:7px;margin-left:5px}.photo-link{font-size:8px;padding:18px;bottom:25px}.project-meta{padding-top:25px}.story{padding-top:50px}.story h3{font-size:25px}.results strong{font-size:48px}.results strong span{font-size:10px}.results p{font-size:9px}.results{padding-top:25px}.upcoming{margin-top:55px}.canalis-art{height:300px}.approach .section-heading h2{font-size:9vw}.approach .section-heading>p{font-size:18px;margin-top:28px}.technology{margin-top:40px}.demo-shell{transform:none}.services h2{font-size:43px}.service-list summary{padding:25px 0}.service-list h3{font-size:28px}.company{padding-top:10px}.company h2{font-size:33px}.contact h2{font-size:33px}.contact-button{width:62px;height:62px}.contact:before{width:100vw;height:100vw;right:-40vw;top:10vw}.contact:after{width:80vw;height:80vw;right:-30vw;top:20vw}footer{min-height:160px}.motion-controls{bottom:10px;right:10px}.motion-controls button{font-size:8px;padding:8px 10px}.motion-disabled .focus-photo{clip-path:circle(29% at 76% 46%)!important}}
@media(prefers-reduced-motion:reduce){.has-motion .focus-journey{height:max(100svh,660px)}.focus-title,.focus-intro{opacity:1!important;transform:none!important}.journey-message,.journey-finale{display:none}.motion-active .reveal{opacity:1;transform:none}.demo-shell{transform:none}}
/* Keep scroll-controlled opacity outside the entrance animation. */
.motion-active .focus-intro{animation:none}.motion-active .focus-intro p,.motion-active .focus-intro>span{animation:opening-type 1.2s .35s both}.focus-intro>span{display:block}
@media(min-width:601px) and (max-height:760px){.focus-title{font-size:min(18vw,25svh);top:25%}.stage-top{top:116px}.focus-intro{bottom:95px}.focus-intro p{font-size:16px}.focus-intro>span{font-size:10px}}

.canalis-photo{position:relative;height:400px;overflow:hidden;background:#c9c4b7}.canalis-photo img{object-position:center;transition:transform 1s}.canalis-photo:hover img{transform:scale(1.035)}.canalis-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0007)}.canalis-photo>span{position:absolute;bottom:25px;left:25px;color:white;font-size:clamp(32px,4.5vw,70px);letter-spacing:-.045em;font-weight:650;z-index:1}@media(max-width:850px){.canalis-photo{height:320px}}@media(max-width:600px){.canalis-photo{height:300px}.canalis-photo>span{font-size:42px;left:20px;bottom:20px}}
.product-intro{display:grid;grid-template-columns:1fr 1fr;gap:7%;margin:65px 0}.product-intro h3{font-size:26px;line-height:1.7}.product-intro p{font-size:13px;color:#b9c3ad}.product-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #5a6652;margin-top:60px}.product-tabs button{background:none;border:0;border-bottom:3px solid transparent;color:#b1bba8;text-align:left;padding:25px 15px 25px 0;font-size:30px;font-weight:600;letter-spacing:-.04em}.product-tabs button span{display:block;font-size:11px;font-weight:400;letter-spacing:0;margin-top:14px}.product-tabs button[aria-selected=true]{color:var(--accent);border-color:var(--accent)}.product-description{padding:35px 0 20px}.product-description h4{font-size:23px;margin:0 0 12px}.product-description p{font-size:12px;color:#bdc7b1}.showcase{background:#eff1e9;color:#20291e;border:1px solid #79846c}.showcase-bar{padding:18px 25px;display:flex;justify-content:space-between;gap:15px;font:9px monospace;letter-spacing:.06em;border-bottom:1px solid #c9cebf}.demo-badge{color:#46562e}.product-disclaimer{font-size:10px;color:#bec7b5;text-align:center;margin:23px 0 0;line-height:1.9}.tv-display{position:relative;background:radial-gradient(ellipse at 75% 40%,#596854 0%,#253d35 48%,#162822 100%);color:#f4f0e5;padding:35px;min-height:470px;overflow:hidden}.tv-display:before{content:'';position:absolute;width:440px;height:440px;border:1px solid #dbe2c540;border-radius:50%;right:-80px;top:20px;pointer-events:none}.tv-brand{font-size:13px;letter-spacing:.15em;display:flex;justify-content:space-between}.tv-brand span{font-size:8px;letter-spacing:.08em}.tv-content{padding:35px 0 20px;position:relative;min-height:305px}.tv-eyebrow{font-size:8px;letter-spacing:.14em;color:#bdc8ae}.tv-content h5{font-size:36px;font-weight:500;line-height:1.5;margin:18px 0}.tv-content p{font-size:12px;margin-bottom:0}.tv-navigation{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.tv-navigation button{border:1px solid #a9b99c66;background:#203930cc;color:#eee;padding:18px;text-align:left;font-size:12px}.tv-navigation button[aria-pressed=true]{background:#d8f36a;color:#172317;border-color:#d8f36a}.tv-navigation button span{float:right}.tv-order-link{margin-top:15px;background:transparent;border:0;border-bottom:1px solid #c3d3ae;color:#e6eecf;padding:7px 0;font-size:11px}.order-layout{display:grid;grid-template-columns:.85fr 1.15fr}.guest-order,.kitchen-order{padding:30px}.guest-order{background:#e5e9dc;border-right:1px solid #c9cebf}.screen-label{font:9px monospace;letter-spacing:.05em;color:#5b6950}.order-layout h5,.scope-toolbar h5{font-size:24px;margin:22px 0;letter-spacing:-.04em}.order-room{font-size:15px;font-weight:600;border-bottom:1px solid #bdc5af;padding:10px 0 22px}.order-room span{display:block;font-size:10px;font-weight:400;color:#637154;margin-top:9px}.menu-line{display:flex;justify-content:space-between;gap:16px;padding:24px 0;border-bottom:1px solid #bdc5af;font-size:12px}.menu-line small{display:block;font-size:10px;margin-top:9px;color:#637154}.order-total{display:flex;justify-content:space-between;margin-top:25px;font-size:12px;align-items:center}.order-total strong{font-size:25px;font-weight:500}.guest-order>p{font-size:10px;margin-top:25px}.order-progress{display:flex;gap:14px;font-size:10px;color:#697360}.order-progress span{padding:10px 0;border-top:2px solid #cbd2c0;flex:1}.order-progress .current{border-color:#445a2a;color:#263e15;font-weight:600}.kitchen-ticket{margin:24px 0;background:white;border:1px solid #c1c9b6;padding:22px}.kitchen-ticket>div{display:flex;align-items:center;justify-content:space-between}.kitchen-ticket strong{font-size:32px}.ticket-status{font-size:10px;background:#e9f3ca;padding:8px 12px}.kitchen-ticket p{font-size:12px;margin:18px 0}.kitchen-ticket>span{font:8px monospace;color:#6f7865}.advance-order{width:100%;background:#283c21;border:0;color:#f3f4ec;padding:16px;font-size:12px}.order-feedback{font-size:10px;margin:13px 0 0;color:#4c5c3f}.product-functions{display:flex;flex-wrap:wrap;gap:20px;padding:20px 30px;border-top:1px solid #c9cebf;font-size:10px}.scope-toolbar{display:flex;justify-content:space-between;align-items:center;padding:5px 30px}.scope-toolbar h5 span{display:block;font-size:10px;letter-spacing:0;font-weight:400;margin-top:10px}.scope-toolbar label{font-size:9px}.scope-toolbar select{font-size:11px;padding:8px;margin-top:5px}.scope-metrics{display:grid;grid-template-columns:1fr 1fr 1.4fr;margin:0 30px 30px;background:#e1e7d4}.scope-metrics>div{padding:25px;border-right:1px solid #bec9ac}.scope-metrics>div:last-child{border:0}.scope-metrics span{display:block;font-size:10px;margin-bottom:15px}.scope-metrics strong{font-size:36px;font-weight:500;letter-spacing:-.04em}.scope-metrics small{font-size:12px;margin-left:7px}.scope-body{display:grid;grid-template-columns:1.5fr 1fr;gap:30px;padding:0 30px 35px}.scope-table-wrap{overflow:auto}.scope-table-wrap table{width:100%;border-collapse:collapse;text-align:left;font-size:11px;white-space:nowrap}.scope-table-wrap caption{text-align:left;font-size:12px;font-weight:600;margin-bottom:18px}.scope-table-wrap th{font-size:9px;color:#5c6a50;font-weight:400}.scope-table-wrap td,.scope-table-wrap th{padding:14px 9px 14px 0;border-bottom:1px solid #c9cebf}.scope-table-wrap small{display:block;font-size:8px;color:#6a765e;margin-top:5px}.scope-chart h6{font-size:12px;margin:0 0 28px}.chart-label{display:flex;justify-content:space-between;font-size:10px;margin:20px 0 10px}.chart-track{height:14px;background:#dce2d2}.chart-track span{height:100%;display:block;background:#718b49;transition:width .3s}.scope-chart p{font-size:9px;color:#5b684e;line-height:1.8;margin-top:30px}
@media(max-width:850px){.product-intro{display:block}.product-tabs button{font-size:24px}.order-layout{grid-template-columns:1fr 1fr}.guest-order,.kitchen-order{padding:22px}.scope-body{grid-template-columns:1fr}.scope-metrics strong{font-size:28px}.scope-metrics>div{padding:20px}.kitchen-order h5{font-size:20px}}
@media(max-width:600px){.product-intro{margin:35px 0}.product-intro h3{font-size:21px}.product-intro p{font-size:11px}.product-tabs{margin-top:30px}.product-tabs button{font-size:18px;padding:18px 4px 18px 0}.product-tabs button span{font-size:8px;line-height:1.7;min-height:28px;margin-top:8px}.product-description{padding:25px 0 10px}.product-description h4{font-size:19px;line-height:1.6}.product-description p{font-size:11px}.showcase-bar{padding:14px 15px;font-size:7px}.tv-display{padding:22px;min-height:460px}.tv-brand{font-size:10px}.tv-brand span{font-size:7px}.tv-content h5{font-size:29px}.tv-content{min-height:320px;padding-top:30px}.tv-navigation{gap:6px}.tv-navigation button{font-size:9px;padding:13px 7px}.tv-navigation button span{display:none}.order-layout{grid-template-columns:1fr}.guest-order{border-right:0;border-bottom:1px solid #c9cebf}.product-functions{padding:18px 22px;gap:13px;font-size:9px}.scope-toolbar{padding:5px 17px;gap:15px}.scope-toolbar h5{font-size:23px}.scope-toolbar h5 span{font-size:8px;line-height:1.7}.scope-toolbar select{font-size:10px}.scope-metrics{margin:0 17px 25px;grid-template-columns:1fr 1fr}.scope-metrics>div{padding:17px}.scope-metrics>div:last-child{grid-column:1 / -1;border-top:1px solid #bec9ac}.scope-metrics>div:nth-child(2){border:0}.scope-metrics span{font-size:9px}.scope-metrics strong{font-size:30px}.scope-body{padding:0 17px 25px;gap:30px}.product-disclaimer{font-size:9px;text-align:left}.scope-table-wrap table{font-size:10px}}

.product-cg{margin:8px 0 28px}.product-cg>a{display:block;position:relative;background:#e7e7de}.product-cg img{width:100%;height:auto;object-fit:contain}.cg-zoom{position:absolute;bottom:14px;right:14px;background:#142018e6;color:#f0f2e5;padding:10px 15px;font-size:10px}.product-cg figcaption{font-size:9px;color:#b9c3ad;letter-spacing:.04em;margin-top:13px}.product-live-demo>summary{cursor:pointer;font-size:12px;padding:18px 0;border-top:1px solid #626e56;border-bottom:1px solid #626e56}.product-live-demo[open]>.showcase{margin-top:20px}@media(max-width:600px){.cg-zoom{font-size:8px;padding:7px 10px;bottom:8px;right:8px}.product-cg figcaption{font-size:8px}}

/* Compact product illustrations beside the supporting copy. */
#product-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);column-gap:6%;align-items:center;padding-top:32px}
#product-panel .product-description{padding:0 0 24px}
#product-panel .product-cg{width:100%;margin:0 0 24px}
#product-panel .product-cg img{display:block}
#product-panel .product-live-demo{grid-column:1 / -1}
@media(max-width:850px){#product-panel{grid-template-columns:minmax(0,1fr) minmax(0,360px);column-gap:4%}#product-panel .product-description h4{font-size:20px}}
@media(max-width:600px){#product-panel{grid-template-columns:1fr;padding-top:24px}#product-panel .product-description{padding-bottom:16px}#product-panel .product-cg{max-width:320px}#product-panel .product-description h4{font-size:19px}}

/* Approach: three complementary tools, presented together. */
#approach{padding-top:90px;padding-bottom:75px}
#approach:before,#approach:after{display:none}
.approach-lead{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end;margin:45px 0 55px}
.approach-lead h2{font-size:clamp(32px,3.7vw,58px);line-height:1.45;letter-spacing:-.035em;margin:0;font-weight:600}
.approach-motto{font-size:10px;letter-spacing:.1em;color:var(--accent)}
.approach-lead p{font-size:13px;line-height:2.1;color:#bdc7b1;margin:18px 0 0;max-width:480px}
.approach-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.product-role{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #637057;padding:18px 0;font-size:10px;color:#b9c3ad}
.product-preview{display:block;position:relative;max-width:420px;overflow:hidden}
.product-preview img{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain;}

.product-preview>span{position:absolute;right:10px;bottom:10px;background:#17251ce6;padding:3px 10px;color:#fff}
.approach-product h3{font-size:30px;font-weight:500;letter-spacing:-.04em;margin:22px 0 4px}
.product-category{font-size:10px;color:#bdc7b1}
.approach-product p{font-size:12px;line-height:2;color:#d0d6c8;margin:18px 0 22px}
.approach-product>button{display:flex;justify-content:space-between;width:100%;background:none;color:#d8f36a;border:0;border-bottom:1px solid #637057;padding:12px 0;font:inherit;font-size:11px;cursor:pointer}
.approach-product>button[aria-expanded=true]{border-color:#d8f36a}
#approach #product-panel{display:block;padding-top:32px}
#approach #product-panel[hidden]{display:none}
#approach .product-disclaimer{text-align:left;font-size:9px;margin-top:24px;color:#9ca890}
@media(min-width:1600px){.approach-products{gap:48px}.product-preview{max-width:420px}.approach-lead{margin-bottom:45px}}
@media(max-width:850px){.approach-products{gap:20px}.approach-lead{gap:5%}.approach-lead p{font-size:12px}.product-role{flex-direction:column;gap:4px}.approach-product h3{font-size:26px}.approach-product p br{display:none}}
@media(max-width:600px){#approach{padding-top:55px;padding-bottom:45px}.approach-lead{grid-template-columns:1fr;gap:24px;margin:30px 0 35px}.approach-lead h2{font-size:32px}.approach-products{grid-template-columns:1fr;gap:32px}.product-role{flex-direction:row}.product-preview{max-width:320px}.approach-product h3{margin-top:16px}.approach-product p{margin:12px 0}.approach-product p br{display:initial}}
@media(prefers-reduced-motion:reduce){.product-preview img{transition:none}}

.occupancy-detail{border-top:1px solid #a8aa9d;border-bottom:1px solid #a8aa9d;margin-top:28px;padding:18px 0}.occupancy-detail summary{cursor:pointer;font-size:13px;display:flex;justify-content:space-between}.occupancy-months{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding:24px 0 8px}.occupancy-months table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}.occupancy-months caption{text-align:left;font-size:11px;margin-bottom:15px}.occupancy-months th,.occupancy-months td{padding:9px 0;border-bottom:1px solid #bfc0b5;font-weight:400}.occupancy-months td{text-align:right;font-variant-numeric:tabular-nums}.occupancy-months p{font-size:11px;line-height:1.9;margin:0 0 16px}@media(max-width:600px){.occupancy-months{grid-template-columns:1fr;gap:24px}}

/* Consistent metric rows; stack before the numbers become cramped. */
.zk-overview{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding:48px 0 36px;align-items:start}
.zk-overview>.eyebrow{font-size:10px;padding-top:8px}
.zk-overview h3{font-size:22px;line-height:1.6;margin:0 0 12px;font-weight:600}
.zk-overview p{font-size:14px;line-height:1.9;margin:0;color:#4b5045}
.results.results-growth{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding-top:0;margin-top:0}
.results.results-growth>div{display:grid;grid-template-rows:44px auto 38px;gap:12px;min-width:0;padding:0 24px;border:0}
.results.results-growth>div:first-child{padding-left:0}
.results.results-growth>div:last-child{padding-right:0}
.results.results-growth>div+div{border-left:1px solid #bcbfb3}
.results.results-growth p{font-size:12px;line-height:1.8;margin:0;min-height:0}
.results.results-growth strong{display:flex;align-items:baseline;white-space:nowrap;font-size:clamp(40px,5.2vw,84px);line-height:1.1;letter-spacing:-.055em;font-weight:500;font-variant-numeric:lining-nums tabular-nums}
.results.results-growth strong span{font-size:16px;letter-spacing:0;margin-left:6px;flex-shrink:0}
.results.results-growth small{display:block;font-size:10px;line-height:1.8;margin:0;font-weight:400}
@media(max-width:900px){
.zk-overview{grid-template-columns:1fr;gap:18px;padding:32px 0}
.results.results-growth{grid-template-columns:1fr;padding-top:0}
.results.results-growth>div,.results.results-growth>div:first-child,.results.results-growth>div:last-child{grid-template-rows:auto auto auto;gap:10px;padding:24px 0;border:0}
.results.results-growth>div+div,.results.results-growth>div:last-child{border-left:0;border-top:1px solid #bcbfb3}
.results.results-growth strong{font-size:64px}
}
@media(max-width:600px){.zk-overview h3{font-size:20px}.zk-overview p{font-size:12px}.role-break{display:none}.results.results-growth strong{font-size:58px}}

/* Four results in a balanced two-by-two grid. */
@media(min-width:901px){
.results.results-growth{grid-template-columns:repeat(2,minmax(0,1fr))}
.results.results-growth>div{padding:28px 32px;grid-template-rows:auto auto auto;align-content:start;row-gap:16px}
.results.results-growth>div:nth-child(odd){padding-left:0;border-left:0}
.results.results-growth>div:nth-child(even){padding-right:0;border-left:1px solid #bcbfb3}
.results.results-growth>div:nth-child(n+3){border-top:1px solid #bcbfb3}
}

.next-project-label{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin-top:40px;padding-top:24px;border-top:1px solid #a8aa9d;font-size:11px;letter-spacing:.04em}
.next-project-label+#canalis{margin-top:32px}
@media(max-width:600px){.next-project-label{margin-top:32px;padding-top:20px;font-size:9px;flex-wrap:wrap;gap:10px}.next-project-label+#canalis{margin-top:24px}}

.project-official-link{display:flex;align-items:center;justify-content:space-between;gap:28px;width:fit-content;min-width:190px;margin-top:24px;padding:10px 0;border-bottom:1px solid currentColor;font-size:12px;line-height:1.6}.project-official-link:hover{opacity:.65}.official-new-window{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}



.project-title .project-index{display:block;font-size:10px;font-weight:400;letter-spacing:.08em;margin-bottom:12px;line-height:1.5}.project-meta{align-items:flex-end}.project-meta>p{padding-bottom:5px}

.project-hero-index{position:absolute;z-index:2;top:14px;left:var(--gutter);font-size:11px;line-height:1.5;letter-spacing:.12em;color:#fff;text-shadow:0 1px 6px #0008}@media(max-width:600px){.project-hero-index{top:14px;font-size:9px}.project-image-title{top:48px}}

.services h2{margin-bottom:28px}.services-intro{font-size:14px;line-height:2;margin-bottom:46px;color:#4b5045}
#services{padding-bottom:80px}#company{padding-top:40px}
@media(max-width:600px){.services-intro{font-size:12px;margin-bottom:30px}#services{padding-bottom:45px}#company{padding-top:15px}.contact h2{font-size:clamp(26px,7.6vw,33px)}}

@media(max-width:600px){.contact h2{font-size:clamp(23px,6.4vw,28px);word-break:keep-all}.contact-row{gap:16px}}

.product-integration{border-top:1px solid #637057;margin:30px 0 0;padding-top:22px;font-size:12px;line-height:2;color:#d0d6c8}@media(max-width:600px){.product-integration{font-size:11px;margin-top:24px;padding-top:18px}}

.header .logo,footer .logo{display:block;line-height:0;flex-shrink:0}.logo img{display:block;width:210px;height:auto;object-fit:contain}footer .logo img{width:190px}@media(max-width:600px){.header .logo img{width:170px}footer .logo img{width:155px}}

.company-details{margin:32px 0 0}.company-details>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;padding:18px 0;border-top:1px solid #bcbfb3;font-size:12px;line-height:1.9}.company-details dt{font-size:10px}.company-details dd{margin:0}.company-details dd span{font-size:10px;letter-spacing:.04em}.company-details a,.contact-email-fallback a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.contact-email-fallback{font-size:11px;line-height:1.9}@media(max-width:600px){.company-details>div{grid-template-columns:78px minmax(0,1fr);gap:12px;font-size:11px}}

.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.save-button:disabled{opacity:.55;cursor:wait}#form-status:not(:empty){padding:14px 0;line-height:1.9}

/* Independent glyph entrance and scroll departure. */
.motion-active .focus-title>span{animation:none}
.focus-title>span{white-space:nowrap}
.hero-letter{display:inline-block;will-change:transform,opacity}
.hero-letter>span{display:inline-block}
.motion-active .hero-letter>span{animation:letter-arrive .95s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--letter-index)*65ms)}
@keyframes letter-arrive{from{opacity:0;transform:translate3d(0,65%,0) rotate(9deg)}to{opacity:1;transform:translate3d(0,0,0) rotate(0)}}
.motion-disabled .hero-letter{transform:none!important;opacity:1!important}
.motion-disabled .hero-letter>span{animation:none!important}
@media(prefers-reduced-motion:reduce){.hero-letter{transform:none!important;opacity:1!important}.hero-letter>span{animation:none!important}}

/* Short editorial headings: discrete typewriter reveal, no blinking cursor. */
.motion-active .typing-heading .typing-character{opacity:0}
.motion-active .typing-heading.typing-started .typing-character{animation:heading-type 1ms step-end both;animation-delay:calc(180ms + var(--type-delay))}
@keyframes heading-type{from{opacity:0}to{opacity:1}}
.motion-disabled .typing-heading .typing-character{opacity:1!important;animation:none!important}
@media(prefers-reduced-motion:reduce){.typing-heading .typing-character{opacity:1!important;animation:none!important}}

/* Keep the company headline in two intentional lines. */
.company h2{font-size:clamp(28px,4.4vw,64px);line-height:1.5}
.company-heading-line{display:inline-block;white-space:nowrap}
@media(max-width:600px){.company h2{font-size:clamp(24px,8vw,33px)}}

/* Project introductions: one-shot entrance, shared page alignment. */
.project-hero-index{top:28px;display:flex;align-items:center;gap:16px;font-size:clamp(12px,1.25vw,18px);font-weight:600;letter-spacing:.14em;line-height:1.4}
.project-hero-index:before{content:'';width:48px;height:3px;background:var(--accent);transform-origin:left}
.project-image-title{top:90px}
.next-project-label{margin:64px calc(-1 * var(--gutter)) 0;padding:32px var(--gutter);border:0;background:var(--accent);color:var(--ink);overflow:hidden;align-items:center;gap:24px}
.next-project-label>span:first-child{font-size:clamp(22px,3.5vw,52px);font-weight:750;letter-spacing:-.035em;line-height:1.15;white-space:nowrap}
.next-project-label>span:last-child{font-size:11px;line-height:1.7;letter-spacing:.03em}
.motion-active .project-intro-ready:not(.project-intro-visible){opacity:0;transform:translateY(24px)}
.motion-active .project-intro-ready.project-intro-visible{animation:project-intro-enter .85s cubic-bezier(.16,1,.3,1) both}
.motion-active .project-hero-index.project-intro-visible:before{animation:project-line-enter .9s cubic-bezier(.16,1,.3,1) both}
@keyframes project-intro-enter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes project-line-enter{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:600px){.project-hero-index{top:24px;gap:12px;font-size:11px}.project-hero-index:before{width:28px;height:2px}.project-image-title{top:72px}.next-project-label{margin-top:40px;padding:26px var(--gutter);flex-direction:column;align-items:flex-start;gap:12px}.next-project-label>span:first-child{font-size:clamp(20px,6.7vw,32px)}.next-project-label>span:last-child{font-size:10px}}
.motion-disabled .project-intro-ready{opacity:1!important;transform:none!important;animation:none!important}
.motion-disabled .project-hero-index:before{animation:none!important}
@media(prefers-reduced-motion:reduce){.project-intro-ready,.project-hero-index:before{opacity:1!important;transform:none!important;animation:none!important}}
/* Keep the labels' first letters on the same gutter. */
.project-hero-index:before{position:absolute;left:0;top:-10px}
