/* Live artwork: the approved compositions stay still; their layers respond. */
.reading-trace{position:fixed;z-index:1001;top:44px;left:0;width:100%;height:2px;background:currentColor;transform:scaleX(var(--reading-progress,0));transform-origin:left;pointer-events:none}
.motion-control{position:fixed;z-index:80;right:22px;bottom:max(18px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;min-height:44px;padding:0 14px;border:1px solid #581c2d35;background:#f8f4ecf5;color:#581c2d;box-shadow:0 3px 18px #25131b0a;font:500 10px/1.3 'DM Sans',sans-serif;letter-spacing:.025em;cursor:pointer}
.prospettiva .motion-control{background:#123b35f5;color:#e4ebcb;border-color:#d9e3b04f}
.prospettiva .review-nav>.review-label{display:none}
.prospettiva .review-nav>.motion-control{position:static;flex-shrink:0;height:44px;min-height:44px;background:transparent;color:#0d302c;border:0;box-shadow:none;align-self:center}
.motion-control:disabled{cursor:default;opacity:.85}
.motion-signal{display:flex;align-items:center;justify-content:center;gap:3px;width:16px;height:16px}
.motion-signal i{display:block;width:2px;height:10px;background:currentColor;transform-origin:center}
.motion-signal i:nth-child(2){height:16px}
.motion-control[aria-pressed=false] .motion-signal{width:11px;height:13px;background:currentColor;clip-path:polygon(10% 0,100% 50%,10% 100%)}
.motion-control[aria-pressed=false] .motion-signal i{display:none}
.motion-control:disabled .motion-signal{clip-path:none;background:transparent;border-inline:2px solid currentColor;width:8px;height:12px}
html[data-motion=active] .motion-signal i{animation:signal-breathe 1.7s ease-in-out infinite alternate}
.motion-signal i:nth-child(2){animation-delay:-.5s!important}.motion-signal i:nth-child(3){animation-delay:-1s!important}
@keyframes signal-breathe{to{transform:scaleY(.4)}}
.concept-footer{padding-bottom:85px}
.poster-stage{--art-x:0px;--art-y:0px;--art-roll:0deg;--word-x:0px;--word-y:0px}
.poster-stage>img{height:100%;bottom:-12px;transform:translate3d(calc(-50% + var(--art-x)),var(--art-y),0) rotate(var(--art-roll));transform-origin:50% 80%}
.poster-wordmark{transform:translate(calc(-50% + var(--word-x)),calc(-50% + var(--word-y)))}
.poster-stage .sculpture-light{pointer-events:none;filter:brightness(1.28) contrast(.92);opacity:.38;mask-image:linear-gradient(115deg,transparent 36%,#000 48%,transparent 60%);mask-size:300% 100%;mask-position:100% 0}
html[data-motion=active] .poster-stage.is-inview .sculpture-light{animation:marble-light 12s ease-in-out infinite}
@keyframes marble-light{0%,12%{mask-position:100% 0;opacity:.18}55%{opacity:.45}85%,100%{mask-position:0 0;opacity:.18}}
.poster-stage.is-inview>img,.constellation-field.is-inview .constellation-art>img{will-change:transform}
.editorial-strip img{transform:translateY(var(--detail-y,0px)) scale(1.12)}
.method-line,.modern-step,.editorial-column{position:relative}
.method-line:before,.modern-step:before,.editorial-column:before{content:"";position:absolute;left:0;top:-1px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 1.1s cubic-bezier(.22,1,.36,1)}
.method-line.is-visible:before,.modern-step.is-visible:before{transform:scaleX(1)}
.editorial-column:is(:hover,:focus-within):before{transform:scaleX(1)}
.editorial-column .ordinal{display:block;transition:color .4s,translate .6s}
.editorial-column:is(:hover,:focus-within) .ordinal{color:#fff9e5;translate:6px 0}
.method-line b{transition:color .4s,translate .5s}.method-line:hover b{color:#a66d63;translate:4px 0}
.engraved-link:focus-visible{padding-inline:15px;color:var(--paper)}.engraved-link:focus-visible:before{transform:scaleX(1)}
.coordinate-link:focus-visible .coordinate-arrow{transform:translateX(4px)}
.site-nav a{position:relative}.site-nav a:after{content:"";position:absolute;left:0;bottom:7px;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.site-nav a:is(:hover,:focus-visible):after{transform:scaleX(1);transform-origin:left}.segno .site-nav a:hover{text-decoration:none}
.poster-next>span:last-child{transition:translate .4s}.poster-next:hover>span:last-child{translate:0 4px}
.constellation-field{--art-x:0px;--art-y:0px;--art-roll:0deg;--code-x:0px;--code-y:0px;--code-opacity:.43;--stone-opacity:1;--code-edge:80%;--stone-edge:23%;--code-solid:38%}
.constellation-art>img{opacity:var(--stone-opacity);transform:translate3d(calc(-50% + var(--art-x)),var(--art-y),0) rotate(var(--art-roll));transform-origin:50% 80%;mask-image:linear-gradient(90deg,transparent,#000 var(--stone-edge));transition:opacity .25s}
.constellation-art .ascii-sculpture{opacity:var(--code-opacity);transform:translate(var(--code-x),var(--code-y));mask-image:linear-gradient(90deg,#000 15%,#000 var(--code-solid),transparent var(--code-edge));transition:opacity .25s}
.constellation-art .ascii-luminance{opacity:calc(var(--code-opacity)*.8);color:#f6ffdb;mask-image:linear-gradient(180deg,transparent 40%,#000 49%,transparent 58%);mask-size:100% 300%;mask-position:0 100%}
html[data-motion=active] .constellation-field.is-inview .ascii-luminance{animation:code-light 9s linear infinite}
@keyframes code-light{to{mask-position:0 0}}
.orbital-line{transition:border-color .6s,opacity .6s}.orbit-trace{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke:#e3edb9;stroke-width:1.4;stroke-dasharray:3 97;stroke-linecap:round;opacity:.8}
html[data-motion=active] .is-inview .orbit-trace ellipse{animation:orbit-travel 24s linear infinite}
.orbital-line-two .orbit-trace ellipse{animation-direction:reverse!important;animation-duration:32s!important}
@keyframes orbit-travel{to{stroke-dashoffset:-100}}
.constellation-field[data-perspective=legal] .orbital-line-one,.constellation-field[data-perspective=tax] .orbital-line-two{border-color:#d9e3b080;opacity:.9}
.constellation-field[data-perspective=joint] .orbital-line{border-color:#d9e3b06a;opacity:.8}
.constellation-path:focus-visible:before{height:2px;background:var(--lime)}.constellation-path:focus-visible:after{transform:rotate(135deg)}
.constellation-path .path-title{transition:color .4s}.constellation-path:is(:hover,:focus-visible) .path-title{color:var(--lime)}
.art-mixer{position:absolute;bottom:14px;left:0;width:220px;color:#c2d0bb;z-index:3}
.art-mixer label{display:flex;justify-content:space-between;align-items:center;font:9px/1.4 monospace;text-transform:uppercase;letter-spacing:.06em;cursor:ew-resize}
.art-mixer label b{font-size:14px;font-weight:400;color:var(--lime)}
.art-mixer input{display:block;appearance:none;-webkit-appearance:none;background:transparent;width:100%;height:44px;margin:0;cursor:ew-resize;touch-action:pan-y;accent-color:var(--lime)}
.art-mixer input::-webkit-slider-runnable-track{height:1px;background:#d9e3b063}
.art-mixer input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:13px;height:13px;margin-top:-6px;border:2px solid var(--forest);background:var(--lime);outline:1px solid #d9e3b0;border-radius:0;transform:rotate(45deg)}
.art-mixer input::-moz-range-track{height:1px;background:#d9e3b063}.art-mixer input::-moz-range-thumb{width:12px;height:12px;border:2px solid var(--forest);background:var(--lime);border-radius:0}
.art-mixer input:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.art-mixer>p{font-size:9px;color:#a4b59e;margin-top:-3px}
.map-connections{position:absolute;inset:0;width:100%;height:100%;fill:none;overflow:visible;pointer-events:none;z-index:0;stroke:#d9e3b0;stroke-width:1}
.map-outline{opacity:.25}.map-hub{opacity:.25;stroke-dasharray:2 5}.map-branch{opacity:.2}
.map-active{stroke-dasharray:100;stroke-dashoffset:100;stroke-width:1.6;opacity:0;transition:stroke-dashoffset .5s cubic-bezier(.22,1,.36,1),opacity .25s}
.map-endpoint{fill:var(--lime);stroke:none;opacity:.15;transition:opacity .25s}
.connection-map[data-perspective=all] .map-active{stroke-dashoffset:0;opacity:.35}
.connection-map[data-perspective=legal] [data-map-path=legal] .map-active,.connection-map[data-perspective=tax] [data-map-path=tax] .map-active,.connection-map[data-perspective=joint] [data-map-path=joint] .map-active{stroke-dashoffset:0;opacity:1}
.connection-map[data-perspective=legal] [data-map-path=legal] .map-endpoint,.connection-map[data-perspective=tax] [data-map-path=tax] .map-endpoint,.connection-map[data-perspective=joint] [data-map-path=joint] .map-endpoint{opacity:1}
.connection-map .map-node{z-index:2;min-width:78px;min-height:48px;color:var(--lime);cursor:pointer;touch-action:manipulation;transition:background .2s,color .2s,border-color .2s}
.connection-map .map-node:hover{border-color:var(--lime)}
.connection-map .map-node[aria-pressed=true]{background:var(--lime);color:var(--forest);border-color:var(--lime)}
.connection-map .map-node:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
.map-center{pointer-events:none;z-index:1;width:160px;text-align:center}.map-center b{display:block;white-space:nowrap}.map-center>span{display:block;font-size:18px;margin-bottom:5px}
.map-caption{max-width:500px;min-height:90px;margin:6px auto 30px;text-align:center;font-size:13px;line-height:1.7;color:#bdccba}
.map-caption p{min-height:3.4em}.map-reset{background:transparent;border:0;border-bottom:1px solid #d9e3b065;min-height:44px;margin-top:6px;padding:0 8px;color:var(--lime);font:9px/1.4 monospace;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}
.map-reset[aria-pressed=true]{border-bottom-color:var(--lime)}
.modern-step:nth-child(2):before{transition-delay:.12s}.modern-step:nth-child(3):before{transition-delay:.24s}
.person-card .person-monogram{transition:transform 1s cubic-bezier(.22,1,.36,1)}.person-card:is(:hover,:focus-within) .person-monogram{transform:translateX(-12px) rotate(-3deg)}
.legal-dialog[open]{animation:dialog-arrive .25s ease-out}@keyframes dialog-arrive{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
html[data-motion=paused]{scroll-behavior:auto}
html[data-motion=paused] *,html[data-motion=paused] *:before,html[data-motion=paused] *:after{animation-play-state:paused!important;transition:none!important}
html[data-motion=paused] .reveal{opacity:1;transform:none}
html[data-motion=paused] .poster-stage,html[data-motion=paused] .constellation-field{--art-x:0px!important;--art-y:0px!important;--art-roll:0deg!important;--word-x:0px!important;--word-y:0px!important;--code-x:0px!important;--code-y:0px!important}
html[data-motion=paused] .editorial-strip img{transform:none}
html[data-page-resting] *,html[data-page-resting] *:before,html[data-page-resting] *:after{animation-play-state:paused!important}
@media(max-width:1050px) and (min-width:641px){.art-mixer{width:175px}}
@media(max-width:640px){
 .motion-control{right:12px;bottom:max(12px,env(safe-area-inset-bottom));padding:0;width:44px;justify-content:center;gap:0}
 .motion-control .motion-label{display:none}
 .art-mixer{position:relative;inset:auto;width:210px;max-width:100%;margin:-5px auto 15px;order:0;text-align:center}
 .constellation-paths{margin-top:15px}
 .map-caption{font-size:12px;min-height:105px;margin-bottom:20px}
 .map-caption p{min-height:5.1em}
 .map-center>span{font-size:16px}.connection-map .map-node{font-size:9px}
 .site-nav a:after{width:36px;bottom:5px}
 .person-card:is(:hover,:focus-within) .person-monogram{transform:none}
}
@media(max-width:360px){.art-mixer{width:180px}.prospettiva .review-nav{padding-inline:9px;gap:4px}.prospettiva .review-nav>a{font-size:9px}.prospettiva .review-nav .review-links{gap:0}.prospettiva .review-links a{padding-inline:9px}}
@media(prefers-reduced-motion:reduce){
 .poster-stage>img{transform:translateX(-50%)}.poster-wordmark{transform:translate(-50%,-50%)}
 .constellation-art>img{transform:translateX(-50%)}.constellation-art .ascii-sculpture{transform:none}
 .editorial-strip img{transform:none}.reveal{opacity:1!important;transform:none!important}
 .sculpture-light,.ascii-luminance{display:none}
}
@media(forced-colors:active){.motion-control,.map-node,.art-mixer input{border:1px solid ButtonText}.motion-signal i,.reading-trace{background:CanvasText}.art-mixer input{appearance:auto}.connection-map .map-node[aria-pressed=true]{outline:3px solid Highlight}}
