:root{--bg:#f5f5f7;--fg:#141619;--dim:#73777e;--line:#dfe1e6;--accent:#147d72;--card:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}body.lab{--bg:#080c10;--fg:#f1f6f7;--dim:#8d9da7;--line:#253038;--accent:#a7f3ce;--card:#10171d}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:6px}::selection{background:#90ebcc;color:#071613}.wrap{width:min(1180px,88%);margin:auto}.preview{height:36px;background:#19232b;color:#c6d2d9;display:flex;justify-content:center;align-items:center;gap:18px;font-size:10px;letter-spacing:.08em}.preview a{color:#fff;border-bottom:1px solid #65767f}.preview span{opacity:.6}.nav{height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px}.nav-wrap{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:blur(20px);border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent)}.brand{font-size:21px;letter-spacing:-1px;font-weight:650}.brand i{color:var(--accent);font-style:normal}.nav nav{display:flex;align-items:center;gap:30px;font-size:12px}.pill{padding:10px 18px;border-radius:30px;background:var(--fg);color:var(--bg)}.progress{height:2px;background:var(--accent);position:absolute;bottom:-1px;left:0;width:100%;transform:scaleX(var(--progress,0));transform-origin:left}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:600;color:var(--accent)}h1,h2,h3,p{margin:0}h1{font-size:clamp(58px,7.3vw,110px);font-weight:620;line-height:1.01;letter-spacing:-.075em}h2{font-size:clamp(38px,5.5vw,76px);line-height:1.04;letter-spacing:-.065em;font-weight:580}h3{font-size:29px;letter-spacing:-.045em;font-weight:570}.muted{color:var(--dim)}.lead{font-size:18px;line-height:1.65;color:var(--dim);max-width:510px}.hero{min-height:740px;height:calc(100svh - 110px);max-height:1000px;position:relative;display:flex;align-items:center;overflow:hidden}.hero .copy{position:relative;z-index:3;width:62%;padding:65px 0 100px;pointer-events:none}.hero .copy a{pointer-events:auto}.hero .eyebrow{margin-bottom:26px}.hero .lead{margin-top:30px;max-width:390px;font-size:16px}.gradient{background:linear-gradient(110deg,#136754,#70a99c 50%,#6895b8);background-clip:text;-webkit-background-clip:text;color:transparent}.lab .gradient{background-image:linear-gradient(110deg,#d3ffdc,#73dccd 65%,#8db5ed)}.actions{display:flex;align-items:center;gap:24px;margin-top:32px;font-size:13px}.button{display:inline-flex;gap:24px;align-items:center;padding:16px 24px;background:var(--fg);color:var(--bg);border-radius:32px;transition:transform .25s}.button:hover{transform:translateY(-3px)}.textlink{border-bottom:1px solid var(--line);padding:8px 0}.hero-foot{position:absolute;bottom:35px;width:100%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.14em;color:var(--dim)}.scroll-mark{display:inline-block;animation:nudge 2s infinite}.scene{position:absolute;width:650px;height:650px;right:-90px;top:50%;transform:translateY(-54%);pointer-events:none;isolation:isolate}.scene canvas{position:absolute;inset:-12%;width:124%;height:124%;z-index:3}.glow{position:absolute;inset:8%;border-radius:50%;background:radial-gradient(ellipse,#b7d6df70,transparent 68%);filter:blur(35px)}.orb{position:absolute;inset:17%;border-radius:50%;background:radial-gradient(circle at 30% 28%,#fff 1%,#e8f9f4 9%,#abd1d6 23%,#447d8370 39%,#193b54 52%,#c2d2dd 70%,#f5f9fa 80%);box-shadow:inset -22px -25px 55px #1d404d88,inset 6px 6px 40px #fff8,0 38px 80px #1c47551f;animation:float 9s ease-in-out infinite}.orb:after{content:'';position:absolute;inset:5%;border:1px solid #ffffff70;border-radius:50%;transform:rotate(-32deg) scaleX(.38)}.ring{position:absolute;inset:7%;border-radius:50%;border:1px solid #749aa24d;transform:rotate(-28deg) scaleY(.46)}.ring.r2{inset:0;transform:rotate(55deg) scaleY(.55);border-style:dashed;opacity:.5}.scene-label{position:absolute;left:25%;bottom:8%;font:10px monospace;letter-spacing:.1em;color:#5c7c82}.chapter{padding:110px 0}.intro{text-align:center;max-width:860px;margin:auto}.intro .eyebrow{margin-bottom:27px}.intro p{font-size:23px;line-height:1.5;letter-spacing:-.02em;color:var(--dim);margin:28px auto 0;max-width:670px}.intro p b{color:var(--fg);font-weight:500}.principles{display:flex;justify-content:space-around;border-block:1px solid var(--line);padding:26px 0;font-size:12px;color:var(--dim)}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:60px}.feature{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:34px;min-height:375px;display:flex;flex-direction:column;position:relative;overflow:hidden}.feature p{color:var(--dim);font-size:14px;line-height:1.75;margin-top:18px}.feature .num{font:10px monospace;color:var(--dim);letter-spacing:.15em}.symbol{height:130px;display:flex;align-items:center;font-size:65px;font-weight:200;color:var(--accent);letter-spacing:-9px}.feature:hover .symbol{transform:translateX(10px);transition:transform .7s}.story{height:180vh;position:relative;background:#101a1b;color:#f2f7f5;margin-top:40px}.story-inner{height:100svh;position:sticky;top:0;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px;overflow:hidden}.story .eyebrow{color:#91d3b9}.story h2{margin:24px 0}.story p{color:#a5b8b4;line-height:1.8;font-size:16px;max-width:390px}.story-art{position:relative;aspect-ratio:1}.story-circle{position:absolute;inset:10%;border:1px solid #80bda34d;border-radius:50%;transform:scale(calc(.8 + var(--story,0)*.2));display:grid;place-items:center}.story-circle:before,.story-circle:after{content:'';position:absolute;inset:12%;border:1px solid #80bda34d;border-radius:50%}.story-circle:after{inset:27%;background:radial-gradient(circle,#87d7ba33,transparent)}.story-word{font-size:clamp(40px,5vw,70px);letter-spacing:-.06em;z-index:2;transform:translateY(calc((1 - var(--story,0))*35px));text-shadow:0 0 45px #61d8c560}.story-badge{position:absolute;left:10%;top:15%;font:10px monospace;color:#94c7b3;letter-spacing:.1em}.method{display:grid;grid-template-columns:1fr 1fr;gap:100px}.steps{border-top:1px solid var(--line)}.step{padding:27px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:32px 1fr;gap:16px}.step span{font:11px monospace;color:var(--accent)}.step h3{font-size:22px}.step p{color:var(--dim);font-size:14px;line-height:1.6;margin-top:12px}.contact{text-align:center;padding:100px 0 120px}.contact h2{margin:24px 0 35px}.contact .email{font-size:17px;display:inline-block;border-bottom:1px solid var(--accent);padding-bottom:9px}.footer{border-top:1px solid var(--line);padding:30px 0;display:flex;justify-content:space-between;color:var(--dim);font-size:11px}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(35px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.js .reveal.visible{opacity:1;transform:translateY(0)}.reveal:nth-child(2){transition-delay:.1s}.reveal:nth-child(3){transition-delay:.2s}.motion{background:none;border:1px solid var(--line);border-radius:20px;padding:7px 12px;color:var(--dim);font-size:10px}.lab .scene{right:-70px}.lab .glow{background:radial-gradient(ellipse,#43b99e33,transparent 65%)}.core-stack{position:absolute;inset:20%;perspective:900px;animation:float 8s ease-in-out infinite}.plate{position:absolute;inset:0;border:1px solid #80e5c585;border-radius:35px;transform:rotateX(57deg) rotateZ(-35deg);background:linear-gradient(145deg,#28483e,#101a20);box-shadow:-12px 14px 0 #101b1d, -13px 15px 0 #71b8a351,0 40px 65px #0006;display:grid;place-items:center}.plate:nth-child(1){top:85px;bottom:-85px;opacity:.3}.plate:nth-child(2){top:42px;bottom:-42px;opacity:.6}.plate:nth-child(3){color:#b9f3d6;font:75px monospace;text-shadow:0 0 35px #99f5cf55}.lab .hero .copy{width:70%}.lab .scene-label{color:#93b5ad}.lab .principles{font:10px monospace;letter-spacing:.08em}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:50px}.section-head h2{margin-top:22px}.section-head p{font-size:14px;line-height:1.7;max-width:270px;color:var(--dim)}.products{display:grid;gap:26px}.product{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:500px;border:1px solid var(--line);border-radius:26px;overflow:hidden;background:var(--card)}.product .details{padding:55px}.product h3{font-size:43px;margin:18px 0}.product p{color:var(--dim);font-size:15px;line-height:1.8;max-width:330px}.product .actions{gap:20px;font-size:11px}.product .button{padding:13px 19px}.product-art{min-height:500px;position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 60% 30%,var(--tint),transparent 72%)}.product-art:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:35px 35px;mask-image:linear-gradient(black,transparent)}.mock-screen{width:77%;padding:20px;border:1px solid #ffffff25;border-radius:16px;box-shadow:0 25px 70px #0006;background:#101a21;transform:perspective(900px) rotateY(-12deg) rotateX(6deg);transition:transform .8s}.product:hover .mock-screen{transform:perspective(900px) rotateY(-3deg) rotateX(2deg)}.screen-top{display:flex;gap:4px;border-bottom:1px solid #ffffff12;padding-bottom:16px;margin-bottom:20px}.screen-top i{width:5px;height:5px;background:#5e7775;border-radius:50%}.screen-label{font:8px monospace;letter-spacing:.14em;color:#b3c8c6}.screen-title{font-size:25px;font-weight:550;letter-spacing:-1px;margin:14px 0}.screen-row{display:flex;gap:12px;margin-top:13px}.block{height:70px;background:#ffffff07;border:1px solid #ffffff0b;border-radius:9px;flex:1;padding:10px;color:#a8d9bb;font:9px monospace}.bar{height:4px;width:80%;background:#ffffff14;border-radius:3px;margin-top:14px}.bar:after{content:'';display:block;width:62%;height:100%;background:#a8d9bb;border-radius:3px}.screen-foot{font:8px monospace;color:#74878b;margin-top:24px}.route{height:130px;position:relative;margin:30px 0;background:linear-gradient(30deg,transparent 49%,#b7a1eb45 50%,transparent 51%),linear-gradient(-30deg,transparent 49%,#b7a1eb25 50%,transparent 51%);background-size:45px 45px}.route:after{content:'';position:absolute;inset:10% 15%;border:3px solid #c4aff7;border-left:0;border-radius:0 60px 60px 0;transform:rotate(-15deg)}.route:before{content:'●';position:absolute;color:#d6c4fc;left:13%;top:0;font-size:24px}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:25px 0}.tiles div{height:65px;border-radius:12px;display:grid;place-items:center;background:#29415c;color:#a5c7f1;font-size:25px}.admin{display:grid;grid-template-columns:1.2fr 1fr;gap:55px;border:1px solid var(--line);border-radius:24px;padding:48px;background:linear-gradient(130deg,#14251e,#0d151a);margin-top:40px}.admin h2{font-size:40px;margin:18px 0}.admin p{font-size:14px;line-height:1.7;color:var(--dim);max-width:370px}.admin-links a{display:flex;justify-content:space-between;padding:23px 0;border-bottom:1px solid var(--line);font-size:14px}.admin-links small{font-size:10px;color:var(--dim);display:block;margin-top:8px}.architecture{display:flex;gap:30px;justify-content:space-between;padding-top:45px}.architecture div{flex:1}.architecture strong{font-size:15px;font-weight:500}.architecture p{color:var(--dim);font-size:13px;line-height:1.7;margin-top:15px}.paused *{animation-play-state:paused!important}.paused .reveal{opacity:1;transform:none;transition:none}@keyframes float{50%{transform:translateY(-18px) rotate(3deg)}}@keyframes nudge{50%{transform:translateY(5px)}}@media(max-width:800px){.hero{height:auto;min-height:900px;align-items:start}.hero .copy,.lab .hero .copy{width:100%;padding:60px 0 0}.hero .lead{max-width:390px}.scene,.lab .scene{width:440px;height:440px;right:-70px;top:auto;bottom:20px;transform:none;opacity:.9}.hero-foot{bottom:20px}.hero h1{font-size:70px}.features{grid-template-columns:1fr}.feature{min-height:280px}.symbol{height:100px}.chapter{padding:75px 0}.method{grid-template-columns:1fr;gap:40px}.story-inner{grid-template-columns:1fr;gap:0;padding-top:100px;align-content:center}.story-inner h2{font-size:45px}.story-art{width:280px;justify-self:center}.story-inner p{font-size:14px}.product{grid-template-columns:1fr}.product .details{padding:32px}.product-art{min-height:360px}.admin{grid-template-columns:1fr;padding:28px;gap:15px}.architecture{flex-direction:column}.section-head{display:block}.section-head p{margin-top:25px}.nav nav{gap:15px}.nav nav .desktop{display:none}.footer{gap:15px;flex-wrap:wrap}.intro p{font-size:20px}.principles{flex-wrap:wrap;gap:20px;justify-content:center}}@media(max-width:430px){.hero h1{font-size:58px}.hero{min-height:860px}.preview{font-size:8px;gap:10px}.scene,.lab .scene{right:-95px;width:420px;height:420px;bottom:20px}.hero .lead{font-size:15px;max-width:310px}.actions{gap:17px}.nav nav{gap:12px}.brand{font-size:19px}.product h3{font-size:35px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}.story{height:auto}.story-inner{position:relative;min-height:700px;height:auto;padding-block:90px}.story-word,.story-circle{transform:none}}
@media(min-width:801px) and (max-width:1050px){.hero{height:auto;min-height:1000px;align-items:start}.hero .copy,.lab .hero .copy{width:100%;padding:60px 0 0}.scene,.lab .scene{width:460px;height:460px;right:0;top:auto;bottom:35px;transform:none}.hero .lead{max-width:470px}.hero h1{font-size:78px}.hero-foot{bottom:20px}}

.paused .story-word,.paused .story-circle{transform:none}

/* Blend hero artwork into the page instead of clipping at the content edge. */
body.personal,body.lab{overflow-x:clip}
.hero{overflow:visible}
.hero>.scene>.scene-art{position:absolute;inset:0;-webkit-mask-image:radial-gradient(ellipse closest-side at 50% 50%,#000 55%,rgba(0,0,0,.92) 68%,transparent 100%);mask-image:radial-gradient(ellipse closest-side at 50% 50%,#000 55%,rgba(0,0,0,.92) 68%,transparent 100%)}
