.border-glow-card{--edge-proximity:0;--cursor-angle:45deg;--edge-sensitivity:30;--color-sensitivity:calc(var(--edge-sensitivity) + 20);--border-radius:28px;--glow-padding:40px;--cone-spread:25;border-radius:var(--border-radius);isolation:isolate;background:var(--card-bg,#120f17);border:1px solid #ffffff26;display:grid;position:relative;overflow:visible;box-shadow:0 1px 2px #0000001a,0 2px 4px #0000001a,0 4px 8px #0000001a,0 8px 16px #0000001a,0 16px 32px #0000001a,0 32px 64px #0000001a}.border-glow-card--light{border-color:#18181b1f;box-shadow:0 1px 2px #18181b0a,0 8px 24px #18181b0d}.border-glow-card--light:after,.border-glow-card--light>.edge-light{mix-blend-mode:normal}.border-glow-card:before,.border-glow-card:after,.border-glow-card>.edge-light{content:"";border-radius:inherit;z-index:0;pointer-events:none;transition:opacity .25s ease-out;position:absolute;inset:0}.border-glow-card:not(:hover):not(.sweep-active):not(:focus-visible):not(:has(:focus-visible)):before{opacity:0;transition:opacity .75s ease-in-out}.border-glow-card:not(:hover):not(.sweep-active):not(:focus-visible):not(:has(:focus-visible)):after{opacity:0;transition:opacity .75s ease-in-out}.border-glow-card:not(:hover):not(.sweep-active):not(:focus-visible):not(:has(:focus-visible))>.edge-light{opacity:0;transition:opacity .75s ease-in-out}.border-glow-card:before{background:linear-gradient(var(--card-bg,#120f17) 0 100%) padding-box, linear-gradient(#fff0 0% 100%) border-box, var(--gradient-one,radial-gradient(at 80% 55%, #be85ff 0px, transparent 50%)) border-box, var(--gradient-two,radial-gradient(at 69% 34%, #ff7a93 0px, transparent 50%)) border-box, var(--gradient-three,radial-gradient(at 8% 6%, #8fffad 0px, transparent 50%)) border-box, var(--gradient-four,radial-gradient(at 41% 38%, #47daff 0px, transparent 50%)) border-box, var(--gradient-five,radial-gradient(at 86% 85%, #7af2ff 0px, transparent 50%)) border-box, var(--gradient-six,radial-gradient(at 82% 18%, #ffe74c 0px, transparent 50%)) border-box, var(--gradient-seven,radial-gradient(at 51% 4%, #ff8d70 0px, transparent 50%)) border-box, var(--gradient-base,linear-gradient(#c299ff 0 100%)) border-box;opacity:calc((var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center, black calc(var(--cone-spread) * 1%), transparent calc((var(--cone-spread) + 15) * 1%), transparent calc((100 - var(--cone-spread) - 15) * 1%), black calc((100 - var(--cone-spread)) * 1%));mask-image:conic-gradient(from var(--cursor-angle) at center, black calc(var(--cone-spread) * 1%), transparent calc((var(--cone-spread) + 15) * 1%), transparent calc((100 - var(--cone-spread) - 15) * 1%), black calc((100 - var(--cone-spread)) * 1%));border:1px solid #0000}.border-glow-card:after{background:var(--gradient-one,radial-gradient(at 80% 55%, #be85ff 0px, transparent 50%)) padding-box, var(--gradient-two,radial-gradient(at 69% 34%, #ff7a93 0px, transparent 50%)) padding-box, var(--gradient-three,radial-gradient(at 8% 6%, #8fffad 0px, transparent 50%)) padding-box, var(--gradient-four,radial-gradient(at 41% 38%, #47daff 0px, transparent 50%)) padding-box, var(--gradient-five,radial-gradient(at 86% 85%, #7af2ff 0px, transparent 50%)) padding-box, var(--gradient-six,radial-gradient(at 82% 18%, #ffe74c 0px, transparent 50%)) padding-box, var(--gradient-seven,radial-gradient(at 51% 4%, #ff8d70 0px, transparent 50%)) padding-box, var(--gradient-base,linear-gradient(#c299ff 0 100%)) padding-box;-webkit-mask-image:linear-gradient(to bottom, black, black), radial-gradient(ellipse at 50% 50%, black 40%, transparent 65%), radial-gradient(ellipse at 66% 66%, black 5%, transparent 40%), radial-gradient(ellipse at 33% 33%, black 5%, transparent 40%), radial-gradient(ellipse at 66% 33%, black 5%, transparent 40%), radial-gradient(ellipse at 33% 66%, black 5%, transparent 40%), conic-gradient(from var(--cursor-angle) at center, transparent 5%, black 15%, black 85%, transparent 95%);mask-image:linear-gradient(to bottom, black, black), radial-gradient(ellipse at 50% 50%, black 40%, transparent 65%), radial-gradient(ellipse at 66% 66%, black 5%, transparent 40%), radial-gradient(ellipse at 33% 33%, black 5%, transparent 40%), radial-gradient(ellipse at 66% 33%, black 5%, transparent 40%), radial-gradient(ellipse at 33% 66%, black 5%, transparent 40%), conic-gradient(from var(--cursor-angle) at center, transparent 5%, black 15%, black 85%, transparent 95%);opacity:calc(var(--fill-opacity,.5) * (var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));mix-blend-mode:soft-light;border:1px solid #0000;-webkit-mask-composite:source-out,source-over,source-over,source-over,source-over,source-over;mask-composite:subtract,add,add,add,add,add}.border-glow-card>.edge-light{inset:calc(var(--glow-padding) * -1);pointer-events:none;z-index:1;-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center, black 2.5%, transparent 10%, transparent 90%, black 97.5%);mask-image:conic-gradient(from var(--cursor-angle) at center, black 2.5%, transparent 10%, transparent 90%, black 97.5%);opacity:calc((var(--edge-proximity) - var(--edge-sensitivity)) / (100 - var(--edge-sensitivity)));mix-blend-mode:plus-lighter}.border-glow-card>.edge-light:before{content:"";inset:var(--glow-padding);border-radius:inherit;box-shadow:inset 0 0 0 1px var(--glow-color,#f5daa3), inset 0 0 1px 0 var(--glow-color-60,#f5daa399), inset 0 0 3px 0 var(--glow-color-50,#f5daa380), inset 0 0 6px 0 var(--glow-color-40,#f5daa366), inset 0 0 15px 0 var(--glow-color-30,#f5daa34d), inset 0 0 25px 2px var(--glow-color-20,#f5daa333), inset 0 0 50px 2px var(--glow-color-10,#f5daa31a), 0 0 1px 0 var(--glow-color-60,#f5daa399), 0 0 3px 0 var(--glow-color-50,#f5daa380), 0 0 6px 0 var(--glow-color-40,#f5daa366), 0 0 15px 0 var(--glow-color-30,#f5daa34d), 0 0 25px 2px var(--glow-color-20,#f5daa333), 0 0 50px 2px var(--glow-color-10,#f5daa31a);position:absolute}.border-glow-inner{z-index:1;flex-direction:column;display:flex;position:relative;overflow:visible}.border-glow-card:before{background:var(--gradient-one), var(--gradient-two), var(--gradient-three), var(--gradient-four), var(--gradient-five), var(--gradient-six), var(--gradient-seven), var(--gradient-base);padding:1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude}.border-glow-card:before,.border-glow-card:after,.border-glow-card>.edge-light{pointer-events:none}.border-glow-card:is(:focus-visible,:has(:focus-visible)){--edge-proximity:100!important}.border-glow-card:is(:focus-visible,:has(:focus-visible)):not(:hover){--cursor-angle:45deg!important}.border-glow-card--contents>.border-glow-inner{display:contents}@media (hover:none){.border-glow-card:not(.sweep-active):not(:focus-visible):not(:has(:focus-visible)):before{opacity:0}.border-glow-card:not(.sweep-active):not(:focus-visible):not(:has(:focus-visible)):after{opacity:0}.border-glow-card:not(.sweep-active):not(:focus-visible):not(:has(:focus-visible))>.edge-light{opacity:0}}@media (prefers-reduced-motion:reduce){.border-glow-card:before,.border-glow-card:after,.border-glow-card>.edge-light{transition:none}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#030507;--paper:#f2f4f1;--muted:#aeb8c3;--quiet:#929eaa;--ice:#c1dced;--line:#ffffff24;--header-height:96px;--anchor-offset:112px;--page-width:min(1240px,calc(100% - 128px));--section-size:clamp(42px,4.2vw,60px);--section-leading:1.28;--copy-leading:1.85;--section-space:clamp(104px,10vw,144px);--ease:cubic-bezier(.16,1,.3,1);color:var(--paper);background:var(--background);scroll-behavior:smooth;scrollbar-color:#4d5a66 #030507;scrollbar-width:thin;font-synthesis:none;scroll-padding-top:112px;font-family:Avenir Next,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:var(--background);margin:0}h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{letter-spacing:-.025em;text-wrap:balance;font-weight:500}h2{font-size:clamp(40px,4.5vw,64px);line-height:1.32}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--ice);outline-offset:6px}::selection{background:var(--ice);color:#030507}.wrap{width:var(--page-width);margin-inline:auto}.icon{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:24px;height:24px}.skip{z-index:100;background:var(--paper);color:#030507;padding:14px;position:fixed;top:24px;left:24px;transform:translateY(-200%)}.skip:focus{transform:none}.no-script{width:min(600px,90%);margin:120px auto;line-height:2}.no-script a{display:block}.floating-header{z-index:30;top:max(20px,env(safe-area-inset-top));background:#11161bf2;border:1px solid #ffffff20;border-radius:18px;justify-content:space-between;align-items:center;gap:72px;width:min(1120px,100% - 48px);height:68px;padding:8px 24px 8px 28px;display:flex;position:fixed;left:50%;transform:translate(-50%)}@supports ((-webkit-backdrop-filter:blur(16px)) or (backdrop-filter:blur(16px))){.floating-header{-webkit-backdrop-filter:blur(22px)saturate(135%);backdrop-filter:blur(22px)saturate(135%);background:#18232b66}}.wordmark{letter-spacing:-.04em;align-items:baseline;min-height:44px;padding:8px 0;font-size:29px;font-weight:650;line-height:1;display:inline-flex}.wordmark span{color:var(--ice)}nav{gap:28px;font-size:13px;display:flex}nav a{min-height:44px;color:var(--muted);align-items:center;padding:10px 4px;transition:color .2s;display:flex;position:relative}nav a:after{content:"";background:var(--ice);transform-origin:0;height:1px;transition:transform .25s var(--ease);position:absolute;bottom:4px;left:4px;right:4px;transform:scaleX(0)}nav a:hover,nav a[aria-current]{color:var(--paper)}nav a:hover:after,nav a[aria-current]:after{transform:scaleX(1)}.text-link{min-height:44px;color:var(--paper);border-bottom:1px solid #c1dced60;align-items:center;gap:20px;font-size:14px;transition:color .2s,border-color .2s;display:inline-flex}.text-link .icon{width:19px;height:19px;transition:transform .3s var(--ease)}.text-link:hover{color:var(--ice);border-color:var(--ice)}.text-link:hover .icon{transform:translate(3px,-3px)}@font-face{font-family:Sora;src:url(/fonts/Sora-variable.woff)format("woff");font-weight:100 800;font-style:normal;font-display:swap}.home,.project-page{isolation:isolate;position:relative}.ambient{z-index:-1;pointer-events:none;background:#030507;position:fixed;inset:0;overflow:clip}.letter-scene{perspective:1500px;will-change:transform,opacity;width:min(880px,72vw,96svh);position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.rh-sculpture{aspect-ratio:5/3;transform-origin:50%;will-change:transform;width:100%;position:relative;transform:rotateX(22deg)rotateY(-21deg)rotate(-5deg)}.letter-r,.letter-h{will-change:transform;position:absolute;inset:0}.rh-body,.rh-light{width:100%;height:100%;display:block;position:absolute;inset:0}.rh-light{overflow:visible}.contour-band{opacity:var(--band-strength)}.contour-track,.contour-path{fill:none;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.contour-track{stroke:#c0dbeb;stroke-width:.65px;opacity:.19}.contour-path{stroke:#d7efff;stroke-width:1.55px;stroke-dasharray:100 900;stroke-dashoffset:var(--phase,0px);animation:13s linear infinite contour-flow}.band-0 .contour-path{stroke:#9fcff5;stroke-width:1.7px}.band-1 .contour-path{stroke:#b7d9f1;stroke-width:1.6px}.band-2 .contour-path{stroke:#e6f5ff;stroke-width:1.7px;stroke-dasharray:140 860}.face-sweep{animation:16s ease-in-out infinite alternate face-sweep;transform:translate(0)skew(-24deg)}.letter-h .face-sweep{animation-delay:-2s}@keyframes contour-flow{0%{stroke-dashoffset:var(--phase,0px)}to{stroke-dashoffset:calc(var(--phase,0px) - 1000px)}}@keyframes face-sweep{0%{transform:translate(150px)skew(-24deg)}to{transform:translate(1600px)skew(-24deg)}}.micro-field{opacity:.3;pointer-events:none;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 3%,#000 23% 90%,#0000);mask-image:linear-gradient(#0000 3%,#000 23% 90%,#0000)}.micro-field [data-render-state=fallback]{display:none}.light-field{background:radial-gradient(at 68% 45%,#7191af18,#0000 60%);position:absolute;inset:0}.ambient-shade{background:linear-gradient(#03050733,#0000 50%,#03050755);position:absolute;inset:0}main{position:relative}.opening{height:182svh}.opening-stage{height:100svh;position:sticky;top:0;overflow:clip}.hero-copy{position:absolute;bottom:clamp(40px,7svh,72px);left:0;right:0}.hero-copy h1{font-size:clamp(27px,2.65vw,38px);line-height:1.35}.hero-copy p{color:var(--muted);margin-top:16px;font-size:15px;line-height:1.8}.about,.work,.explore,.contact{isolation:isolate;position:relative}.about:before,.work:before,.explore:before,.contact:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#0000,#080b0e99 96px calc(100% - 96px),#0000);position:absolute;inset:-96px 0}.about{padding:var(--section-space) 0}.about-layout{grid-template-columns:1.1fr 1fr;align-items:center;gap:96px;display:grid}.about h2{font-size:var(--section-size);line-height:var(--section-leading)}.about-copy{color:var(--muted);max-width:29em;font-size:16px;line-height:1.9}.about-intro{color:var(--paper);margin-bottom:12px;font-size:20px}.about-copy p+p{margin-top:22px}.about-copy .about-intro+p{margin-top:0}.signature{color:var(--quiet);margin-top:36px;font-size:13px;display:block}.about-copy .text-link{margin-top:22px}.about-copy .signature{margin-top:24px}.tutoring{isolation:isolate;padding:var(--section-space) 0;scroll-margin-top:0;position:relative}.tutoring:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#0000,#080b0ecc 96px calc(100% - 96px),#0000);position:absolute;inset:-96px 0}.tutoring-heading{grid-template-columns:1.1fr 1fr;align-items:center;gap:96px;margin-bottom:64px;display:grid}.tutoring h2{font-size:var(--section-size);line-height:var(--section-leading)}.tutoring-summary{max-width:27em}.tutoring-summary>p{font-size:17px;line-height:var(--copy-leading);color:var(--muted)}.tutoring-summary .tutoring-scope{color:var(--paper);margin-top:18px;font-size:15px}.tutoring-summary .text-link{margin-top:16px}.teaching-layout{grid-template-columns:1.1fr 1fr;align-items:start;gap:96px;display:grid}.tutoring h3{font-size:25px;line-height:1.45}.tutoring h4{margin:0;font-size:18px;font-weight:500;line-height:1.6}.tutoring p{color:var(--muted)}.math-visualization{background:#0b141b80;border:1px solid #c1dced30;border-radius:12px;min-width:0;padding:28px 30px}.math-visualization figcaption p{margin-top:12px;font-size:14px;line-height:1.85}.math-graph{width:100%;height:auto;margin:18px 0 12px;display:block;overflow:hidden}.math-grid line{stroke:#c1dced15;stroke-width:1px}.math-axes path{fill:none;stroke:#aeb8c380;stroke-width:1px}.math-axes text{fill:var(--quiet);font-size:11px}.math-curve{fill:none;stroke:var(--ice);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.math-control{grid-template-columns:1fr auto;gap:16px;font-size:13px;line-height:1.6;display:grid}.math-control output{font-variant-numeric:tabular-nums;color:var(--ice)}.math-control input{width:100%;min-height:44px;accent-color:var(--ice);cursor:pointer;grid-column:1/-1;margin:0}.math-control input:focus-visible{outline:2px solid var(--ice);outline-offset:4px}.math-explanation{min-height:3.6em;margin-top:8px;font-size:13px;line-height:1.8}.teaching-methods>h3{margin-bottom:24px}.teaching-methods article+article{margin-top:28px}.teaching-methods article p{max-width:29em;margin-top:10px;font-size:15px;line-height:1.9}.tutoring-experience{border-top:1px solid var(--line);grid-template-columns:1.1fr 1fr;gap:96px;margin-top:72px;padding-top:36px;display:grid}.experience-intro p{max-width:30em;margin-top:18px;font-size:15px;line-height:1.9}.experience-list article+article{margin-top:28px}.experience-list article>div{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.experience-list time{color:var(--quiet);white-space:nowrap;font-size:12px}.experience-list article p{margin-top:10px;font-size:15px;line-height:1.9}.tutoring-arrangements{border-top:1px solid var(--line);margin-top:48px;padding-top:36px}.tutoring-arrangements dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:28px 0;display:grid}.tutoring-arrangements dt{color:var(--quiet);margin-bottom:10px;font-size:13px}.tutoring-arrangements dd{font-size:16px;line-height:1.9}.contact-invitation{max-width:36em;color:var(--muted);margin-top:24px;font-size:15px;line-height:1.9}@media (width<=1050px){.tutoring-heading,.teaching-layout,.tutoring-experience{gap:56px}.math-visualization{padding:24px}}@media (width<=700px){.floating-header nav{gap:14px}.tutoring{padding:72px 0;scroll-margin-top:0}.tutoring:before{background:linear-gradient(#0000,#080b0ecc 64px calc(100% - 64px),#0000);inset:-64px 0}.tutoring-heading,.teaching-layout,.tutoring-experience{grid-template-columns:minmax(0,1fr);gap:32px}.tutoring-heading{margin-bottom:32px}.tutoring-summary{max-width:none}.tutoring-summary>p{font-size:15px}.tutoring-summary .tutoring-scope{font-size:14px}.tutoring h3{font-size:22px}.tutoring h4{font-size:17px}.math-visualization{padding:22px 18px}.teaching-methods article p,.experience-intro p,.experience-list article p{font-size:14px}.teaching-methods article p{max-width:none}.tutoring-experience{gap:28px;margin-top:48px;padding-top:28px}.experience-list article>div{flex-wrap:wrap;gap:4px 16px}.tutoring-arrangements{margin-top:36px;padding-top:28px}.tutoring-arrangements dl{grid-template-columns:1fr;gap:20px;margin:24px 0}.tutoring-arrangements dl>div{grid-template-columns:90px minmax(0,1fr);gap:14px;display:grid}.tutoring-arrangements dt{margin:0;padding-top:3px}.tutoring-arrangements dd{font-size:15px}.contact-invitation{margin-top:20px;font-size:13px}.contact-invitation br{display:none}}@media (width<=360px){.floating-header nav{gap:10px}.tutoring-arrangements dl>div{grid-template-columns:82px minmax(0,1fr);gap:12px}}.work-stage{padding:var(--section-space) 0 64px}.work-heading h2{font-size:var(--section-size);line-height:var(--section-leading)}.work-heading{justify-content:space-between;align-items:end;gap:48px;margin-bottom:40px;display:flex}.work-heading>p,.explore-heading>p{color:var(--muted);max-width:23em;font-size:15px;line-height:1.85}.project-story{grid-template-columns:1.5fr 1fr;align-items:center;gap:72px;display:grid}.device-scene{perspective:1300px;height:clamp(380px,52svh,500px);position:relative}.desktop-capture{transform-origin:50%;width:91%;position:absolute;top:8%;left:0}.desktop-capture img{background:#000;border:1px solid #c1dced40;width:100%;height:auto;display:block}.desktop-capture figcaption,.mobile-capture figcaption{color:var(--quiet);margin-top:12px;font-size:12px}.mobile-capture{transform-origin:50% 80%;width:23%;position:absolute;bottom:7%;right:0}.mobile-capture img{background:#000;border:4px solid #131a20;border-radius:12px;width:100%;height:auto;display:block}.mobile-capture figcaption{text-align:right}.project-meta{color:var(--muted);justify-content:space-between;gap:16px;font-size:12px;line-height:1.8;display:flex}.project-copy h3{margin-top:22px;font-size:clamp(34px,3.4vw,48px);line-height:1.2}.project-copy>p{color:var(--muted);max-width:27em;margin-top:20px;font-size:16px;line-height:1.85}.project-details{border-top:1px solid var(--line);flex-wrap:wrap;gap:16px 28px;margin-top:28px;padding-top:24px;font-size:13px;line-height:1.8;display:flex}.project-details>div{flex:40%}.project-details>div:last-child{flex-basis:100%}.project-details dt{color:var(--quiet);margin-bottom:4px;font-size:12px}.project-details dd{color:#c2cbd3}.project-copy .text-link{margin-top:24px}.motion-ready .work{height:190svh}.motion-ready .work-stage{flex-direction:column;height:100svh;display:flex;position:sticky;top:0}.motion-ready .project-story{flex:1;min-height:0}.motion-ready .desktop-capture,.motion-ready .mobile-capture{will-change:transform}.explore-stage{padding:var(--section-space) 0 64px}.explore-heading{justify-content:space-between;align-items:end;gap:48px;margin-bottom:56px;display:flex}.explore-heading h2{font-size:var(--section-size);line-height:var(--section-leading)}.scroll-stack-inner{position:relative}.stack-position{margin-bottom:var(--item-distance);position:relative}.stack-anchor{height:0;scroll-margin-top:calc(var(--stack-position) + var(--stack-distance)*var(--stack-index) - var(--anchor-offset));display:block}.scroll-stack-end{height:28svh}.scroll-stack-card{transform-origin:top;backface-visibility:hidden;background:linear-gradient(135deg,#17222c,#0b1016 55%,#0b1016);border:1px solid #c1dced38;border-radius:12px;flex-direction:column;height:60svh;min-height:470px;padding:32px 48px 44px;display:flex;position:relative;box-shadow:0 18px 50px #0008}.stack-meta{letter-spacing:.12em;color:var(--ice);border-bottom:1px solid #c1dced24;justify-content:space-between;align-items:center;gap:24px;padding-bottom:24px;font-family:Sora,sans-serif;font-size:11px;display:flex}.stack-meta>span:last-child{letter-spacing:.04em;color:var(--muted)}.stack-content{flex:1;grid-template-columns:1.1fr 1fr;align-items:center;gap:72px;padding-top:24px;display:grid}.direction-type{min-width:0}.scroll-float{padding:8px 0 12px;overflow:clip}.scroll-float-text{letter-spacing:-.025em;white-space:nowrap;font-size:clamp(88px,10vw,148px);font-weight:500;line-height:1.12;display:inline-block}.scroll-float-char{transform-origin:50% 0;display:inline-block}.direction-copy h3{font-size:clamp(32px,3vw,42px);line-height:1.3}.direction-copy p{font-size:15px;line-height:var(--copy-leading);max-width:26em;color:var(--muted);margin-top:18px}.explore-bottom{justify-content:space-between;align-items:center;gap:32px;margin-top:20px;display:flex}.explore-bottom>p{color:var(--quiet);font-size:12px}.explore-steps{gap:32px;font-size:13px}.motion-ready .stack-position{top:calc(var(--stack-position) + var(--stack-distance)*var(--stack-index));z-index:var(--stack-index);position:sticky}.motion-ready .scroll-stack-card{will-change:transform,filter}.contact-stage{flex-direction:column;min-height:108svh;padding-top:112px;display:flex}.contact-content{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:48px 0 72px;display:flex}.contact-content h2{font-size:var(--section-size);line-height:1.35}.contact-channel{width:min(860px,100%);margin-top:40px;position:relative}.email{border-bottom:1px solid var(--line);letter-spacing:-.025em;justify-content:center;align-items:center;gap:32px;min-height:80px;padding:24px 0 32px;font-size:clamp(30px,4.1vw,58px);line-height:1.35;transition:color .25s;display:flex}.email .icon{width:30px;height:30px;transition:transform .3s var(--ease)}.email:hover{color:var(--ice)}.email:hover .icon{transform:translate(4px,-4px)}.contact-tools{justify-content:center;min-height:44px;margin-top:24px;display:flex;position:relative}.contact-tools button{min-height:44px;color:var(--muted);background:0 0;border:0;border-bottom:1px solid #c1dced55;padding:10px 0;font-size:13px;transition:color .2s}.contact-tools button:hover,.contact-tools button.is-copied{color:var(--ice)}.copy-status{width:max-content;max-width:90vw;color:var(--ice);font-size:12px;position:absolute;top:54px;left:50%;transform:translate(-50%)}footer{border-top:1px solid var(--line);color:var(--quiet);align-items:center;gap:24px;padding:28px 0;font-size:12px;display:flex}footer .wordmark{color:var(--paper);font-size:25px}footer>a:last-child{align-items:center;gap:12px;min-height:44px;margin-left:auto;display:flex}footer .icon{width:17px;height:17px}.project-page{background:0 0}.project-page .micro-field{opacity:.18}.case-study{background:linear-gradient(90deg,#03050780,#0000);padding-top:156px}.case-back{color:var(--muted);border:0;margin-bottom:48px;font-size:13px}.case-back:hover .icon{transform:translate(-3px)}.case-study h1{font-size:clamp(44px,5.2vw,74px);line-height:1.28}.case-lead{color:var(--muted);margin-top:28px;font-size:18px;line-height:1.9}.case-facts{color:var(--quiet);flex-wrap:wrap;gap:24px;margin-top:28px;font-size:13px;display:flex}.case-cover{margin:56px 0 96px}.case-cover img{border:1px solid var(--line);width:100%;height:auto;display:block}.case-cover figcaption{color:var(--quiet);margin-top:16px;font-size:12px;line-height:1.8}.case-section{border-top:1px solid var(--line);grid-template-columns:1fr 1.25fr;gap:96px;margin:0 0 96px;padding-top:32px;display:grid}.case-section h2{font-size:32px}.case-section p{color:var(--muted);max-width:32em;font-size:17px;line-height:1.95}.case-section p+p,.case-section .text-link{margin-top:24px}@media (width<=1050px){:root{--page-width:calc(100% - 80px)}.about-layout{gap:56px}.project-story{grid-template-columns:1.25fr 1fr;gap:40px}.project-copy>p,.direction-copy p{font-size:15px}.stack-content{gap:40px}.scroll-stack-card{padding-inline:32px}.case-section{gap:56px}}@media (width<=700px){:root{--section-size:clamp(30px,8vw,38px);--section-space:96px;--header-height:88px;--anchor-offset:104px;--page-width:calc(100% - 44px);scroll-padding-top:104px}.floating-header{top:max(12px,env(safe-area-inset-top));border-radius:16px;gap:20px;width:calc(100% - 28px);height:60px;padding:7px 14px 7px 18px}.wordmark{font-size:25px}nav{gap:16px;font-size:12px}nav a{padding:10px 0}nav a:after{bottom:3px;left:0;right:0}.opening{height:174svh}.hero-copy{display:block;bottom:clamp(32px,6svh,56px)}.hero-copy h1{white-space:nowrap;font-size:clamp(24px,6.5vw,36px)}.hero-copy p{margin-top:12px;font-size:13px;line-height:1.8}h2{font-size:38px}.about,.work,.explore,.contact{scroll-margin-top:0}.about:before,.work:before,.explore:before,.contact:before{background:linear-gradient(#0000,#080b0e99 64px calc(100% - 64px),#0000);inset:-64px 0}.about{padding:88px 0 96px}.about-layout{display:block}.about h2{font-size:var(--section-size)}.about-copy{margin-top:32px;font-size:15px;line-height:1.9}.about-intro{font-size:18px}.about-copy p+p{margin-top:18px}.signature{margin-top:28px;font-size:12px}.work,.motion-ready .work{height:auto;padding:88px 0 96px}.work-stage,.motion-ready .work-stage{height:auto;padding:0;display:block;position:relative}.work-heading{margin-bottom:32px;display:block}.work-heading h2{font-size:var(--section-size)}.work-heading>p{margin-top:20px;font-size:14px}.project-story{grid-template-columns:minmax(0,1fr);gap:28px}.device-scene{height:clamp(250px,34svh,320px)}.desktop-capture{width:91%;top:0}.mobile-capture{width:28%;bottom:0;right:0}.desktop-capture figcaption,.mobile-capture figcaption{margin-top:10px;font-size:11px}.project-meta{font-size:12px}.project-copy h3{margin-top:20px;font-size:36px}.project-copy>p{margin-top:18px;font-size:15px}.project-details{gap:16px 20px;margin-top:24px;padding-top:20px;font-size:13px}.project-copy .text-link{margin-top:22px}.explore-stage{padding:108px 0 48px}.explore-heading{margin-bottom:36px;display:block}.explore-heading h2{font-size:var(--section-size);line-height:var(--section-leading)}.explore-heading>p{margin-top:16px;font-size:13px;line-height:1.8}.scroll-stack-card{height:calc(78svh - 86px);min-height:510px;padding:24px 24px 32px}.stack-content{grid-template-columns:1fr;align-content:center;gap:18px;padding-top:20px}.stack-meta{padding-bottom:18px;font-size:10px}.scroll-float-text{font-size:clamp(66px,21vw,106px)}.scroll-float{padding-block:4px 8px}.direction-copy h3{font-size:28px;line-height:1.32}.direction-copy p{max-width:26em;margin-top:14px;font-size:14px;line-height:1.85}.explore-bottom{gap:16px}.explore-bottom>p{font-size:11px}.explore-steps{gap:26px;font-size:12px}.contact-stage{min-height:100svh;padding-top:88px}.contact-content{padding:40px 0 72px}.contact-content h2{font-size:var(--section-size)}.contact-channel{margin-top:32px}.email{gap:18px;padding:24px 0;font-size:clamp(22px,5.6vw,30px)}.email .icon{width:24px;height:24px}.contact-tools{margin-top:24px}.contact-tools button{font-size:13px}footer{gap:16px;padding:24px 0;font-size:11px}footer .wordmark{font-size:23px}.case-study{padding-top:120px}.case-back{margin-bottom:36px}.case-study h1{font-size:42px}.case-lead{margin-top:24px;font-size:16px}.case-facts{gap:16px;font-size:12px}.case-cover{margin:36px 0 56px}.case-section{grid-template-columns:1fr;gap:24px;margin-bottom:64px;padding-top:28px}.case-section h2{font-size:28px}.case-section p{font-size:16px;line-height:1.9}}@media (width<=360px){.floating-header{gap:14px;padding-inline:14px}nav{gap:12px}.about h2{font-size:38px}.project-meta{font-size:11px}.email{gap:12px;font-size:21px}}@media (height<=700px) and (width>=701px){.work,.motion-ready .work{height:auto}.motion-ready .work-stage{height:auto;padding:120px 0 64px;display:block;position:relative}.project-story{margin-top:40px}.explore-stage{padding-top:112px;padding-bottom:20px}.explore-heading h2{font-size:32px}.scroll-float-text{font-size:80px}.direction-copy h3{font-size:32px}.direction-copy p{font-size:15px}}@media (height<=700px) and (width<=700px){.explore-stage{padding-top:96px;padding-bottom:20px}.explore-heading h2{font-size:26px}.explore-heading>p{margin-top:12px;font-size:12px;line-height:1.6}.stack-content{gap:16px}.scroll-float-text{font-size:66px}.direction-copy h3{font-size:27px}.direction-copy p{margin-top:12px;font-size:14px;line-height:1.75}.hero-copy{bottom:24px}.hero-copy p{margin-top:8px}}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.opening{height:100svh}.opening-stage{position:relative}.hero-copy{opacity:1!important;transform:none!important}.motion-ready .work,.motion-ready .explore{height:auto}.motion-ready .work-stage,.motion-ready .explore-stage{height:auto;display:block;position:relative}.motion-ready .work-stage{padding:112px 0 64px}.motion-ready .stack-position{margin-bottom:28px;position:relative;top:auto}.scroll-stack-card{height:auto;min-height:380px;filter:none!important;will-change:auto!important;transform:none!important}.scroll-float-char{opacity:1!important;will-change:auto!important;transform:none!important}.scroll-stack-end{display:none}.direction-type,.direction-copy,.desktop-capture,.mobile-capture,.project-copy{opacity:1!important;will-change:auto!important;transform:none!important}.explore-steps{display:flex}.stack-anchor{scroll-margin-top:0}}@media (width>=701px) and (height>=701px){.motion-ready .work{scroll-margin-top:calc(-1 * var(--anchor-offset))}}@media (prefers-reduced-motion:reduce){.motion-ready .explore,.motion-ready .work{scroll-margin-top:0}}@media (height<=700px){.motion-ready .stack-position{margin-bottom:28px;position:relative;top:auto}.scroll-stack-card{height:auto;min-height:420px;filter:none!important;transform:none!important}.scroll-float-char{opacity:1!important;transform:none!important}.scroll-stack-end{display:none}.stack-anchor{scroll-margin-top:0}}.inner-message{text-align:center;letter-spacing:-.025em;opacity:0;pointer-events:none;place-content:center;font-size:clamp(34px,4.3vw,64px);line-height:1.4;display:grid;position:absolute;inset:0}.letter-scene.is-inactive .contour-path,.letter-scene.is-inactive .face-sweep,.is-paused .contour-path,.is-paused .face-sweep{animation-play-state:paused}@media (width<=700px){.letter-scene{perspective:900px;width:min(93vw,120svh);top:44%}.inner-message{font-size:31px}}@media (prefers-reduced-motion:reduce){.letter-scene,.rh-sculpture,.letter-r,.letter-h{will-change:auto}.inner-message{display:none}}.floating-header.border-glow-card{--border-radius:18px;box-shadow:none}.capture-surface.border-glow-card{width:100%;box-shadow:none}.capture-surface img{border:0;border-radius:3px}.phone-surface.border-glow-card{box-shadow:none;background:#131a20;padding:3px}.mobile-capture .phone-surface img{border:0;border-radius:8px}.email.border-glow-card{box-shadow:none;background:#0c131b70;border:1px solid #c1dced30;padding:24px 28px}@media (width<=700px){.floating-header.border-glow-card{--border-radius:16px;--glow-padding:12px!important}.email.border-glow-card{padding:22px 16px;--glow-padding:14px!important}}.home,.project-page{overflow-x:clip}.motion-line{margin-bottom:-.1em;padding:.04em .12em .1em 0;display:block;overflow:clip}.motion-ink{transform-origin:0 100%;display:inline-block}.rh-entrance{transform-origin:50% 75%;transform-style:preserve-3d;position:absolute;inset:0}.device-entrance,.stack-enter{transform-origin:50% 100%}.contact-action-motion{transform-origin:0}.opening-gate{z-index:80;pointer-events:none;display:none;position:fixed;inset:0;overflow:clip}.gate-panel{background:#030507;width:100%;height:50.1%;position:absolute;left:0;transform:translateZ(0)}.gate-top{top:0}.gate-bottom{bottom:0}.gate-mark{letter-spacing:-.04em;font-family:Sora,sans-serif;font-size:clamp(110px,19vw,280px);font-weight:650;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gate-mask{padding:.08em .03em;display:block;overflow:clip}.gate-word{transform-origin:50% 100%;display:block}.gate-word>span{color:var(--ice)}.hero-copy h1{font-size:clamp(32px,3.5vw,50px)}@media (width<=700px){.hero-copy h1{font-size:clamp(24px,6.6vw,36px)}.gate-mark{font-size:clamp(110px,27vw,170px)}}@media (prefers-reduced-motion:reduce){.opening-gate{display:none!important}.motion-ink,.rh-entrance,.device-entrance,.stack-enter,.contact-action-motion{clip-path:none!important;will-change:auto!important;transform:none!important}.floating-header,.about-copy>*,.project-copy>*,.stack-meta,.direction-copy>p,.contact-tools{clip-path:none!important}}.direction-entry{border-top:1px solid var(--line);min-height:44px;color:var(--ice);justify-content:space-between;align-items:center;gap:20px;margin-top:20px;padding-top:16px;display:flex}.entry-title,.entry-description{display:block}.entry-title{font-size:14px;line-height:1.5}.entry-description{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.7}.direction-entry .icon{width:19px;height:19px;transition:transform .3s var(--ease)}.direction-entry:hover .icon{transform:translate(3px,-3px)}.direction-entry:hover .entry-title{text-underline-offset:4px;text-decoration:underline}@media (width<=700px){.direction-entry{gap:16px;margin-top:16px;padding-top:14px}.entry-title{font-size:13px}.entry-description{font-size:11px}.scroll-float-text{font-size:clamp(64px,19vw,94px)}}
