/* A single kinetic identity: sixteen slices become one N. */
:root{--paper:#0c0e13;--ink:#f1f3f8;--muted:#a2a8b7;--blue:#a7b5ff;--line:#2b303c;--soft-blue:#151e35;--green:#15261f;--lavender:#211e31;color-scheme:dark}
body{overflow-x:clip}.header{height:96px}.brand img{filter:brightness(1.65) saturate(.65)}.brand-dot{color:#a7b5ff}a,button{transition:color .2s ease,background-color .2s ease,border-color .2s ease}a:hover{text-decoration:none;color:#c1ccff}a:focus-visible,button:focus-visible{outline-color:#b5c4ff}::selection{background:#a7b5ff;color:#0c0e13}.reading-progress{position:fixed;inset:0 auto auto 0;width:100%;height:2px;background:#a7b5ff;transform:scaleX(0);transform-origin:left;z-index:10;pointer-events:none}.header nav>a{padding-block:14px}.nav-contact{border-color:#596173}.hero{padding-top:76px;position:relative}.hero-title{min-height:390px;align-items:center}.hero h1{font-size:clamp(68px,7vw,96px);line-height:1.04;letter-spacing:-.04em;max-width:720px}.hero h1 .accent{color:#a7b5ff}.hero-bottom{margin-top:34px;max-width:640px;display:block}.hero-bottom p{font-size:17px;line-height:1.7;max-width:430px}.primary{background:#d8e0ff;color:#151a2d;border:1px solid #d8e0ff;border-radius:3px;margin-top:28px}.primary:hover{background:#a7b5ff;color:#111526;border-color:#a7b5ff}.button svg{transition:transform .3s cubic-bezier(.16,1,.3,1)}.button:hover svg{transform:translateY(4px)}
.hero-sculpture{position:absolute;width:510px;height:510px;right:-15px;top:-45px;perspective:1000px;contain:layout style;pointer-events:none}.sculpture-tilt{position:absolute;inset:70px;transform-style:preserve-3d;transform:rotateX(var(--rx,-10deg)) rotateY(var(--ry,-18deg));transition:transform 1.1s cubic-bezier(.16,1,.3,1)}.n-sculpture{position:absolute;inset:0;transform-style:preserve-3d;animation:sculpture-float 9s ease-in-out infinite}.n-layer{position:absolute;inset:0;width:100%;height:100%;stroke:#6881ce;stroke-width:.6;stroke-linejoin:bevel;fill:#273b6a;transform:translateZ(calc(var(--layer)*3px - 24px));filter:none}.n-layer:nth-child(3n){fill:#354f8b}.n-layer:last-child{fill:#b7c8fc;stroke:#e1eaff;stroke-width:.7}.n-layer .fold-face{fill:#344b8f}.n-layer:last-child .fold-face{fill:#758ed5}.orbit-system{position:absolute;inset:20px;transform-style:preserve-3d;transform:rotate(-20deg)}.orbit{position:absolute;inset:16px;border:1px solid #354160;border-radius:50%;transform-style:preserve-3d}.orbit-a{transform:rotateX(65deg) rotateY(15deg)}.orbit-b{transform:rotateX(65deg) rotateY(-50deg)}.orbit-c{transform:rotateX(15deg) rotateY(65deg)}.orbit i{position:absolute;inset:-1px;border-radius:50%;animation:orbit-travel 12s linear infinite}.orbit i:before{content:'';position:absolute;left:50%;top:-3px;width:6px;height:6px;border-radius:50%;background:#c7d6ff;box-shadow:0 2px 12px #5f83c466}.orbit-b i{animation-duration:18s;animation-direction:reverse}.orbit-c i{animation-duration:24s}.sculpture-caption{position:absolute;bottom:5px;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:10px;font-size:12px;letter-spacing:.015em;color:#939fb8}.signal-dot{width:5px;height:5px;border-radius:50%;background:#b7c8fc}.product-index{margin-top:64px}.product-index a{transition:background .3s ease,padding .3s ease}.product-index a:hover{background:#151a26}.product-index a:first-child:hover{padding-left:16px}.product-index svg{transition:transform .3s ease;color:#a7b5ff}.product-index a:hover svg{transform:translate(3px,-3px)}.product-index span{color:#a2a8b7}.product-index strong{font-size:22px}.section-heading{padding-top:116px}.section-heading h2{font-size:52px}.section-heading p{max-width:360px}.product{gap:10%;padding-bottom:88px}.product+.product{padding-top:88px}.product h3{font-size:36px}.category{color:#a7b5ff;font-size:13px;letter-spacing:.015em}.product-lead{font-size:30px;color:#e3e6ee}.product-visual{border-radius:6px;min-height:450px;border:1px solid #2c3956;transition:border-color .4s ease;isolation:isolate}.product-visual:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(130deg,#9fbaff0b,transparent 55%);z-index:-1}.restaurant{background:#111a2c;color:#d9e3fb}.valet{background:#12221d;color:#d5e9dc;border-color:#294738}.booking{background:#1c192b;color:#e5ddf8;border-color:#3f355a}.visual-header{color:#b5c3df}.valet .visual-header{color:#b2cdbb}.booking .visual-header{color:#c4b7dc}.sample-label{font-size:12px;opacity:1}.table-orbit{border-color:#506b9c}.table-orbit:after,.table-orbit:before{content:'';position:absolute;inset:-14px;border:1px solid #4f6e9e;border-radius:50%;opacity:0;animation:service-pulse 4s ease-out infinite}.table-orbit:after{animation-delay:.9s}.orbit-dot{background:#c0d1ff}.service-title{font-size:28px}.demo-actions button{background:#233756;color:#e1ebff;border:1px solid #4c6388;border-radius:4px;transition:background .2s ease,transform .2s ease}.demo-actions button:hover{background:#2b4368;transform:translateY(-2px)}.demo-actions span{font-size:12px;color:#aebedb}.demo-status{color:#b9cbea;min-height:42px}.restaurant.is-called .table-orbit{background:#233756}.restaurant.is-called .table-orbit svg{animation:bell-ring .65s ease both}.parking-bay{border-color:#436f55}.parking-bay>span{color:#a7ceb3}.parking-bay svg{fill:#284e39;stroke:#b9dfc3;animation:car-arrival 8s cubic-bezier(.16,1,.3,1) infinite}.route-line{border-color:#608b70}.journey{border-color:#40604c;color:#c4dec9}.journey span:before{outline-color:#12221d;background:#b3d7b6}.journey span{animation:stage-light 8s ease-in-out infinite}.journey span:nth-child(2){animation-delay:2s}.journey span:nth-child(3){animation-delay:4s}.schedule-row{border-color:#3a3150}.stay-one{background:#554577;color:#f0eaff;animation:stay-arrival 7s ease-in-out infinite;transform-origin:left}.stay-two,.stay-four{background:#30283f;color:#ded1f2}.stay-three{border-color:#7c6b98;color:#c4b4df}.stay-two{animation:stay-arrival 7s 1s ease-in-out infinite;transform-origin:left}.company{background:#121720;border-top:1px solid #293140;border-bottom:1px solid #293140;margin-top:0;padding-block:104px}.company h2 span{color:#a7b5ff}.company-intro{font-size:30px;line-height:1.35;max-width:520px}.company p:not(.company-intro){color:#afb8c7}.principles{border-color:#354051}.company .principles p{color:#a7b0bf}.contact-email{border-color:#77849f}.copy-email{color:#a2a8b7;padding-block:14px;min-height:44px}.footer{padding-block:38px}.footer>div{align-items:center}.footer a{padding-block:10px}.footer #motion-toggle{font-size:12px;color:#a2a8b7;border:1px solid #424b5d;border-radius:4px;background:none;min-height:36px;padding:6px 10px}.footer #motion-toggle:hover{color:#e2e9ff;border-color:#93a8df}.text-link{border-color:#4b5774}.text-link:hover{border-color:#a7b5ff}.subtle-link{padding-block:10px}.visual-enter{animation:visual-arrive .9s cubic-bezier(.16,1,.3,1) both}.product-visual:not(.in-view) *,.hero:not(.in-view) *{animation-play-state:paused!important}body.motion-paused *,body.page-hidden *{animation-play-state:paused!important}body.motion-paused .sculpture-tilt{transform:rotateX(-10deg) rotateY(-18deg)}
@keyframes sculpture-float{0%,100%{transform:translateY(0) rotateY(-8deg) rotateZ(-8deg)}50%{transform:translateY(-18px) rotateY(12deg) rotateZ(-3deg)}}@keyframes orbit-travel{to{transform:rotate(360deg)}}@keyframes service-pulse{0%{transform:scale(.78);opacity:0}25%{opacity:.55}85%,100%{transform:scale(1.4);opacity:0}}@keyframes car-arrival{0%,12%{transform:translateY(-25px);opacity:.35}35%,80%{transform:translateY(0);opacity:1}100%{transform:translateY(20px);opacity:.35}}@keyframes stage-light{0%,100%{color:#8da997}30%,50%{color:#e4ffec}}@keyframes stay-arrival{0%,100%{background-color:#45365f}50%{background-color:#665183}}@keyframes visual-arrive{from{clip-path:inset(0 0 8% 0);transform:translateY(16px)}to{clip-path:inset(0);transform:translateY(0)}}@keyframes bell-ring{0%,100%{transform:rotate(0)}25%{transform:rotate(10deg)}50%{transform:rotate(-8deg)}75%{transform:rotate(4deg)}}
@media(max-width:1100px){.hero-sculpture{width:410px;height:410px;right:-20px;top:10px}.hero h1{font-size:76px}.hero-bottom{max-width:500px}.hero-bottom p{max-width:380px}.product{gap:5%}.section-heading h2{font-size:46px}.product-index strong{font-size:19px}}
@media(max-width:800px) and (min-width:701px){.hero-sculpture{width:330px;height:330px;top:50px;right:-25px;opacity:.8}.hero h1{font-size:66px}.hero-title{min-height:340px}.sculpture-caption{font-size:10px}.hero-bottom p{max-width:360px}}
@media(max-width:700px){.header{height:82px}.header nav{gap:16px}.header nav>a{font-size:12px;min-height:44px;display:flex;align-items:center}.hero{padding-top:42px}.hero-title{display:block;min-height:0}.hero h1{font-size:clamp(48px,12.5vw,78px);line-height:1.03;max-width:none}.hero-sculpture{position:relative;top:auto;right:auto;width:100%;max-width:400px;height:285px;margin:16px auto 0;perspective:900px}.sculpture-tilt{inset:20px 65px 24px}.orbit-system{inset:8px 32px 5px}.sculpture-caption{bottom:-4px;font-size:11px}.hero-bottom{margin-top:28px}.hero-bottom p{font-size:15px;max-width:430px}.hero-bottom .button{margin-top:22px}.product-index{margin-top:40px}.product-index strong{font-size:21px}.section-heading{padding-block:68px 42px}.section-heading h2{font-size:38px}.product{padding-bottom:48px;gap:30px}.product+.product{padding-top:48px}.product h3{font-size:31px}.product-visual{min-height:440px}.company{padding-block:64px}.company-intro{font-size:26px}.company h2{font-size:40px}.contact h2{font-size:40px}.footer>div{align-items:flex-end}.hero-sculpture .n-layer{stroke-width:.8}.hero h1 .accent{display:inline}.principles h3{font-size:15px}.product-index a:first-child:hover{padding-left:0}}
@media(max-width:380px){.hero h1{font-size:46px}.header nav{gap:12px}.hero-sculpture{height:260px}.sculpture-tilt{inset:20px 56px}.product h3{font-size:28px}.product-visual{padding-inline:18px}.visual-header{font-size:12px}.sample-label{max-width:95px}.section-heading h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}.sculpture-tilt{transform:rotateX(-10deg) rotateY(-18deg)!important}.n-sculpture{transform:rotateZ(-8deg)}.reading-progress{display:none}.table-orbit:before,.table-orbit:after{display:none}}
@media(max-width:700px){.header nav .nav-contact{display:none}.header nav{gap:18px}.header nav>a{white-space:nowrap}}

.portfolio{padding-top:112px;overflow:hidden}.portfolio-heading{display:flex;justify-content:space-between;align-items:end;gap:48px;margin-bottom:48px}.portfolio-heading h2{font-size:clamp(32px,3.4vw,46px);max-width:700px}.portfolio-heading p{max-width:330px;font-size:15px;color:var(--muted)}.portfolio-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-inline:max(56px,calc((100vw - 1280px)/2));scroll-padding-inline:max(56px,calc((100vw - 1280px)/2));overscroll-behavior-x:contain}.portfolio-track::-webkit-scrollbar{display:none}.portfolio-slide{flex:0 0 min(1152px,calc(100vw - 160px));min-width:0;min-height:470px;padding:54px 60px;scroll-snap-align:start;position:relative;overflow:hidden;border-radius:4px;isolation:isolate}.slide-table{background:#bac8ff;color:#142343}.slide-valet{background:#c5e7d2;color:#173d2a}.slide-desk{background:#d7c8ec;color:#35244e}.banner-content{position:relative;z-index:1}.banner-sector{font-size:14px;display:block;margin-bottom:36px}.portfolio-slide h3{font-size:clamp(42px,5vw,76px);letter-spacing:-.04em;line-height:1.05;margin-bottom:24px;max-width:850px;overflow-wrap:anywhere}.portfolio-slide h3 span{color:inherit;opacity:.65}.portfolio-slide p{font-size:26px;line-height:1.35;letter-spacing:-.025em;max-width:550px}.banner-features{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:13px;margin-top:22px}.banner-features span+span:before{content:'·';margin-right:24px}.banner-link{display:inline-flex;align-items:center;gap:40px;font-size:14px;border-bottom:1px solid currentColor;padding-block:12px;margin-top:24px;min-height:44px}.banner-link:hover{color:inherit;gap:48px}.banner-art{position:absolute;width:280px;height:280px;right:44px;top:120px;stroke:currentColor;stroke-width:1;opacity:.22;z-index:0}.bell-art circle{stroke-width:.6}.portfolio-slide:not(:first-child) .banner-art{stroke-width:1.5}.portfolio-controls{display:flex;align-items:center;justify-content:space-between;margin-top:20px}.portfolio-dots{display:flex;gap:12px}.portfolio-dots button{border:0;background:none;padding:18px 0;position:relative;width:48px;min-height:44px}.portfolio-dots button:before{content:'';position:absolute;left:0;right:0;top:21px;height:2px;background:#4a5366;transition:background .3s}.portfolio-dots button[aria-current=true]:before{background:#c2cfff}.portfolio-navigation{display:flex;align-items:center;gap:12px}.portfolio-navigation>span{font-size:13px;font-variant-numeric:tabular-nums;color:#a2a8b7;margin-right:10px}.portfolio-navigation button{background:transparent;color:#d4dced;border:1px solid #424b5d;border-radius:3px;height:44px;min-width:44px;display:grid;place-items:center}.portfolio-navigation button:hover{background:#202839;border-color:#8294b7}.portfolio-navigation #portfolio-pause{border-color:transparent;font-size:12px;padding-inline:12px;min-width:58px}.portfolio-navigation svg{width:20px}.section-heading{padding-top:100px}
@media(max-width:1100px){.portfolio-track{padding-inline:32px;scroll-padding-inline:32px}.portfolio-slide{flex-basis:calc(100vw - 100px);padding:44px;min-height:450px}.banner-art{width:220px;height:220px;right:25px;top:160px;opacity:.17}.portfolio-heading{gap:32px}.portfolio-heading p{font-size:14px;max-width:260px}}
@media(max-width:700px){.portfolio{padding-top:64px}.portfolio-heading{display:block;margin-bottom:30px}.portfolio-heading h2{font-size:34px}.portfolio-heading p{margin-top:20px;font-size:14px;max-width:330px}.portfolio-track{gap:12px;padding-inline:20px;scroll-padding-inline:20px}.portfolio-slide{flex-basis:calc(100vw - 52px);padding:30px 24px;min-height:450px}.portfolio-slide h3{font-size:clamp(29px,8vw,52px);letter-spacing:-.04em;overflow-wrap:normal}.banner-sector{font-size:12px;margin-bottom:44px}.portfolio-slide p{font-size:24px;max-width:270px}.banner-features{gap:8px 14px;font-size:12px;max-width:250px;margin-top:24px}.banner-features span+span:before{content:none}.banner-features span{border-bottom:1px solid #14234333;padding-bottom:4px}.banner-art{width:140px;height:140px;right:10px;top:16px;opacity:.13}.banner-link{font-size:12px;gap:18px;margin-top:28px}.banner-link:hover{gap:22px}.portfolio-controls{margin-top:16px;gap:12px}.portfolio-dots{gap:8px}.portfolio-dots button{width:24px}.portfolio-navigation{gap:6px}.portfolio-navigation>span{font-size:12px;margin-right:4px}.portfolio-navigation #portfolio-pause{min-width:46px;padding-inline:5px}.portfolio-navigation button{height:40px;min-width:40px}.section-heading{padding-top:72px}}
@media(max-width:380px){.portfolio-track{padding-inline:16px;scroll-padding-inline:16px}.portfolio-slide{flex-basis:calc(100vw - 44px);padding-inline:20px}.portfolio-slide h3{font-size:28px}.portfolio-heading h2{font-size:31px}.banner-features{font-size:12px}.portfolio-dots button{width:20px}.portfolio-navigation button{min-width:36px}}

body.motion-paused *:before,body.motion-paused *:after,body.page-hidden *:before,body.page-hidden *:after,.product-visual:not(.in-view) *:before,.product-visual:not(.in-view) *:after,.hero:not(.in-view) *:before,.hero:not(.in-view) *:after{animation-play-state:paused!important}
@media(max-width:380px){.header .brand{font-size:24px;gap:7px}.header .brand img{width:26px;height:26px}.header nav{gap:12px}.header nav>a{font-size:11px}}
