:root{--paper:#f1f1f4;--white:#fafafc;--ink:#101114;--muted:#60616b;--accent:#ba163f;--accent-ink:#f04c70;--line:rgba(16,17,20,.16);--pad:clamp(24px,4.2vw,88px);--ease:cubic-bezier(.22,1,.36,1);font-family:Geist,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-padding-top:110px}body{margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{color:inherit;cursor:pointer;border:0;background:none}a{color:inherit;text-decoration:none}button:disabled{cursor:wait}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:7px}::selection{background:var(--accent);color:white}[hidden]{display:none!important}svg{display:block;fill:currentColor}p{line-height:1.65}h1,h2,h3,p{margin-top:0}.skip-link{position:fixed;left:16px;top:-80px;padding:14px;background:white;z-index:200}.skip-link:focus{top:12px}.no-script{padding:12vw}.initial-loading{padding:40vh var(--pad);font-size:20px}.initial-loading span{display:inline-block;width:6px;height:6px;margin:0 10px;background:var(--accent);border-radius:50%}
#world{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden;background:var(--paper)}#world canvas{display:block;width:100%;height:100%}.world-fallback{position:absolute;right:9%;top:22%;width:32vw;transform:rotate(-14deg);color:var(--accent)}.world-fallback svg{width:100%;filter:drop-shadow(25px 40px 40px #10111430)}.webgl-ready .world-fallback{display:none}#bar{position:fixed;top:0;left:0;width:100%;z-index:60;display:flex;align-items:center;padding:28px var(--pad);gap:36px;transition:color .45s;pointer-events:none}#bar>*{pointer-events:auto}.bar-logo{display:flex;align-items:center;gap:12px;margin-right:auto;font-size:24px;font-weight:700;letter-spacing:-.9px}.bar-logo svg{width:27px;height:27px}.bar-logo img{width:30px;height:30px;object-fit:contain}.header-contact{font-size:14px;display:flex;gap:32px;align-items:center}#burger{min-height:44px;display:flex;gap:20px;align-items:center;font-size:14px;padding:0 0 0 16px}#burger i{width:40px;height:40px;border:1px solid currentColor;border-radius:50%;position:relative}#burger i:before,#burger i:after{content:"";position:absolute;left:12px;top:17px;width:14px;height:1px;background:currentColor;transition:transform .4s var(--ease)}#burger i:after{top:22px}#burger[aria-expanded=true] i:before{transform:translateY(2.5px) rotate(45deg)}#burger[aria-expanded=true] i:after{transform:translateY(-2.5px) rotate(-45deg)}body.on-dark #bar,body.on-dark #chapter-nav{color:var(--paper)}body.menu-open #bar{color:var(--paper)}
#menu{position:fixed;inset:0;background:var(--ink);color:var(--paper);z-index:50;padding:130px var(--pad) 40px;overflow:auto;clip-path:inset(0 0 100% 0);transition:clip-path .75s var(--ease)}#menu.open{clip-path:inset(0)}#menu-inner{display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:960px}#menu-inner>a{font-size:clamp(26px,5.2vw,78px);line-height:1.2;letter-spacing:-.045em;transition:color .2s,transform .4s}#menu-inner>a:hover{color:var(--accent-ink);transform:translateX(12px)}#menu-inner>.child{font-size:clamp(22px,3vw,42px)}#menu-inner>.group{color:#a3a3ac;font-size:13px;margin-top:16px}.soon:after{content:"Coming soon";display:inline-block;font-size:12px;letter-spacing:0;color:#b7b7bf;margin-left:20px}.menu-mail{display:inline-block;margin-top:35px;font-size:14px;color:#b7b7bf}
#content{position:relative;z-index:1}.chapter{position:relative;min-height:110svh;padding:clamp(110px,14vh,180px) var(--pad);display:flex;flex-direction:column;justify-content:center}.hero{min-height:100svh;padding-top:19vh;padding-bottom:13vh;justify-content:flex-start}.hero h1{font-size:clamp(68px,9.9vw,164px);line-height:.97;font-weight:500;letter-spacing:-.078em;max-width:8.4em;margin:7vh 0 0;position:relative;z-index:2}.hero h1 .word{display:inline-block}.hero h1 .word-wrap{display:inline-block;overflow:hidden;vertical-align:bottom;padding:0 .05em .1em 0;margin-bottom:-.1em}.hero .hero-bottom{margin-top:auto;padding-top:70px;display:flex;justify-content:space-between;align-items:flex-end;gap:32px}.hero .hero-description{font-size:15px;max-width:310px;margin:0;line-height:1.6}.scroll-cue{display:inline-flex;align-items:center;gap:26px;font-size:13px}.scroll-cue span{width:46px;height:46px;border:1px solid #10111440;border-radius:50%;display:grid;place-items:center;font-size:20px}.section-label{font-size:13px;display:flex;gap:14px;align-items:center;margin-bottom:48px}.section-label:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.product{min-height:130svh}.product-content{width:min(480px,43%);margin-left:53%}.product h2{font-size:clamp(72px,9vw,142px);font-weight:500;line-height:.95;letter-spacing:-.065em;margin-bottom:30px}.product .product-slogan{font-size:clamp(24px,3.2vw,43px);font-weight:500;line-height:1.15;letter-spacing:-.035em}.product .product-description{font-size:16px;max-width:400px;color:var(--muted)}.product-logo{width:48px;height:48px;object-fit:contain;margin-bottom:24px}.product-meta{display:flex;gap:15px;align-items:center;font-size:12px;margin:30px 0 42px}.product-meta i{width:6px;height:6px;border-radius:50%;background:var(--accent)}.round-link{display:inline-flex;align-items:center;gap:30px;font-size:14px;padding:12px 0}.round-link span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid currentColor;transition:background .3s,color .3s,transform .4s}.round-link:hover span{background:var(--ink);color:var(--paper);transform:rotate(-45deg)}.philosophy{min-height:140svh;justify-content:flex-start;padding-top:22vh}.philosophy h2{font-size:clamp(48px,7.5vw,118px);max-width:1000px;font-weight:500;line-height:1.04;letter-spacing:-.058em;margin:0 0 80px}.philosophy .philosophy-copy{margin-left:53%;width:min(540px,47%);font-size:clamp(18px,2.1vw,27px);line-height:1.5;letter-spacing:-.02em}.philosophy details{margin-top:32px;font-size:16px}.philosophy summary{cursor:pointer;list-style:none;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:24px;display:flex;justify-content:space-between;gap:24px}.philosophy summary:after{content:"+";font-size:22px}.philosophy details[open] summary:after{content:"−"}.philosophy details p{font-size:16px;color:var(--muted)}.philosophy details h3{font-size:24px;font-weight:500;line-height:1.3;letter-spacing:-.025em}.about{color:var(--paper);min-height:145svh}.about h2{max-width:830px;font-size:clamp(52px,7.4vw,118px);font-weight:500;line-height:1.05;letter-spacing:-.06em}.about-copy{margin:40px 0 0 53%;width:min(540px,47%);font-size:18px;color:#ccccd5}.contact-finale{min-height:100svh;justify-content:flex-end;padding-bottom:92px}.contact-finale h2{font-size:clamp(70px,13vw,208px);font-weight:500;letter-spacing:-.075em;line-height:.92;margin:0 0 54px;max-width:10ch}.contact-finale .company-email{font-size:clamp(16px,2.4vw,34px);border-bottom:1px solid currentColor;padding-bottom:10px;align-self:flex-start;overflow-wrap:anywhere}.footer-row{border-top:1px solid var(--line);margin-top:80px;padding-top:28px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:13px}.footer-links{display:flex;gap:28px}.footer-mark{width:24px;padding:0;cursor:default;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.footer-mark svg{width:24px;height:24px}.copyright{color:var(--muted)}
#sound{display:flex;align-items:center;gap:9px}.sound-bars{height:14px;display:flex;align-items:center;gap:2px}.sound-bars i{display:block;width:2px;height:4px;background:currentColor}.sound-bars i:nth-child(2){height:11px}.sound-bars i:nth-child(3){height:7px}#sound[aria-pressed=true] i{animation:equalize .8s ease-in-out infinite alternate}#sound[aria-pressed=true] i:nth-child(2){animation-delay:-.3s}#sound[aria-pressed=true] i:nth-child(3){animation-delay:-.6s}@keyframes equalize{to{transform:scaleY(.25)}}#chapter-nav{position:fixed;right:var(--pad);bottom:30px;z-index:35;display:flex;gap:9px;align-items:center}#chapter-nav a{width:18px;height:18px;display:grid;place-items:center}#chapter-nav a:after{content:"";width:4px;height:4px;border-radius:50%;background:currentColor;transition:transform .3s}#chapter-nav a[aria-current=true]:after{transform:scale(1.9);background:var(--accent)}#intro{position:fixed;inset:0;z-index:70;pointer-events:none;color:var(--paper)}.intro-top,.intro-bottom{position:absolute;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;align-items:center;font-size:13px}.intro-top{top:36px}.intro-top [data-company]{font-size:24px;font-weight:500;letter-spacing:-1px}.intro-bottom{bottom:40px}.intro-bottom button{pointer-events:auto;padding:12px 0}.intro-track{height:2px;position:absolute;bottom:0;left:0;width:100%;background:#ffffff1c}.intro-track i{display:block;width:100%;height:100%;background:var(--accent-ink);transform:scaleX(0);transform-origin:left}.intro-active{overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}.lenis [data-lenis-prevent]{overscroll-behavior:contain}
.chapter{overflow:clip}.hero h1{max-width:7.8ch;width:53%}.hero{overflow:visible}
@media(min-width:1500px){.hero h1{max-width:7.8ch}.hero-description{margin-bottom:20px!important}}
@media(max-width:800px){:root{--pad:24px}#bar{padding-top:20px;gap:16px}.bar-logo{font-size:22px}.header-contact{display:none}.hero{padding-top:17vh;min-height:100svh}.hero h1{font-size:clamp(62px,13vw,100px);max-width:8.4em;line-height:1.01;margin-top:5vh}.hero .hero-bottom{padding-top:44vh;gap:18px;align-items:flex-end}.hero .hero-description{font-size:13px;max-width:220px}.scroll-cue{font-size:0;gap:0}.scroll-cue span{font-size:20px}.chapter{min-height:105svh}.product{padding-top:55vh;padding-bottom:15vh;min-height:125svh}.product-content{width:100%;margin-left:0}.product h2{font-size:80px}.product .product-description{max-width:480px}.section-label{margin-bottom:28px}.philosophy{padding-top:17vh;min-height:140svh}.philosophy h2{font-size:clamp(46px,9vw,70px);margin-bottom:44vh}.philosophy .philosophy-copy,.about-copy{margin-left:0;width:100%;max-width:560px}.about{padding-top:17vh;min-height:145svh}.about h2{font-size:clamp(46px,9vw,70px);margin-bottom:28vh}.about-copy{font-size:16px;margin-top:24px}.contact-finale{min-height:110svh;padding-bottom:100px}.contact-finale h2{font-size:clamp(60px,14vw,108px)}.contact-finale .company-email{font-size:22px}.footer-row{margin-top:60px;align-items:flex-start;flex-wrap:wrap}.footer-links{gap:20px}.copyright{order:3;width:100%}#chapter-nav{bottom:23px;gap:4px}#cursor{display:none}.intro-caption{max-width:180px}.world-fallback{width:60vw;right:15%;top:38%}#menu{padding-top:110px}#menu-inner>a{font-size:36px}}
:root[data-theme=dark]{--paper:#101114;--white:#191a20;--ink:#f1f1f4;--muted:#a7a8b4;--line:#ffffff29;color-scheme:dark}
:root[data-theme=light]{color-scheme:light}
body{color:var(--ink);background:var(--paper);transition:color .45s,background-color .45s}
#theme-toggle{display:grid;place-items:center;min-width:40px;min-height:44px;font-size:23px;padding:0}
.bar-logo img.brand-master{width:155px;height:28px;object-fit:contain;object-position:left center}
.bar-logo .master-dark{display:none}:root[data-theme=dark] .bar-logo .master-dark{display:block}:root[data-theme=dark] .bar-logo .master-light{display:none}
.on-dark .bar-logo .master-dark,.menu-open .bar-logo .master-dark{display:block!important}.on-dark .bar-logo .master-light,.menu-open .bar-logo .master-light{display:none!important}
.on-light:not(.menu-open) .bar-logo .master-light{display:block!important}.on-light:not(.menu-open) .bar-logo .master-dark{display:none!important}
body.on-dark #bar,body.on-dark #chapter-nav{color:#f1f1f4}body.on-light #bar,body.on-light #chapter-nav{color:#101114}body.menu-open #bar{color:#f1f1f4}
#menu{background:#101114;color:#f1f1f4}.skip-link{background:var(--paper)}.scroll-cue span{border-color:var(--line)}
:root[data-theme=dark] .about-copy{color:#4d4e58}:root[data-theme=dark] .world-fallback{color:#ba163f}
.hero h1{width:53%;max-width:7.8ch}.hero .hero-bottom{position:relative;z-index:2}.chapter{isolation:isolate}
@media(max-width:800px){#bar{gap:12px}.bar-logo img.brand-master{width:132px;height:26px}#burger{padding-left:4px;gap:10px}.hero h1{width:100%;max-width:11ch;font-size:clamp(58px,12.5vw,100px)}.hero .hero-bottom{padding-top:42vh}.hero{min-height:105svh}.about-copy{margin-top:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}#cursor{display:none}}
:root{--ease:cubic-bezier(.22,.8,.2,1)}
.hero h1{font-weight:400;letter-spacing:-.065em;line-height:1.02;font-size:clamp(70px,9.3vw,156px);max-width:8.2ch}
.hero-description{letter-spacing:-.01em}
.product h2,.philosophy h2,.about h2,.contact-finale h2{font-weight:400;letter-spacing:-.055em}
.product-logo{width:42px;height:42px;background:transparent;border:0;border-radius:0;box-shadow:none}
.product-content{padding-top:24px;border-top:1px solid var(--line)}
.section-label{font-size:11px;letter-spacing:.065em;text-transform:uppercase}
.philosophy-copy>p{line-height:1.5}.about-copy{font-size:17px;line-height:1.75}
.contact-finale{min-height:80svh}.contact-finale h2{font-size:clamp(60px,10vw,150px);max-width:none;margin-bottom:40px}
.contact-finale h2 a{display:inline-flex;align-items:center;gap:.2em}.finale-arrow{display:block;font-size:.65em;transition:transform .35s var(--ease);color:var(--accent)}
.contact-finale h2 a:hover .finale-arrow{transform:translateX(.12em)}
.footer-identity{display:flex;flex-direction:column;gap:12px}.contact-finale .company-email{font-size:12px;border:0;padding:0;color:var(--muted)}
.footer-row{margin-top:48px;align-items:flex-start}.footer-links a,.company-email{transition:color .18s}.footer-links a:hover,.company-email:hover{color:var(--accent)}
#intro{background:var(--paper);color:var(--ink);pointer-events:auto;clip-path:inset(0);will-change:clip-path}
.intro-emblem{position:absolute;left:50%;top:50%;width:clamp(130px,15vw,210px);margin-left:clamp(-105px,-7.5vw,-65px);margin-top:clamp(-105px,-7.5vw,-65px);color:var(--accent)}
.intro-emblem svg{width:100%;overflow:visible}.intro-top [data-company]{font-size:19px}.intro-caption{font-size:12px;color:var(--muted)}
#cursor{position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;z-index:1000;opacity:0;mix-blend-mode:difference}
#cursor:before{content:"";position:absolute;width:8px;height:8px;left:-4px;top:-4px;background:#fff;border-radius:50%;transition:transform .2s var(--ease)}
#cursor.active:before{transform:scale(2.6)}
@media(pointer:fine) and (hover:hover) and (prefers-reduced-motion:no-preference){
html.custom-cursor,html.custom-cursor *{cursor:none!important}
}
@media(forced-colors:active){#cursor{display:none!important}html.custom-cursor,html.custom-cursor *{cursor:auto!important}}
@view-transition{navigation:auto}
#bar{view-transition-name:site-header}
::view-transition-group(site-header){animation-duration:.4s;animation-timing-function:var(--ease);z-index:2}
::view-transition-old(site-header),::view-transition-new(site-header){animation:none}
::view-transition-old(root){animation:.28s var(--ease) both room-out}
::view-transition-new(root){animation:.42s var(--ease) both room-in}
:root:has(.contacts-page)::view-transition-new(root){animation-name:contacts-in}
:root:has(.updates-page)::view-transition-new(root){animation-name:journal-in}
@keyframes room-out{to{opacity:0;transform:translateY(-14px)}}
@keyframes room-in{from{opacity:0;transform:translateY(18px)}}
@keyframes contacts-in{from{opacity:0;transform:translateX(22px)}}
@keyframes journal-in{from{opacity:0;transform:translateY(28px)}}
@media(max-width:800px){.hero h1{font-size:clamp(60px,12vw,96px);width:100%;max-width:10ch;letter-spacing:-.055em}.contact-finale{min-height:75svh}.contact-finale h2{font-size:clamp(48px,10vw,78px)}.footer-identity{order:3;width:100%}.footer-row .copyright{order:0}.contact-finale .company-email{font-size:12px}.intro-emblem{width:144px;margin:-72px 0 0 -72px}}
@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}#intro,#cursor{display:none!important}}
#burger,#theme-toggle{
width:48px;height:48px;min-width:48px;min-height:48px;flex:0 0 48px;
display:grid;place-items:center;padding:0;gap:0;border-radius:50%;
border:1px solid color-mix(in srgb,currentColor 24%,transparent);
background:color-mix(in srgb,currentColor 4%,transparent);
transition:background .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease);
}
#theme-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#burger{margin-left:-22px}
@media(max-width:800px){#burger{margin-left:0}}
#burger i{display:block;width:18px;height:18px;border:0;border-radius:0;position:relative}
#burger i:before,#burger i:after{
content:"";position:absolute;left:50%;top:50%;width:18px;height:1.5px;
border-radius:2px;background:currentColor;
transition:transform .34s var(--ease);
}
#burger i:before{transform:translate(-50%,-5px)}
#burger i:after{transform:translate(-50%,5px)}
#burger[aria-expanded=true] i:before{transform:translate(-50%,-50%) rotate(45deg)}
#burger[aria-expanded=true] i:after{transform:translate(-50%,-50%) rotate(-45deg)}
#burger:focus-visible,#theme-toggle:focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(hover:hover){
#burger:hover,#theme-toggle:hover{
border-color:color-mix(in srgb,currentColor 62%,transparent);
background:color-mix(in srgb,currentColor 10%,transparent);
}
#burger:hover i:before{transform:translate(-50%,-6.5px)}
#burger:hover i:after{transform:translate(-50%,6.5px)}
#burger[aria-expanded=true]:hover i:before{transform:translate(-50%,-50%) rotate(45deg)}
#burger[aria-expanded=true]:hover i:after{transform:translate(-50%,-50%) rotate(-45deg)}
}
#burger:active,#theme-toggle:active{transform:scale(.94)}
@media(prefers-reduced-motion:reduce){#burger,#theme-toggle,#burger i:before,#burger i:after{transition:none}}