.home-page{background:#fff;overflow:hidden}
.home-main{max-width:none;padding:0;margin:0}
.illustration-field{position:relative;width:100%;height:100svh;overflow:hidden;isolation:isolate}
.floating-layer{position:absolute;inset:0}
.floating-art{position:absolute;left:var(--x);top:var(--y);width:clamp(100px,var(--size),270px);transform:translate(calc(-50% + var(--move-x,0px)),calc(-50% + var(--move-y,0px))) rotate(var(--rotation));will-change:transform;display:block;line-height:0;z-index:1}
.floating-art img{display:block;width:100%;height:auto;box-shadow:0 6px 22px rgba(0,0,0,.08);transition:filter .2s ease}
.floating-art:hover,.floating-art:focus-visible{z-index:5}
.floating-art:hover img{filter:brightness(1.05)}
.home-intro{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:6;text-align:center;width:max-content;max-width:88vw;padding:22px 28px;background:rgba(255,255,255,.94)}
.home-intro .home-description{font-family:Arial,Helvetica,sans-serif;font-size:clamp(24px,2.5vw,38px);font-weight:300;line-height:1.18;letter-spacing:-1px;margin:0 0 22px}
.view-work{display:inline-block;font-size:18px;font-weight:300;text-decoration:underline;text-underline-offset:7px;padding:8px}
.view-work:hover,.view-work:focus-visible{font-weight:700}
@media(max-width:850px){.floating-art{width:clamp(100px,var(--size),210px)}.home-intro{padding:20px}.home-intro .home-description{font-size:28px}}
@media(max-width:520px){.floating-art{left:var(--mobile-x);top:var(--mobile-y);width:clamp(85px,calc(var(--size)*1.65),135px)}.home-intro{padding:20px 12px;max-width:90vw;background:rgba(255,255,255,.97)}.home-intro .home-description{font-size:25px;letter-spacing:-.7px}}
@media(max-height:500px) and (min-width:521px){.floating-art{width:clamp(70px,calc(var(--size)*.68),170px)}.home-intro .home-description{font-size:24px}.home-intro{padding:15px 22px}}
@media(prefers-reduced-motion:reduce){.floating-art{will-change:auto}.floating-art img{transition:none}}

/* On arrival, the collage opens from a loose stack of illustrated papers. */
.home-intro{transition:opacity .45s ease}
.intro-pending .floating-art{left:50%;top:50%;transform:translate(calc(-50% + var(--stack-x,0px)),calc(-50% + var(--stack-y,0px))) rotate(var(--stack-rotation,-5deg))}
.intro-pending .floating-art img{box-shadow:0 3px 12px rgba(0,0,0,.16)}
.intro-pending .home-intro{opacity:0;visibility:hidden;pointer-events:none}
.intro-expanding .floating-art{transition:left 1.55s cubic-bezier(.22,.7,.18,1),top 1.55s cubic-bezier(.22,.7,.18,1),transform 1.55s cubic-bezier(.22,.7,.18,1);transition-delay:var(--entry-delay,0ms);pointer-events:none}
.intro-expanding .home-intro{transition-delay:.85s}
@media(prefers-reduced-motion:reduce){.home-intro,.intro-expanding .floating-art{transition:none!important}.intro-pending .floating-art{left:var(--x);top:var(--y);transform:translate(-50%,-50%) rotate(var(--rotation))}.intro-pending .home-intro{opacity:1;visibility:visible;pointer-events:auto}}
@media(max-width:520px) and (prefers-reduced-motion:reduce){.intro-pending .floating-art{left:var(--mobile-x);top:var(--mobile-y)}}

.home-intro .home-name{font-family:Arial,Helvetica,sans-serif;font-size:clamp(34px,3.6vw,54px);font-weight:600;line-height:1.05;letter-spacing:-.07em;margin:0 0 14px}.home-intro .home-description{margin-bottom:16px}@media(max-width:520px){.home-intro .home-name{font-size:36px}}@media(max-height:500px) and (min-width:521px){.home-intro .home-name{font-size:34px;margin-bottom:10px}}

.home-intro .home-description,.home-intro .view-work{color:#505050}.home-intro .home-name{margin-bottom:8px}.home-intro .home-description{line-height:1.08;margin-bottom:8px}.home-intro .view-work{padding-top:4px;padding-bottom:4px}

.home-intro{background:transparent}

.home-intro .home-name{margin-bottom:24px}.home-intro .home-description{font-size:clamp(20px,2vw,28px);line-height:1.2;letter-spacing:-.5px;margin-bottom:12px}@media(max-width:520px){.home-intro .home-name{margin-bottom:20px}.home-intro .home-description{font-size:20px}}@media(max-height:500px) and (min-width:521px){.home-intro .home-name{margin-bottom:16px}.home-intro .home-description{font-size:20px}}
