@font-face{font-family:'Home Editorial';font-style:normal;font-weight:400;font-display:swap;src:url('assets/bodoni-regular.ttf') format('truetype')}
/* This stylesheet is isolated to Home. Shared routes and components retain their existing style. */
body[data-page="home"] .site-header{border-bottom:1px solid var(--line)}
.prototype-home{--home-serif:'Home Editorial','Times New Roman',serif;width:92%;max-width:1700px;margin:22px auto 0}
.prototype-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:45px;background:#e0e3da;padding:55px 4.5% 70px;min-height:560px;align-items:center;overflow:hidden}
.prototype-hero-copy{position:relative;z-index:2}.prototype-kicker{font:10px var(--mono);letter-spacing:.015em;display:block;margin-bottom:45px}.prototype-hero h1{font:400 clamp(40px,5.2vw,90px)/1.15 var(--home-serif);letter-spacing:-.035em;overflow:hidden}.prototype-hero h1>span{display:block;white-space:nowrap;animation:home-title-in .9s cubic-bezier(.16,1,.3,1) both}.prototype-hero h1>span:nth-child(2){animation-delay:.12s}.prototype-intro{margin-top:25px;font-size:14px;line-height:1.8}.prototype-intro p+p{font-size:12px;margin-top:5px;color:#51584e}.prototype-explore{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:#f8f8f3;padding:18px 24px;margin-top:44px;min-height:52px;font-size:11px;transition:background .3s,color .3s}.prototype-explore:hover{background:var(--ink);color:#f8f8f3}.prototype-explore span{font-size:21px;transition:transform .3s}.prototype-explore:hover span{transform:translateX(4px)}
.prototype-covers{position:relative;width:100%;height:400px;align-self:center}.prototype-cover-back{position:absolute;left:0;top:0;width:88%;height:100%;background:#d3dac9;overflow:hidden}.prototype-cover-back img{opacity:.65;object-fit:cover;filter:saturate(.6)}.prototype-cover-front{position:absolute;right:-2%;top:12%;width:82%;height:80%;background:#d6ddca;overflow:hidden;box-shadow:0 14px 35px #171b1917;transform-origin:center;transition:transform .34s cubic-bezier(.22,1,.36,1),box-shadow .34s ease}.prototype-cover-front:hover{transform:translateY(-3px) scale(1.015);box-shadow:0 18px 42px #171b1920}.prototype-cover-front>img{object-fit:cover;transition:transform .35s cubic-bezier(.22,1,.36,1)}.prototype-cover-front:hover>img{transform:scale(1.015)}.prototype-cover-front>.tag{position:absolute;bottom:12px;left:12px;font-size:7px;padding:6px 9px}.prototype-cover-front .object-arrow{width:32px;height:32px;right:12px;top:12px}.prototype-covers .object-caption{position:absolute;left:0;bottom:-25px;font:8px var(--mono);color:#51584e}.prototype-cover-controls{position:absolute;right:3%;bottom:18px;display:flex;gap:15px;align-items:center;font:10px var(--mono)}.prototype-cover-controls .dots{gap:3px}.prototype-cover-controls .dot{width:28px;height:34px}.prototype-cover-controls .dot:before{border-color:#4f5c47;width:7px;height:7px}.prototype-cover-controls .dot[aria-pressed=true]:before{background:#4f5c47}
.prototype-selected{margin-top:46px;border-top:1px solid var(--line);padding-top:26px}.prototype-section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.prototype-section-heading h2{font:400 24px var(--home-serif);letter-spacing:-.02em}.prototype-section-heading>a{font-size:10px;display:flex;align-items:center;gap:14px;min-height:44px}.prototype-work-grid{display:grid;grid-template-columns:1.05fr 1.2fr .95fr .95fr;align-items:start;gap:25px}.prototype-work-intro{padding-top:65px}.prototype-work-intro h3{font:400 31px var(--home-serif),'Songti SC','SimSun',serif;letter-spacing:.01em}.prototype-work-intro p{font-size:12px;line-height:1.7;margin-top:12px}.prototype-work-intro>span{display:block;font-size:11px;line-height:1.7;color:var(--muted);margin-top:6px}.prototype-project{display:block;min-width:0;transform-origin:center;transition:transform .32s cubic-bezier(.22,1,.36,1),filter .32s ease}.prototype-project:hover,.prototype-project:focus-visible{transform:scale(1.018);z-index:2;filter:drop-shadow(0 12px 18px #37373512)}.prototype-project-image{aspect-ratio:1.04;position:relative;background:#e2e3db;overflow:hidden}.prototype-project:first-of-type .prototype-project-image{aspect-ratio:.94}.prototype-project-image img{transition:transform .35s cubic-bezier(.22,1,.36,1)}.prototype-project:hover img{transform:scale(1.018)}.prototype-project-name{position:absolute;left:12px;bottom:12px;background:#f8f8f3;padding:8px 10px;font-size:11px}.prototype-project-open{position:absolute;right:12px;top:12px;width:30px;height:30px;background:#f8f8f3;border-radius:50%;display:grid;place-items:center;font-size:20px;opacity:0;transform:translate(-5px,5px);transition:opacity .25s,transform .25s}.prototype-project:hover .prototype-project-open,.prototype-project:focus-visible .prototype-project-open{opacity:1;transform:none}.prototype-project-info{padding:14px 4px;font-size:11px;line-height:1.7}.prototype-project-info small{display:block;color:var(--muted);font-size:8px;margin-top:7px}
.prototype-about-row{display:grid;grid-template-columns:1.05fr 3.1fr auto;align-items:center;gap:25px;border-top:1px solid var(--line);margin-top:52px;padding:25px 0 55px}.prototype-about-row h2{font:400 23px var(--home-serif),'Songti SC','SimSun',serif}.prototype-about-row p{font-size:12px}.prototype-about-row a{display:flex;gap:14px;align-items:center;font-size:11px;min-height:44px}.prototype-section-heading>a span,.prototype-about-row a span{font-size:21px;transition:transform .25s}.prototype-section-heading>a:hover span,.prototype-about-row a:hover span{transform:translateX(5px)}
@keyframes home-title-in{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@media(min-width:1700px){.prototype-hero{min-height:650px}.prototype-covers{height:465px}}
@media(max-width:1100px){.prototype-hero{gap:30px;padding:40px 4% 60px;min-height:480px}.prototype-covers{height:330px}.prototype-kicker{font-size:8px;margin-bottom:32px}.prototype-intro{font-size:12px}.prototype-intro p+p{font-size:11px}.prototype-explore{margin-top:32px}.prototype-work-grid{gap:18px}.prototype-work-intro{padding-top:35px}.prototype-work-intro h3{font-size:26px}.prototype-project-name{font-size:9px;left:8px;bottom:8px;padding:6px 8px}.prototype-about-row{grid-template-columns:1fr 2.8fr auto}}
@media(max-width:700px){.prototype-home{width:88%;margin-top:18px}.prototype-hero{grid-template-columns:1fr;gap:26px;padding:30px 7% 62px;min-height:0}.prototype-kicker{font-size:7px;line-height:1.8;margin-bottom:26px;letter-spacing:0}.prototype-hero h1{font-size:7.7vw;line-height:1.18;letter-spacing:-.035em}.prototype-intro{font-size:10px;margin-top:20px;line-height:1.9}.prototype-intro p+p{font-size:9px;margin-top:5px}.prototype-explore{padding:13px 17px;min-height:45px;font-size:9px;margin-top:24px;gap:30px}.prototype-covers{width:90%;height:260px;margin-left:auto;margin-right:3%}.prototype-cover-front{right:-3%;width:84%;height:81%;top:13%}.prototype-cover-front>.tag{font-size:6px;left:7px;bottom:7px;padding:5px 7px}.prototype-cover-front .object-arrow{width:26px;height:26px;font-size:16px;right:8px;top:8px}.prototype-covers .object-caption{font-size:6px;bottom:-18px}.prototype-cover-controls{right:6%;bottom:10px;font-size:8px;gap:8px}.prototype-cover-controls .dot{width:32px;height:36px}.prototype-cover-controls .dot:before{width:6px;height:6px}.prototype-selected{margin-top:33px;padding-top:18px}.prototype-section-heading{gap:15px;margin-bottom:20px}.prototype-section-heading h2{font-size:19px}.prototype-section-heading>a{font-size:7px;gap:6px}.prototype-work-grid{grid-template-columns:1fr 1fr;gap:24px 16px}.prototype-work-intro{grid-column:1/-1;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 12px;align-items:center}.prototype-work-intro h3{grid-row:1/3;font-size:27px}.prototype-work-intro p{font-size:9px;margin:0}.prototype-work-intro>span{font-size:9px;margin:4px 0 0}.prototype-project:first-of-type{grid-column:1/-1}.prototype-project:first-of-type .prototype-project-image{aspect-ratio:1.25}.prototype-project-image{aspect-ratio:1}.prototype-project-name{font-size:9px;left:8px;bottom:8px;padding:6px 8px}.prototype-project-open{opacity:1;transform:none;width:25px;height:25px;font-size:16px;right:8px;top:8px}.prototype-project-info{font-size:9px;padding:11px 1px}.prototype-project-info small{font-size:7px;margin-top:4px}.prototype-about-row{grid-template-columns:1fr auto;gap:10px;margin-top:32px;padding:20px 0 25px}.prototype-about-row h2{font-size:22px}.prototype-about-row p{font-size:10px;grid-row:2;grid-column:1/-1}.prototype-about-row a{font-size:9px;gap:10px}}
@media(max-width:360px){.prototype-covers{height:215px}.prototype-hero{padding-left:6%;padding-right:6%}.prototype-project-name{font-size:8px;padding:5px 6px}.prototype-section-heading h2{font-size:17px}}
@media(prefers-reduced-motion:reduce){.prototype-hero h1>span{animation:none}.prototype-cover-front:hover,.prototype-cover-front:hover>img,.prototype-project:hover,.prototype-project:focus-visible,.prototype-project:hover img{transform:none}}
.motion-paused .prototype-hero h1>span{animation:none!important}

/* Soft corners shared by the home cover and project frames. */
.prototype-cover-back,.prototype-cover-front{border-radius:10px}
.prototype-project-image{border-radius:9px}

/* Home motion language inspired by large-type motion portfolios: the title owns
   the first frame, the active project floats through it, and featured work
   arrives as a paced sequence rather than a static card row. */
.prototype-side-label{position:absolute;z-index:2;font:700 clamp(17px,2.2vw,35px)/.9 Archivo,Arial,sans-serif;letter-spacing:-.055em;text-transform:uppercase;pointer-events:none}
.prototype-side-label-left{left:3.5%;top:58%}.prototype-side-label-right{right:3.5%;top:58%;text-align:right}
.prototype-scroll-note{position:absolute;z-index:5;left:50%;bottom:18px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;font:650 8px var(--mono);letter-spacing:.08em;transition:color .3s ease,gap .45s cubic-bezier(.16,1,.3,1)}
.prototype-scroll-note:hover{gap:18px;color:#8874a7}.prototype-scroll-note span{font-size:12px}
.prototype-section-heading h2{font-family:Archivo,Arial,sans-serif;font-weight:780;letter-spacing:-.075em;line-height:.8}
.prototype-project.featured-motion{--featured-media-y:0px;opacity:0;clip-path:inset(0 0 18% 0);transform:translate3d(0,68px,0) scale(.975);transition:opacity .7s ease var(--featured-delay,0ms),clip-path 1.05s cubic-bezier(.16,1,.3,1) var(--featured-delay,0ms),transform 1.05s cubic-bezier(.16,1,.3,1) var(--featured-delay,0ms),filter .4s ease}
.prototype-project.featured-motion.is-featured-visible{opacity:1;clip-path:inset(0);transform:translate3d(0,0,0) scale(1)}
.prototype-project.featured-motion.is-featured-visible:hover,.prototype-project.featured-motion.is-featured-visible:focus-visible{transform:translate3d(0,-5px,0) scale(1.022);filter:drop-shadow(0 20px 24px #37373518)}
.prototype-project.featured-motion .prototype-project-info{opacity:0;transform:translateY(16px);transition:opacity .65s ease calc(var(--featured-delay,0ms) + 180ms),transform .8s cubic-bezier(.16,1,.3,1) calc(var(--featured-delay,0ms) + 180ms)}
.prototype-project.featured-motion.is-featured-visible .prototype-project-info{opacity:1;transform:none}
.prototype-project.featured-motion .prototype-project-image img{transform:translate3d(0,var(--featured-media-y),0) scale(1.055);transition:transform .85s cubic-bezier(.16,1,.3,1),filter .55s ease}
.prototype-project.featured-motion:hover .prototype-project-image img{transform:translate3d(0,var(--featured-media-y),0) scale(1.095)}
.prototype-project.featured-motion .prototype-project-name{transition:transform .55s cubic-bezier(.16,1,.3,1),background-color .3s,color .3s}
.prototype-project.featured-motion:hover .prototype-project-name{transform:translateX(6px)}

@media(min-width:701px){
 .prototype-hero{display:block;min-height:clamp(650px,calc(100svh - 120px),850px);padding:34px 3.5% 62px;isolation:isolate}
 .prototype-hero-copy{position:static;transform:translate3d(0,var(--home-copy-y,0px),0);opacity:var(--home-copy-opacity,1);transition:opacity .12s linear;will-change:transform,opacity}
 .prototype-kicker{margin:0 0 30px;font-weight:650;letter-spacing:.08em}
 .prototype-hero h1{position:relative;z-index:1;font-family:Archivo,Arial,sans-serif;font-size:clamp(78px,11.65vw,188px);font-weight:790;line-height:.79;letter-spacing:-.082em;overflow:visible}
 .prototype-hero h1>span{animation:none}.prototype-hero h1>span:nth-child(2){text-align:right;padding-right:.02em}
 .prototype-intro{position:absolute;z-index:4;left:3.5%;bottom:13%;max-width:250px;margin:0}
 .prototype-explore{position:absolute;z-index:4;right:3.5%;bottom:13%;margin:0;background:transparent;border-bottom:1px solid currentColor;padding:14px 0}
 .prototype-covers{position:absolute;z-index:3;left:50%;top:57%;width:clamp(270px,31vw,470px);height:clamp(245px,27vw,400px);transform:translate3d(calc(-50% + var(--hero-pointer-x,0px)),calc(-50% + var(--home-cover-y,0px) + var(--hero-pointer-y,0px)),0) rotate(var(--hero-rotate,0deg)) scale(var(--home-cover-scale,1));transform-origin:center;transition:transform .65s cubic-bezier(.16,1,.3,1);will-change:transform}
 .prototype-cover-controls{right:3.5%;bottom:24px}.prototype-scroll-note{bottom:24px}
 .prototype-selected{margin-top:82px;padding-top:30px}
 .prototype-section-heading{align-items:flex-end;margin-bottom:45px}.prototype-section-heading h2{font-size:clamp(74px,11vw,175px)}
 .prototype-section-heading>a{margin-bottom:8px;font-weight:650}
 .prototype-work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 32px}
 .prototype-work-intro{grid-column:1/-1;display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:32px;padding:0 0 18px;border-bottom:1px solid var(--line)}
 .prototype-work-intro h3{font-family:Archivo,Arial,sans-serif;font-size:22px;font-weight:700;letter-spacing:-.04em}.prototype-work-intro p,.prototype-work-intro>span{margin:0}
 .prototype-project:first-of-type .prototype-project-image,.prototype-project-image{aspect-ratio:1.08}
 .prototype-project:nth-of-type(2){margin-top:68px}.prototype-project:nth-of-type(3){margin-top:22px}
 .prototype-project-name{font-weight:650}.prototype-project-info>span{font-weight:650}
 .prototype-selected[data-featured-spread]{min-height:185vh;margin-bottom:28px}
 .prototype-selected-sticky{position:sticky;top:88px;min-height:calc(100svh - 88px);display:flex;flex-direction:column;justify-content:center;padding:24px 0 34px;overflow:hidden}
 .prototype-selected.has-scroll-spread .prototype-project:nth-of-type(2),.prototype-selected.has-scroll-spread .prototype-project:nth-of-type(3){margin-top:0}
 .prototype-selected.has-scroll-spread .prototype-project.featured-motion,.prototype-selected.has-scroll-spread .prototype-project.featured-motion.is-featured-visible{opacity:var(--spread-opacity,1);clip-path:inset(0);transform:translate3d(var(--spread-x,0px),var(--spread-y,0px),0) rotate(var(--spread-rotate,0deg)) scale(var(--spread-scale,1));transition:filter .35s ease;will-change:transform,opacity}
 .prototype-selected.has-scroll-spread .prototype-project:nth-of-type(1){z-index:3}.prototype-selected.has-scroll-spread .prototype-project:nth-of-type(2){z-index:2}.prototype-selected.has-scroll-spread .prototype-project:nth-of-type(3){z-index:1}
 .prototype-selected.has-scroll-spread.is-spread-complete .prototype-project.featured-motion:hover,.prototype-selected.has-scroll-spread.is-spread-complete .prototype-project.featured-motion:focus-visible{transform:translate3d(0,-5px,0) scale(1.022);z-index:5}
}

@media(max-width:700px){
 .prototype-side-label{display:none}.prototype-scroll-note{display:none}
 .prototype-selected-sticky{position:static;min-height:0;padding:0;overflow:visible}
 .prototype-section-heading{align-items:flex-end}.prototype-section-heading h2{font-size:13.5vw;line-height:.82}
 .prototype-project.featured-motion{transform:translate3d(0,42px,0) scale(.98)}.prototype-project.featured-motion.is-featured-visible{transform:none}
 .prototype-project.featured-motion.is-featured-visible:hover,.prototype-project.featured-motion.is-featured-visible:focus-visible{transform:scale(1.018)}
}

@media(prefers-reduced-motion:reduce){
 .prototype-hero-copy,.prototype-covers,.prototype-project.featured-motion,.prototype-project.featured-motion .prototype-project-info,.prototype-project.featured-motion .prototype-project-image img{opacity:1;clip-path:none;transform:none!important;transition:none!important}
 .prototype-selected[data-featured-spread]{min-height:auto}.prototype-selected-sticky{position:static;min-height:0;padding:0;overflow:visible}
}
.motion-paused .prototype-hero-copy,.motion-paused .prototype-covers,.motion-paused .prototype-project.featured-motion,.motion-paused .prototype-project.featured-motion .prototype-project-info,.motion-paused .prototype-project.featured-motion .prototype-project-image img{opacity:1!important;clip-path:none!important;transform:none!important;transition:none!important}
.motion-paused .prototype-selected[data-featured-spread]{min-height:auto}.motion-paused .prototype-selected-sticky{position:static;min-height:0;padding:0;overflow:visible}

/* The home cover now continues directly into the three featured projects. */
.prototype-featured-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;padding-bottom:17px;border-bottom:1px solid var(--line)}
.prototype-featured-toolbar>div{display:flex;align-items:center;gap:18px}.prototype-featured-toolbar strong{font:700 22px Archivo,Arial,sans-serif;letter-spacing:-.045em}.prototype-featured-toolbar .eyebrow{font-size:8px}.prototype-featured-toolbar>a{display:flex;align-items:center;gap:14px;min-height:44px;font:650 9px var(--mono);letter-spacing:.04em}.prototype-featured-toolbar>a span{font-size:18px;transition:transform .3s cubic-bezier(.16,1,.3,1)}.prototype-featured-toolbar>a:hover span{transform:translateX(5px)}

@media(min-width:701px){
 .prototype-hero{min-height:clamp(650px,calc(100svh - 104px),820px);padding:32px 4% 58px}
 .prototype-hero h1{font-size:clamp(72px,10.35vw,164px);line-height:.82;letter-spacing:-.078em}
 .prototype-kicker{margin-bottom:25px}
 .prototype-covers{top:58%;width:clamp(260px,28vw,430px);height:clamp(235px,24.5vw,375px);opacity:var(--home-cover-opacity,1);transition:transform .34s cubic-bezier(.22,.61,.36,1),opacity .22s linear}
 .prototype-intro{left:4%;bottom:9.5%;max-width:245px}.prototype-explore,.prototype-explore.sb-enhanced{position:absolute;left:auto;right:4%;bottom:9.5%}
 .prototype-side-label{top:63%;font-size:clamp(11px,1.3vw,18px);letter-spacing:-.025em;opacity:.62}.prototype-side-label-left{left:4%}.prototype-side-label-right{right:4%}
 .prototype-cover-controls{right:4%;bottom:18px}.prototype-scroll-note{bottom:18px}
 .prototype-selected{position:relative;z-index:4;margin-top:-14vh;border-top:0;padding-top:0;background:var(--paper)}
 .prototype-selected[data-featured-spread]{min-height:170vh;margin-bottom:18px}
 .prototype-selected-sticky{top:88px;min-height:calc(100svh - 88px);padding:25px 0 34px;justify-content:center}
 .prototype-featured-toolbar{position:absolute;z-index:8;left:0;right:0;top:25px}
 .prototype-work-grid{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,2.4vw,38px);padding-top:70px}
 .prototype-project:first-of-type .prototype-project-image,.prototype-project-image{aspect-ratio:1.08}
 .prototype-selected.has-scroll-spread .prototype-project.featured-motion,.prototype-selected.has-scroll-spread .prototype-project.featured-motion.is-featured-visible{transition:transform .24s cubic-bezier(.22,.61,.36,1),opacity .2s linear,filter .35s ease;backface-visibility:hidden}
}

@media(max-width:700px){
 .prototype-explore.sb-enhanced{position:relative;left:auto;right:auto;bottom:auto}.prototype-featured-toolbar{margin-bottom:22px}.prototype-featured-toolbar strong{font-size:19px}.prototype-featured-toolbar>a{font-size:7px;gap:8px}
}

/* Name-led home composition: one central frame separates into three projects. */
@media(min-width:701px){
 .prototype-hero{min-height:clamp(660px,calc(100svh - 88px),900px);padding:24px 2.5% 46px}
 .prototype-kicker{margin:0;font-size:9px;letter-spacing:.035em}
 .prototype-hero h1{z-index:2;margin-top:21px;text-align:center;font-family:Impact,'Arial Narrow','Roboto Condensed',Archivo,sans-serif;font-size:clamp(112px,17.1vw,278px);font-weight:400;font-stretch:condensed;line-height:.76;letter-spacing:-.045em;white-space:nowrap}
 .prototype-hero h1>span{display:block}.prototype-hero h1.motion-title .letter{transform:translateY(118%);transition-duration:1.05s;transition-delay:calc(var(--letter-index)*42ms)}.prototype-hero h1.motion-title.is-visible .letter{transform:none}
 .prototype-intro,.prototype-explore,.prototype-explore.sb-enhanced{display:none}
 .prototype-side-label{top:61%;font-family:Impact,'Arial Narrow','Roboto Condensed',Archivo,sans-serif;font-size:clamp(25px,2.8vw,48px);font-weight:400;letter-spacing:-.02em;white-space:nowrap;opacity:1}
 .prototype-side-label-left{left:2.5%}.prototype-side-label-right{right:2.5%}
 .prototype-covers{top:61%;width:clamp(390px,40vw,650px);height:clamp(230px,24vw,385px);opacity:var(--home-cover-opacity,1)}
 .prototype-cover-back{display:none}.prototype-cover-front{left:0;right:auto;top:0;width:100%;height:100%;border-radius:2px;box-shadow:none}.prototype-cover-front:hover{transform:scale(1.012);box-shadow:none}
 .prototype-covers .object-caption{left:0;top:-20px;bottom:auto;color:inherit;font-size:8px;letter-spacing:.04em}
 .prototype-cover-front .object-arrow{background:var(--paper);color:var(--ink)}
 .prototype-cover-controls{display:none}.prototype-scroll-note{bottom:17px;font-size:8px}
 .prototype-selected{margin-top:-10vh}
 .prototype-selected[data-featured-spread]{min-height:220vh;margin-bottom:0}
 .prototype-selected-sticky{padding:18px 0 26px}
 .prototype-featured-toolbar{top:19px;opacity:var(--featured-toolbar-opacity,0);transform:translateY(var(--featured-toolbar-y,12px));transition:opacity .24s linear,transform .28s cubic-bezier(.22,.61,.36,1)}
 .prototype-work-grid{padding-top:62px;gap:clamp(18px,2.1vw,34px)}
 .prototype-project:first-of-type .prototype-project-image,.prototype-project-image{aspect-ratio:1.52}
 .prototype-project-info{padding-top:11px}
}

@media(max-width:700px){
 .prototype-hero h1{font-family:Impact,'Arial Narrow','Roboto Condensed',Archivo,sans-serif;font-size:16.6vw;line-height:.8;letter-spacing:-.035em;text-align:center;white-space:nowrap}
 .prototype-intro,.prototype-explore,.prototype-explore.sb-enhanced{display:none}.prototype-cover-back{display:none}.prototype-cover-front{left:0;right:auto;top:0;width:100%;height:100%}.prototype-covers{width:100%;height:auto;aspect-ratio:1.45;margin:0}.prototype-cover-controls{display:none}
 .prototype-featured-toolbar{opacity:1}.prototype-project:first-of-type .prototype-project-image,.prototype-project-image{aspect-ratio:1.32}
}

/* Opening sequence: loading counter clears upward, then the name and the three
   first-screen projects settle into the same editorial rhythm. */
.intro-name{justify-content:center}.intro-name>span{transition:letter-spacing .8s cubic-bezier(.16,1,.3,1)}
@keyframes hero-project-arrive{from{opacity:0;transform:translate3d(0,34px,0) scale(.965)}to{opacity:1;transform:translate3d(var(--hero-card-x,0px),var(--hero-card-y,0px),0) rotate(var(--hero-card-rotate,0deg)) scale(1)}}

@media(min-width:701px){
 .prototype-hero{min-height:clamp(690px,calc(100svh - 76px),900px);padding:25px 3.5% 34px}
 .prototype-hero-copy{position:relative;z-index:4}
 .prototype-hero h1{margin-top:19px;font-size:clamp(104px,16.2vw,266px)}
 .prototype-side-label,.prototype-covers,.prototype-cover-controls{display:none}
 .prototype-hero-works{position:absolute;z-index:5;left:50%;bottom:63px;width:min(78vw,1120px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,30px);transform:translate3d(-50%,var(--home-cards-y,0px),0);opacity:var(--home-cards-opacity,1);transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .28s linear;will-change:transform,opacity}
 .prototype-hero-project{display:block;min-width:0;transform:translate3d(var(--hero-card-x,0px),var(--hero-card-y,0px),0) rotate(var(--hero-card-rotate,0deg));transform-origin:center bottom;transition:transform .42s cubic-bezier(.16,1,.3,1),filter .35s ease}
 .prototype-hero-project-image{position:relative;aspect-ratio:1.44;overflow:hidden;border-radius:4px;background:#d7d5d0;box-shadow:0 13px 30px #302d2814}
 .prototype-hero-project-image>img,.prototype-hero-project-image>video,.prototype-hero-project-image>.art-placeholder{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.16,1,.3,1),filter .35s ease}
 .prototype-hero-project:nth-child(2) .prototype-hero-project-image>img,.prototype-hero-project:nth-child(2) .prototype-hero-project-image>video{object-fit:contain;background:#efefec}
 .prototype-hero-project-index{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#f8f7f2e6;font:700 8px var(--mono)}
 .prototype-hero-project-open{position:absolute;right:10px;bottom:10px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--paper);font-size:18px;opacity:0;transform:translate3d(-3px,3px,0);transition:opacity .25s ease,transform .3s cubic-bezier(.16,1,.3,1)}
 .prototype-hero-project-info{display:flex;justify-content:space-between;gap:12px;padding:9px 1px 0;font:700 9px var(--mono);letter-spacing:.015em}.prototype-hero-project-info span{color:var(--muted);font-weight:500}
 .prototype-hero-project:hover,.prototype-hero-project:focus-visible{transform:translate3d(var(--hero-card-x,0px),calc(var(--hero-card-y,0px) - 6px),0) rotate(var(--hero-card-rotate,0deg)) scale(1.025);filter:drop-shadow(0 17px 22px #302d281f);z-index:2}.prototype-hero-project:hover .prototype-hero-project-image>img,.prototype-hero-project:hover .prototype-hero-project-image>video{transform:scale(1.035)}.prototype-hero-project:hover .prototype-hero-project-open,.prototype-hero-project:focus-visible .prototype-hero-project-open{opacity:1;transform:none}
 body:not(.intro-complete) .prototype-hero-three h1 .letter{opacity:1!important}body.intro-complete .prototype-hero h1.is-visible .letter{opacity:1!important;transform:none!important;transition-delay:calc(180ms + var(--letter-index)*38ms)}
 body:not(.intro-complete) .prototype-hero-project{opacity:0!important;transform:translate3d(0,34px,0) scale(.965)!important}body.intro-complete .prototype-hero-project{animation:hero-project-arrive .82s cubic-bezier(.16,1,.3,1) both;animation-delay:1.04s}body.intro-complete .prototype-hero-project:nth-child(2){animation-delay:1.16s}body.intro-complete .prototype-hero-project:nth-child(3){animation-delay:1.28s}
}

@media(max-width:700px){
 .prototype-hero{padding-bottom:56px}.prototype-side-label,.prototype-covers,.prototype-cover-controls{display:none}.prototype-hero-copy{position:relative;z-index:2}.prototype-hero h1{margin-top:16px}
 .prototype-hero-works{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(70%,1fr);gap:14px;overflow-x:auto;overscroll-behavior-x:contain;padding:28px 2px 13px;scroll-snap-type:x mandatory}.prototype-hero-project{display:block;scroll-snap-align:start}.prototype-hero-project-image{position:relative;aspect-ratio:1.34;overflow:hidden;border-radius:5px;background:#d7d5d0}.prototype-hero-project-image>img,.prototype-hero-project-image>video,.prototype-hero-project-image>.art-placeholder{display:block;width:100%;height:100%;object-fit:cover}.prototype-hero-project-index{position:absolute;top:9px;right:9px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#f8f7f2e6;font:700 7px var(--mono)}.prototype-hero-project-open{position:absolute;right:9px;bottom:9px;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:var(--paper);font-size:16px}.prototype-hero-project-info{display:flex;justify-content:space-between;gap:8px;padding:8px 1px 0;font:700 8px var(--mono)}.prototype-hero-project-info span{color:var(--muted);font-weight:500}
 body:not(.intro-complete) .prototype-hero-project{opacity:0}body.intro-complete .prototype-hero-project{animation:hero-project-arrive .68s cubic-bezier(.16,1,.3,1) both;animation-delay:1.02s}body.intro-complete .prototype-hero-project:nth-child(2){animation-delay:1.14s}body.intro-complete .prototype-hero-project:nth-child(3){animation-delay:1.26s}
}

@media(prefers-reduced-motion:reduce){.prototype-hero-project{animation:none!important;opacity:1!important;transform:none!important}.intro-name>span{animation:none!important;transform:none!important}}

/* Scroll-spread opening: the single central work remains the starting point,
   then its next section releases into three linked representative works. */
@keyframes hero-cover-arrive{from{opacity:0;filter:blur(4px)}to{opacity:var(--home-cover-opacity,1);filter:none}}

@media(min-width:701px){
 .prototype-hero{min-height:clamp(660px,calc(100svh - 88px),900px);padding:24px 2.5% 46px}
 .prototype-hero h1{margin-top:21px;font-size:clamp(112px,17.1vw,278px)}
 .prototype-hero-works{display:none}
 .prototype-side-label{display:block;top:61%;font-family:Impact,'Arial Narrow','Roboto Condensed',Archivo,sans-serif;font-size:clamp(25px,2.8vw,48px);font-weight:400;letter-spacing:-.02em;white-space:nowrap;opacity:1}.prototype-side-label-left{left:2.5%}.prototype-side-label-right{right:2.5%}
 .prototype-covers{display:block;top:61%;width:clamp(390px,40vw,650px);height:clamp(230px,24vw,385px);opacity:var(--home-cover-opacity,1)}.prototype-cover-back{display:none}.prototype-cover-front{left:0;right:auto;top:0;width:100%;height:100%;border-radius:2px;box-shadow:none}.prototype-cover-front:hover{transform:scale(1.012);box-shadow:none}.prototype-covers .object-caption{left:0;top:-20px;bottom:auto;color:inherit;font-size:8px;letter-spacing:.04em}.prototype-cover-front .object-arrow{background:var(--paper);color:var(--ink)}.prototype-cover-controls{display:none}
 body:not(.intro-complete) .prototype-covers{opacity:0!important}body.intro-complete .prototype-covers{animation:hero-cover-arrive .72s cubic-bezier(.16,1,.3,1) 1.03s both}
}

@media(max-width:700px){.prototype-hero-works{display:none}.prototype-covers{display:block;width:100%;height:auto;aspect-ratio:1.45;margin:28px 0 0}.prototype-cover-front{left:0;right:auto;top:0;width:100%;height:100%}.prototype-cover-back,.prototype-cover-controls{display:none}}

@media(prefers-reduced-motion:reduce){.prototype-covers{animation:none!important;opacity:1!important;filter:none!important}}

/* Keep the opening frame informative: the positioning statement and the
   works entry sit quietly at the edges while the central frame owns the
   first gesture. */
@media(min-width:701px){
 .prototype-intro{display:block;position:absolute;z-index:4;left:2.5%;bottom:13%;max-width:285px;margin:0;font-size:12px;line-height:1.75}
 .prototype-intro p+p{margin-top:5px;font-size:10px;color:var(--muted)}
 .prototype-explore,.prototype-explore.sb-enhanced{display:inline-flex;position:absolute;z-index:4;right:2.5%;bottom:13%;left:auto;margin:0;background:var(--paper);border:1px solid var(--line);padding:14px 18px;min-height:44px;color:var(--ink);box-shadow:0 8px 18px #302d2810}
 .prototype-explore:hover{background:var(--lavender);color:var(--ink);border-color:var(--lavender)}
}

/* A closer hover target and a quicker response for the large home word. */
.prototype-hero h1.motion-title .letter{transition-duration:.34s!important;transition-delay:0s!important}
.prototype-hero h1.motion-title.is-visible.is-interactive-ready .letter:hover{transform:translate3d(0,-.02em,0) scale(1.06)!important;color:var(--lavender-strong,#8d78b2)!important}

/* Continuous opening: the same centered name docks at the top, then the
   three representative works enter beneath it. */
@keyframes intro-name-dock{
 0%,28%{top:50%;transform:translateY(-50%) scale(.82);letter-spacing:-.045em}
 100%{top:144px;transform:none;letter-spacing:-.045em}
}
@keyframes intro-shell-clear{
 0%,76%{opacity:1;background:var(--paper)}
  92%{opacity:0;background:var(--paper)}
  100%{opacity:0;visibility:hidden}
}
.intro-wipe{animation:intro-shell-clear 2.1s cubic-bezier(.76,0,.24,1) both;transform:none!important}
.intro-name{position:absolute;left:6.3%;top:50%;width:87.4%;justify-content:center;font-family:Impact,'Arial Narrow','Roboto Condensed',Archivo,sans-serif;font-size:clamp(112px,17.1vw,278px);font-weight:400;line-height:.76;letter-spacing:-.045em;animation:intro-name-dock 1.28s cubic-bezier(.16,1,.3,1) .34s both;overflow:visible}
.intro-name>span{width:100%;text-align:center;transform:none;animation:none}

@media(min-width:701px){
 .prototype-hero-three{min-height:clamp(700px,calc(100svh - 88px),920px);padding:24px 2.5% 42px}
 .prototype-hero-three .prototype-hero-copy{position:relative;z-index:6}
 .prototype-hero-three .prototype-hero h1,.prototype-hero-three h1{margin-top:21px;font-size:clamp(112px,17.1vw,278px)}
 .prototype-hero-three .prototype-hero-works{display:grid;position:absolute;z-index:5;left:50%;top:48%;bottom:auto;width:min(82vw,1180px);grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2vw,32px);transform:translateX(-50%);opacity:1}
 .prototype-hero-three .prototype-hero-project{display:block;min-width:0;transform:none}
 .prototype-hero-three .prototype-hero-project-image{aspect-ratio:1.48;border-radius:7px;box-shadow:0 14px 28px #302d2813}
 .prototype-hero-three .prototype-intro{display:block;left:2.5%;top:40%;bottom:auto;max-width:310px;font-size:12px}
 .prototype-hero-three .prototype-intro strong{font-size:13px;font-weight:750}
 .prototype-hero-three .prototype-explore,.prototype-hero-three .prototype-explore.sb-enhanced{display:inline-flex;right:2.5%;top:40%;bottom:auto;left:auto;padding:14px 20px}
 .prototype-hero-three .prototype-scroll-note{bottom:18px}
 body:not(.intro-complete) .prototype-hero-three .prototype-hero-project{opacity:0!important;transform:translate3d(0,34px,0) scale(.97)!important}
 body.intro-complete .prototype-hero-three .prototype-hero-project{animation:hero-project-arrive .72s cubic-bezier(.16,1,.3,1) .04s both}
 body.intro-complete .prototype-hero-three .prototype-hero-project:nth-child(2){animation-delay:.14s}
 body.intro-complete .prototype-hero-three .prototype-hero-project:nth-child(3){animation-delay:.24s}
}

.prototype-hero-three h1.motion-title.is-visible .letter{pointer-events:auto;transition:transform .16s cubic-bezier(.22,1,.36,1),color .14s ease!important;transition-delay:0s!important}
.prototype-hero-three h1.motion-title.is-visible .letter:hover{transform:translate3d(0,-.018em,0) scale(1.055)!important;color:#9b84c2!important;position:relative;z-index:8}

@media(max-width:700px){
 .intro-name{left:6%;width:88%;font-size:16.6vw}
 @keyframes intro-name-dock{0%,28%{top:50%;transform:translateY(-50%) scale(.88)}100%{top:126px;transform:none}}
 .prototype-hero-three{padding-bottom:46px}
 .prototype-hero-three .prototype-hero-works{display:grid;position:relative;left:auto;bottom:auto;width:100%;grid-auto-flow:column;grid-auto-columns:76%;gap:14px;overflow-x:auto;padding:28px 2px 14px;transform:none;scroll-snap-type:x mandatory}
 .prototype-hero-three .prototype-hero-project{display:block;scroll-snap-align:center}
 .prototype-hero-three .prototype-intro{display:block;position:relative;left:auto;bottom:auto;margin-top:18px}
 .prototype-hero-three .prototype-explore,.prototype-hero-three .prototype-explore.sb-enhanced{display:flex;position:relative;right:auto;bottom:auto;margin-top:18px}
}

@media(prefers-reduced-motion:reduce){.intro-name,.intro-wipe{animation:none!important}.prototype-hero-three .prototype-hero-project{animation:none!important;opacity:1!important;transform:none!important}}

/* The real hero title performs the whole opening. Each clipped letter rises
   once, the same title docks into place, and only then the projects enter. */
@keyframes hero-letter-enter{
 from{transform:translate3d(0,.9em,0)}
 to{transform:translate3d(0,0,0)}
}
.intro-wipe{display:none!important}
.intro-name{display:none!important}
body:not(.intro-released) .prototype-hero-three{z-index:1001;background:var(--paper)}
body:not(.intro-complete) .prototype-hero-three .prototype-kicker,
body:not(.intro-complete) .prototype-hero-three .prototype-intro,
body:not(.intro-complete) .prototype-hero-three .prototype-explore,
body:not(.intro-complete) .prototype-hero-three .prototype-hero-works-label,
body:not(.intro-complete) .prototype-hero-three .prototype-scroll-note{opacity:0}
body:not(.intro-complete) .prototype-hero-three h1.motion-title .letter{opacity:1!important}

.prototype-hero-three .prototype-hero-copy{position:relative!important;z-index:1002;left:auto!important;top:auto!important;width:auto!important;transition:transform .92s cubic-bezier(.16,1,.3,1)!important;will-change:transform}
body:not(.intro-released) .prototype-hero-three .prototype-hero-copy{position:relative!important;left:auto!important;top:auto!important;width:auto!important}
body:not(.intro-docking) .prototype-hero-three .prototype-hero-copy{transform:translateY(calc(50svh - 250px))!important}
body.intro-docking .prototype-hero-three .prototype-hero-copy,
body.intro-released .prototype-hero-three .prototype-hero-copy{transform:none!important}

.prototype-hero-three h1.motion-title .word{overflow:visible}
.prototype-hero-three h1.motion-title .hero-letter{
 display:inline-block;height:.78em;line-height:.78em;overflow:hidden;vertical-align:-.015em;
 opacity:1!important;transform:none!important;color:inherit!important;pointer-events:auto
}
.prototype-hero-three h1.motion-title .hero-letter-track{
 display:flex;flex-direction:column;gap:.18em;height:1.74em;transform:translate3d(0,0,0);
 animation:hero-letter-enter .55s cubic-bezier(.16,1,.3,1) both;
 animation-delay:calc(20ms + var(--letter-index)*28ms);
 transition:transform .5s cubic-bezier(.16,1,.3,1),color .32s ease;
 will-change:transform
}
.prototype-hero-three h1.motion-title .hero-letter-face{display:block;flex:0 0 .78em;height:.78em;line-height:.78em}
.prototype-hero-three h1.motion-title .hero-letter-face:last-child{color:#9b84c2}
body.intro-complete .prototype-hero-three h1.motion-title .hero-letter:hover .hero-letter-track,
body.intro-released .prototype-hero-three h1.motion-title .hero-letter:hover .hero-letter-track{transform:translate3d(0,-.96em,0)}
.prototype-hero-three h1.motion-title .hero-letter:hover{transform:none!important;color:inherit!important}
html[data-theme="dark"] .prototype-hero-three h1.motion-title .hero-letter-face:last-child{color:var(--theme-blue,#88a9ff)}

@media(max-width:700px){body:not(.intro-docking) .prototype-hero-three .prototype-hero-copy{transform:translateY(calc(50svh - 205px))!important}}
@media(prefers-reduced-motion:reduce){
 .intro-wipe{display:none!important}.intro-name{display:none!important}
 .prototype-hero-three .prototype-hero-copy{position:relative!important;left:auto!important;top:auto!important;width:auto!important;transform:none!important;transition:none!important}
 .prototype-hero-three h1.motion-title .hero-letter-track{animation:none!important;transition:none!important;transform:none!important}
}
.motion-paused .prototype-hero-three .prototype-hero-copy{transform:none!important;transition:none!important}
.motion-paused .prototype-hero-three h1.motion-title .hero-letter-track{animation:none!important;transition:none!important;transform:none!important}

/* Clearer first-screen hierarchy: positioning copy is readable and the three
   project cards are explicitly introduced as representative work. */
.prototype-hero-works-label{font-family:var(--mono);letter-spacing:.055em;text-transform:uppercase}
@media(min-width:701px){
 .prototype-hero-three .prototype-kicker{font-size:12px;letter-spacing:.075em}
 .prototype-hero-three .prototype-intro{left:3.4%;top:39%;max-width:355px;padding:3px 0 3px 17px;border-left:2px solid var(--lavender-strong,#8d78b2);font-size:15px;line-height:1.65}
 .prototype-hero-three .prototype-intro strong{font-size:17px;font-weight:780;letter-spacing:-.025em}
 .prototype-hero-three .prototype-intro p+p{margin-top:8px;font-size:13px;line-height:1.65}
 .prototype-hero-three .prototype-explore,.prototype-hero-three .prototype-explore.sb-enhanced{font-size:12px;font-weight:680}
 .prototype-hero-three .prototype-hero-works-label{position:absolute;z-index:6;right:9%;top:43.5%;display:flex;align-items:center;gap:15px;opacity:1;transform:none;transition:opacity .45s ease .12s,transform .65s cubic-bezier(.16,1,.3,1) .12s}
 .prototype-hero-three .prototype-hero-works-label strong{font:760 14px Archivo,Arial,sans-serif;letter-spacing:-.02em}
 .prototype-hero-three .prototype-hero-works-label span{font-size:10px;color:var(--muted)}
 body:not(.intro-complete) .prototype-hero-three .prototype-hero-works-label{transform:translateY(10px)}
 .prototype-hero-three .prototype-hero-project-info{font-size:11px}
 .prototype-hero-three .prototype-hero-project-index{font-size:9px}
 .prototype-hero-three .prototype-scroll-note{font-size:10px}
}
@media(max-width:700px){
 .prototype-hero-three .prototype-kicker{font-size:9px}
 .prototype-hero-three .prototype-intro{padding-left:13px;border-left:2px solid var(--lavender-strong,#8d78b2);font-size:13px;line-height:1.7}
 .prototype-hero-three .prototype-intro strong{font-size:15px}.prototype-hero-three .prototype-intro p+p{font-size:12px}
 .prototype-hero-three .prototype-explore,.prototype-hero-three .prototype-explore.sb-enhanced{font-size:11px}
 .prototype-hero-three .prototype-hero-works-label{display:flex;align-items:center;justify-content:space-between;margin-top:27px;padding-bottom:10px;border-bottom:1px solid var(--line)}
 .prototype-hero-three .prototype-hero-works-label strong{font:760 14px Archivo,Arial,sans-serif}.prototype-hero-three .prototype-hero-works-label span{font-size:9px;color:var(--muted)}
 .prototype-hero-three .prototype-hero-works{padding-top:15px}
 .prototype-hero-three .prototype-hero-project-info{font-size:10px}
}
html[data-theme="dark"] .prototype-hero-three .prototype-intro{border-left-color:var(--theme-blue,#88a9ff)}

/* Desktop first-screen spacing: each information layer owns a separate band,
   so positioning copy, the works label, CTA and cards never collide. */
@media(min-width:701px){
 .prototype-hero-three{min-height:clamp(740px,calc(100svh - 42px),940px)}
 .prototype-hero-three .prototype-intro{left:3.5%;top:37%;max-width:370px}
 .prototype-hero-three .prototype-explore,.prototype-hero-three .prototype-explore.sb-enhanced{right:3.5%;top:37%;height:54px;min-height:54px;padding:0 22px}
 .prototype-hero-three .prototype-hero-works-label{left:50%;right:auto;top:calc(54% - 38px);width:min(82vw,1180px);justify-content:flex-start;transform:translateX(-50%)}
 body:not(.intro-complete) .prototype-hero-three .prototype-hero-works-label{transform:translate(-50%,10px)}
 .prototype-hero-three .prototype-hero-works{top:54%}
}
