/* Motion is progressive enhancement: nothing is hidden without the running controller. */
.motion-word{display:inline-block;vertical-align:top;overflow:clip;padding:.14em .06em .22em;margin:-.14em -.06em -.22em}
.motion-word-ink{display:inline-block;transform-origin:50% 100%}
.motion-waiting:not(:focus-within){opacity:0;pointer-events:none}
.motion-ready .section-line{position:relative;border-bottom-color:transparent}
.motion-ready .section-line:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line);transform:scaleX(0);transform-origin:left;transition:transform 1.25s cubic-bezier(.16,1,.3,1)}
.motion-ready .section-line.motion-seen:after{transform:scaleX(1)}
.motion-ready .product-intro>.section-line:after,.motion-ready .product-hero>.section-line:after{display:none}
.home-arriving .house-scene{animation:home-arrival-scene 2.1s cubic-bezier(.16,1,.3,1) both}
.home-arriving .hero-heading h1{animation:home-arrival-title 1.55s cubic-bezier(.16,1,.3,1) .18s both}
.home-arriving .hero-heading h1>span{animation:home-arrival-subtitle 1.25s cubic-bezier(.16,1,.3,1) .55s both}
.home-arriving .hero-bottom{animation:home-arrival-link 1s cubic-bezier(.16,1,.3,1) .85s both}
.home-arriving .house-scene:before{content:'';position:absolute;inset:-30% 5%;z-index:3;pointer-events:none;background:linear-gradient(115deg,transparent 37%,#d7eaff0c 45%,#e6f2ff20 49%,transparent 57%);mix-blend-mode:screen;animation:home-arrival-light 2.4s cubic-bezier(.2,.7,.3,1) .1s both}
.account-arriving:before{animation:account-arrival 1.6s cubic-bezier(.16,1,.3,1) both}
.gathering .text-link,.gathering .account-button,.gathering .account-card button{transition:color .25s,background-color .25s,border-color .25s,box-shadow .35s}
.gathering .text-link:hover{color:var(--ink)}
.gathering .account-button:hover{box-shadow:0 5px 22px #b5d3ed16}
.paused .motion-waiting{opacity:1!important}
.paused .motion-word-ink{opacity:1!important;translate:none!important;rotate:none!important;filter:none!important}
.paused .section-line:after{transform:scaleX(1)!important;transition:none!important}
.paused .home-arriving :is(.house-scene,.hero-heading h1,.hero-heading h1>span,.hero-bottom),.paused .home-arriving .house-scene:before,.paused .account-arriving:before{animation:none!important}
@keyframes home-arrival-scene{from{opacity:0;scale:1.055;filter:blur(9px) brightness(.6)}60%{opacity:1}to{opacity:1;scale:1;filter:blur(0) brightness(1)}}
@keyframes home-arrival-title{from{opacity:0;translate:0 35px;filter:blur(9px);clip-path:inset(0 0 100%)}to{opacity:1;translate:0 0;filter:blur(0);clip-path:inset(-10% -5% -15%)}}
@keyframes home-arrival-subtitle{from{opacity:0;translate:0 12px;letter-spacing:1.8em;filter:blur(3px)}to{opacity:1;translate:0 0;filter:blur(0)}}
@keyframes home-arrival-link{from{opacity:0;translate:0 15px}to{opacity:1;translate:0 0}}
@keyframes home-arrival-light{from{translate:-55% 0;opacity:0}30%{opacity:.8}to{translate:65% 0;opacity:0}}
@keyframes account-arrival{from{filter:brightness(.65);translate:0 18px}to{filter:brightness(1);translate:0 0}}
@media(max-width:700px){
  .home-arriving .house-scene{animation-duration:1.8s}
  .home-arriving .hero-heading h1>span{animation-name:home-arrival-link}
}
@media print{
  .motion-waiting{opacity:1!important}
  .motion-word-ink{opacity:1!important;translate:none!important;rotate:none!important;filter:none!important}
  .motion-ready .section-line:after{transform:scaleX(1)!important}
}
