/* Opal is a material and an interaction, rather than another decoration. */
.mast nav a{transition:color .25s}.mast nav a:after{content:'';position:absolute;left:0;right:0;bottom:1px;height:1px;background:var(--opal-edge);transform:scaleX(0);transform-origin:left;opacity:.65;transition:transform .35s ease}.mast nav a:hover:after,.mast nav a:focus-visible:after,.mast nav a[aria-current="page"]:after{transform:scaleX(1)}
h1,h2,h3{text-wrap:balance}.hero-intro>p,.lede,.prose p{text-wrap:pretty}.prose p{orphans:3;widows:3}.brand img{transition:filter .4s}.brand:hover img{filter:brightness(1.12)}
.system{--light-x:35%;--light-y:24%}.world{pointer-events:auto;display:block;aspect-ratio:1;text-decoration:none;outline-offset:5px;border-radius:50%;-webkit-user-drag:none}.world-surface{display:block;position:relative;animation:drift var(--duration,18s) ease-in-out infinite;animation-delay:var(--delay,0s)}.world img{animation:none!important;user-select:none;-webkit-user-drag:none}.world-surface:after{content:'';position:absolute;inset:4%;border-radius:50%;background:radial-gradient(ellipse at var(--light-x) var(--light-y),#fff5dc24,transparent 47%);opacity:0;transition:opacity .7s;pointer-events:none}.world:hover .world-surface:after,.world:focus-visible .world-surface:after{opacity:1}.world-caption{position:absolute;left:50%;top:calc(100% + 1px);translate:-50% 4px;white-space:nowrap;font:15px/1.4 var(--serif);color:var(--ink);opacity:0;transition:opacity .3s,translate .3s;pointer-events:none}.world-caption span{font:10px var(--sans);display:inline-block;margin-left:4px}.world:hover .world-caption,.world:focus-visible .world-caption{opacity:.9;translate:-50% 0}.world:focus-visible{outline:1px solid #e2e4cb90}
.system[data-focus] .world{opacity:.72;filter:saturate(.9)}.system[data-focus] .world.is-focused{opacity:1;filter:brightness(1.055) saturate(1.025)}.system .world{transition:transform 1.2s ease,opacity .7s ease,filter .7s ease}.quiet-products a.is-focused:after{opacity:.8}.quiet-products a.is-focused{color:var(--jade)}.paused .world-surface{animation-play-state:paused}.offscreen .world-surface{animation-play-state:paused}.paused .world-surface:after{opacity:0}
.motion{min-width:40px;min-height:40px;border-radius:50%;transition:background .2s,color .2s}.motion:hover{background:#ffffff06}.motion:focus-visible{outline:1px solid var(--jade);outline-offset:0}.footer-links a{padding-block:8px}
@media(hover:none){.world-caption{display:none}.world-surface:after{display:none}.system[data-focus] .world{opacity:1;filter:none}}
@media(max-width:580px){.world-caption{font-size:13px}.mast nav a{padding-block:10px}.reading h1{line-height:1.08}.prose p{margin-bottom:24px}.company-links{flex-wrap:wrap;gap:15px 25px}}
@media(prefers-reduced-motion:reduce){.world-surface{animation:none!important}.world-surface:after{display:none}.world-caption{transition:none;translate:-50% 0}.world{transform:none!important}}
.world:focus-visible{outline:none}.world:focus-visible:before{content:'';position:absolute;inset:-3%;border:1px solid #e2e4cb80;border-radius:50%;z-index:6;pointer-events:none}
/* Each world has its own restrained movement. */
.jade .world-surface{animation-name:terrace-drift;--inspect-turn:-1deg}.pearl .world-surface{animation-name:tide-drift;--inspect-turn:1deg}.dunes .world-surface{animation-name:dune-drift;--inspect-turn:-1.4deg}.forest .world-surface{animation-name:canopy-drift;--inspect-turn:.7deg}
@keyframes terrace-drift{0%,100%{transform:translate(0,0)}50%{transform:translate(2px,-8px)}}
@keyframes tide-drift{0%,100%{transform:translate(0,0) rotate(-.6deg)}50%{transform:translate(-5px,-3px) rotate(.6deg)}}
@keyframes dune-drift{0%,100%{transform:translate(0,0) rotate(.6deg)}50%{transform:translate(4px,-5px) rotate(-.6deg)}}
@keyframes canopy-drift{0%,100%{transform:translate(0,0)}50%{transform:translate(-3px,-6px)}}
.world-surface img{scale:1;rotate:0deg;transition:scale 1.1s cubic-bezier(.2,.65,.3,1),rotate 1.1s cubic-bezier(.2,.65,.3,1)}.world.is-focused .world-surface img{scale:1.035;rotate:var(--inspect-turn,0deg)}.world.is-focused .world-surface{animation-play-state:paused}.world-surface:after{inset:2.7%;box-shadow:inset 1px 0 0 #fbefcf25,inset -1px 0 0 #c4dccb18}.paused .world-surface img{scale:1;rotate:0deg}
/* Ordinary links progressively gain continuity between a world and its page. */
@view-transition{navigation:auto}
.world.jade .world-surface,[data-product="environments"] .product-world{view-transition-name:riften-jade}
.world.dunes .world-surface,[data-product="routing"] .product-world{view-transition-name:riften-dunes}
.world.pearl .world-surface,[data-product="private-models"] .product-world{view-transition-name:riften-pearl}
::view-transition-group(riften-jade),::view-transition-group(riften-dunes),::view-transition-group(riften-pearl){animation-duration:.72s;animation-timing-function:cubic-bezier(.22,.68,.24,1)}
::view-transition-image-pair(riften-jade),::view-transition-image-pair(riften-dunes),::view-transition-image-pair(riften-pearl){border-radius:50%;overflow:clip}
::view-transition-old(root),::view-transition-new(root){animation-duration:.22s}
html[data-motion="paused"] *{view-transition-name:none!important}
html[data-motion="paused"]::view-transition-group(*),html[data-motion="paused"]::view-transition-old(*),html[data-motion="paused"]::view-transition-new(*){animation-duration:0s!important}
@media(hover:none){.world.is-focused .world-surface img{scale:1;rotate:0deg}}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}.world-surface img{scale:1!important;rotate:0deg!important;transition:none!important}.world-surface{animation:none!important}}
/* Preserve the opal artwork's black-matte compositing in transition snapshots. */
::view-transition-group(riften-jade),::view-transition-group(riften-dunes),::view-transition-group(riften-pearl){mix-blend-mode:screen}
/* Worlds without a destination counterpart leave quickly; only the chosen world travels. */
::view-transition-old(riften-jade):only-child,::view-transition-old(riften-dunes):only-child,::view-transition-old(riften-pearl):only-child{animation-duration:.16s}
::view-transition-new(riften-jade):only-child,::view-transition-new(riften-dunes):only-child,::view-transition-new(riften-pearl):only-child{animation-duration:.24s}
::view-transition-old(root){animation-duration:.14s}

/* A single introduction. The worlds are atmosphere, not product navigation. */
.quiet-home .hero-intro{max-width:570px}
.quiet-home .hero-intro>p{max-width:560px;margin-bottom:0;font-size:22px;line-height:1.5}
.quiet-home .system{overflow:clip}
.quiet-home .world{cursor:default}
.quiet-home .world img{clip-path:circle(50% at 50% 50%)}
@media(max-width:580px){.quiet-home .hero-intro>p{font-size:20px;line-height:1.5;max-width:340px}}
