:root{--ease-out:cubic-bezier(.16,1,.3,1)}
header{position:fixed;transition:height .55s var(--ease-out),background .45s,box-shadow .45s;isolation:isolate}
header.is-scrolled{height:76px;background:rgba(246,247,249,.88);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 1px 0 #1011150b}
.reading-progress{position:fixed;top:0;left:0;height:2px;width:100%;transform:scaleX(0);transform-origin:left;z-index:20;background:var(--blue);pointer-events:none}
nav a{position:relative;transition:color .25s}
nav a:not(.nav-contact)::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease-out)}
nav a:hover,nav a[aria-current="location"]{color:var(--blue)}
nav a:hover::after,nav a[aria-current="location"]::after{transform:scaleX(1);transform-origin:left}
section[id]{scroll-margin-top:92px}
.hero{isolation:isolate}
.hero-art{translate:var(--art-x,0px) var(--art-y,0px);will-change:translate;pointer-events:none}
.hero h1{translate:0 var(--title-y,0px);scale:var(--title-scale,1);opacity:var(--hero-opacity,1);will-change:translate}
.hero-copy{translate:0 var(--copy-y,0px);opacity:var(--hero-opacity,1)}
.hero h1 .title-letter{display:inline-block;animation:letter-enter 1.25s var(--ease-out) both;animation-delay:calc(90ms + var(--letter-index)*42ms)}
.hero-kicker,.hero-meta{animation:quiet-enter 1.1s var(--ease-out) .15s both}
.hero-copy h2,.hero-copy p{animation:quiet-enter 1.2s var(--ease-out) .45s both}
.hero-copy p{animation-delay:.6s}
.scroll span{animation:scroll-hint 2.8s ease-in-out infinite}
.motion-ready .reveal-item{opacity:0;translate:0 36px;transition:opacity .95s var(--ease-out),translate 1.1s var(--ease-out);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal-item.is-visible{opacity:1;translate:0 0}
.intro h2 span{background:linear-gradient(90deg,var(--blue) 0%,var(--blue) var(--text-fill,0%),#c6cfe4 var(--text-fill,0%),#c6cfe4 100%);background-clip:text;-webkit-background-clip:text;color:transparent}
.product-grid{perspective:1400px}
.product{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .7s var(--ease-out),box-shadow .7s var(--ease-out);transform-style:preserve-3d;position:relative}
.product:hover,.product:focus-visible{box-shadow:0 30px 60px -28px #21346233}
.product-visual::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at var(--shine-x,50%) var(--shine-y,30%),#ffffff45,transparent 58%);opacity:0;transition:opacity .6s}
.product:hover .product-visual::after{opacity:1}
.product-visual img{transition:transform 1.1s var(--ease-out)}
.product-info .arrow{display:grid;place-items:center;min-width:42px;height:42px;padding:0;border:1px solid transparent;border-radius:50%;transition:transform .6s var(--ease-out),border-color .6s,color .6s}
.product:hover .arrow,.product:focus-visible .arrow{transform:rotate(45deg);border-color:var(--line);color:var(--blue)}
.support-list div{position:relative;border-top-color:transparent}
.support-list div::before{position:absolute;content:"";height:1px;top:0;left:0;width:100%;background:var(--line);transform:scaleX(0);transform-origin:left;transition:transform 1.3s var(--ease-out) .12s}
.support-list div.is-visible::before{transform:scaleX(1)}
.contact{overflow:hidden;position:relative;isolation:isolate}
.contact::before{content:"";position:absolute;width:600px;height:600px;right:-200px;top:-300px;border:1px solid #ffffff14;border-radius:50%;pointer-events:none;translate:0 var(--contact-shift,0px);z-index:-1}
.contact-links a{position:relative;overflow:hidden;isolation:isolate;background:transparent;transition:color .4s,border-color .4s,translate .7s var(--ease-out)}
.contact-links a::before{content:"";position:absolute;inset:0;background:#fff;transform:translateY(102%);transition:transform .5s var(--ease-out);z-index:-1}
.contact-links a:hover,.contact-links a:focus-visible{background:transparent;color:var(--blue)}
.contact-links a:hover::before,.contact-links a:focus-visible::before{transform:translateY(0)}
@keyframes letter-enter{from{opacity:0;transform:translateY(45px) rotate(3deg);filter:blur(5px)}to{opacity:1;transform:translateY(0) rotate(0);filter:blur(0)}}
@keyframes quiet-enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes scroll-hint{0%,70%,100%{transform:translateY(0)}35%{transform:translateY(7px)}}
.hero-editorial{min-height:800px;height:100svh;display:flex;align-items:flex-start;justify-content:center;padding:150px 7%;text-align:left}
.hero-editorial .hero-kicker{position:relative;top:auto;left:auto;z-index:3;font-size:10px;letter-spacing:.1em;margin-bottom:30px}
.hero-editorial h1{font-size:clamp(65px,9.2vw,150px);font-weight:650;letter-spacing:-.065em;line-height:1.01;width:100%;margin:0;z-index:3}
.hero-editorial .hero-line{display:block;overflow:hidden}
.hero-editorial .hero-line>span{display:block;white-space:nowrap;animation:hero-line-in 1.25s var(--ease-out) both}
.hero-editorial .hero-line>span.hero-blue{color:var(--blue);margin-left:7.5vw;animation-delay:.13s}
.hero-editorial .hero-art-frame{position:absolute;right:-4%;top:50%;width:57%;transform:translateY(-50%);z-index:2;pointer-events:none}
.hero-editorial .hero-art{display:block;width:100%;height:auto;margin:0;animation:none;rotate:none;max-width:none}
.hero-editorial .hero-copy{position:relative;z-index:3;text-align:left;margin-top:30px}
.hero-editorial .hero-copy h2{font-size:17px;line-height:1.7;font-weight:400;letter-spacing:-.02em}
.hero-editorial .scroll{right:4.4%;bottom:30px;font-size:9px}
.hero-editorial .hero-bottom{bottom:35px;font-size:9px}
@keyframes hero-line-in{from{transform:translateY(110%)}to{transform:translateY(0)}}
@media(min-width:1600px){.hero-editorial .hero-art-frame{right:0;width:53%}}
@media(max-width:700px){.hero-editorial{min-height:780px;height:100svh;padding:160px 6% 160px;justify-content:flex-start}.hero-editorial .hero-kicker{font-size:8px;margin-bottom:25px;top:auto}.hero-editorial h1{font-size:11.5vw;letter-spacing:-.065em}.hero-editorial .hero-line>span.hero-blue{margin-left:8vw}.hero-editorial .hero-copy{margin-top:24px}.hero-editorial .hero-copy h2{font-size:13px}.hero-editorial .hero-art-frame{width:95%;right:-10%;top:64%}.hero-editorial .hero-art{width:100%;margin:0;translate:0 var(--art-y,0px)}.hero-editorial .scroll{right:7%;bottom:24px}.hero-editorial .hero-bottom{display:block;left:6%;bottom:32px;font-size:7px;max-width:180px;line-height:1.6}}
@media(max-width:700px){header.is-scrolled{height:66px}.motion-ready .reveal-item{translate:0 22px}.product{transform:none!important}.hero-art{translate:0 var(--art-y,0px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.hero-art,.hero h1,.hero-copy,.motion-ready .reveal-item{translate:none!important;scale:1!important;opacity:1!important}.product{transform:none!important}.intro h2 span{background:none;color:var(--blue)}.support-list div::before{transform:none}.hero h1 .title-letter{opacity:1;filter:none}}
