/* Home01 / richer editorial motion. Baseline content remains fully visible. */
.title-mask{overflow:clip;padding:.1em 0;margin:-.1em 0}
[data-title-line]{display:block;transform-origin:left bottom}
.home-photo-viewport{display:block;position:relative;overflow:clip}
.home-photo-viewport img{transform:scale(1.08);transition:transform 650ms cubic-bezier(.22,1,.36,1)}
.main-photo :is(button,a):hover .home-photo-viewport img{transform:scale(1.12)}
.home-photo-curtain{position:absolute;inset:0;background:var(--color-accent);transform:scaleX(0);transform-origin:right;pointer-events:none}
.side-strip .home-photo-curtain{background:var(--color-paper-3);transform-origin:left}
.main-photo{transition:transform 500ms cubic-bezier(.22,1,.36,1)}
.chapter-rule{position:relative}
.home-rule-ink{position:absolute;top:-1px;left:0;width:100%;height:2px;background:var(--color-accent);transform:scaleX(0);transform-origin:left;pointer-events:none}
.home-page-progress{position:fixed;inset:0 0 auto;height:3px;z-index:40;pointer-events:none;background:var(--color-accent);transform:scaleX(0);transform-origin:left}
.footer-wordmark .mark-letter{display:inline-block;color:inherit;transform-origin:bottom center}
.footer-wordmark .mark-dot{color:var(--color-accent)}
.lead-note{transform-origin:50% 0}
.filters button,.appearance button{position:relative;overflow:clip}
.home-ink-burst{position:absolute;width:52px;height:52px;border:1px solid currentColor;border-radius:50%;pointer-events:none;opacity:0;transform:scale(0)}
@media(prefers-reduced-motion:reduce){
  .home-photo-viewport img,.main-photo :is(button,a):hover .home-photo-viewport img{transform:none;translate:none!important}
  .main-photo{transform:none!important}
  .home-photo-curtain{display:none}.home-page-progress{height:2px}
}
.wide-photo button{position:relative}.home-insert-curtain{position:absolute;inset:0;background:var(--color-film);transform:scaleY(0);transform-origin:top;pointer-events:none}.activity-item:focus{outline:2px solid var(--color-focus);outline-offset:8px;scroll-margin-top:32px}
@media(prefers-reduced-motion:reduce){.home-insert-curtain{display:none}}
.personal-intro,.activity{position:relative}
/* Pointer decoration always supplements the native system cursor. */
.home-cursor-ring{position:fixed;top:0;left:0;z-index:70;width:80px;height:80px;margin:-40px 0 0 -40px;display:grid;place-items:center;pointer-events:none;opacity:0;font:400 12px/1 var(--font-body);letter-spacing:.04em;color:var(--color-ink);transition:opacity 300ms cubic-bezier(.22,1,.36,1);will-change:transform;isolation:isolate}.home-cursor-ring::before{content:'';position:absolute;inset:0;border:1px solid var(--color-sage);border-radius:50%;transform:scale(.3);transition:transform 500ms cubic-bezier(.22,1,.36,1),background-color 300ms cubic-bezier(.22,1,.36,1);z-index:-1}.home-cursor-ring.is-visible{opacity:1}.home-cursor-ring.has-label::before{transform:scale(.85);background:color-mix(in srgb,var(--color-paper) 90%,transparent)}
.photo-letter{position:relative;isolation:isolate}.photo-letter::before{content:'';position:absolute;inset:0;background:radial-gradient(circle 320px at var(--spot-x,50%) var(--spot-y,50%),#a7ba981c,transparent 75%);opacity:0;transition:opacity 500ms cubic-bezier(.22,1,.36,1);pointer-events:none;z-index:-1}.photo-letter.home-spotlit::before{opacity:1}.home-about,.home-start-here,.home-projects-bookmarks,.home-discovery-sections>section{position:relative}.home-rule-ink{background:var(--color-sage)}.activity .home-rule-ink{background:var(--color-accent)}.home-projects-bookmarks .home-rule-ink{background:var(--color-blue)}
:root[data-home-motion=simple] .home-cursor-ring,:root[data-home-motion=simple] .home-photo-curtain,:root[data-home-motion=simple] .home-insert-curtain{display:none}:root[data-home-motion=simple] .home-photo-viewport img{transform:none!important;translate:none!important}:root[data-home-motion=simple] .photo-letter::before{display:none}:root[data-home-motion=simple] .home-rule-ink{transform:scaleX(1)!important}:root[data-home-motion=simple] *{scroll-behavior:auto!important}:root[data-home-motion=simple] .main-photo,:root[data-home-motion=simple] .home-start-card,:root[data-home-motion=simple] .home-start-here article,:root[data-home-motion=simple] .activity-item,:root[data-home-motion=simple] .home-photo-viewport img{transition:none!important}
@media(hover:none),(pointer:coarse){.home-cursor-ring{display:none}.photo-letter::before{display:none}}
@media(prefers-reduced-motion:reduce){.home-cursor-ring{display:none}.photo-letter::before{display:none}.home-rule-ink{transform:scaleX(1)!important}}
