/* A little movement, with the paintings always at the centre. */
.reading-line{position:fixed;inset:0 0 auto;height:3px;z-index:80;background:linear-gradient(90deg,#a66b48,#e3c19e,#567d67);transform:scaleX(0);transform-origin:left;pointer-events:none}
.home-page .hero-title-line{display:block;color:inherit;overflow:hidden;padding:.08em .04em .12em 0;margin-block:-.08em -.12em}
.home-page .hero-title-line:last-child{color:#e3c19e}
.home-page .hero-title-word{display:inline-block;color:inherit;transform-origin:0 100%}
.home-page .studio-image{overflow:hidden}
.home-page .section-heading h2 em,.home-page .closing h2 em{position:relative;display:inline-block}
.home-page .section-heading h2 em::after,.home-page .closing h2 em::after{content:'';position:absolute;left:0;right:0;bottom:-.09em;height:3px;background:currentColor;opacity:.35;transform:scaleX(0);transform-origin:left}
@media(prefers-reduced-motion:no-preference){
 .home-page .film-hero .hero-film{transform:translateY(var(--film-drift,0px)) scale(1.12)}
 .home-page .hero-copy{transform:translateY(var(--copy-drift,0px))}
 .home-page .studio-image img{transform:translateY(var(--studio-drift,0px)) scale(1.12)}
 .home-page .section-heading.is-in-view h2 em::after,.home-page .closing.is-in-view h2 em::after{transform:scaleX(1);transition:transform 1.1s cubic-bezier(.22,1,.36,1) .35s}
 .home-page .scroll-cue span{animation:scroll-invitation 1.9s ease-in-out 3}
 .home-page .art-media::after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,#fff3 48%,transparent 70%);transform:translateX(-110%);pointer-events:none}
 .home-page .steps li{transition:border-color .4s,background .4s}
 .home-page .steps li:hover{border-color:#d8ad82;background:#ffffff04}
 .home-page .step-number{transition:color .35s,transform .5s}
 .home-page .steps li:hover .step-number{color:#d8ad82;transform:translateX(5px)}
 .home-page .text-link{position:relative}
 .home-page .text-link::after{content:'';position:absolute;bottom:-3px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s cubic-bezier(.22,1,.36,1)}
 .home-page .text-link:hover::after,.home-page .text-link:focus-visible::after{transform:scaleX(1);transform-origin:left}
 @media(hover:hover) and (pointer:fine){
  .home-page .art-button:hover .art-media::after{transform:translateX(110%);transition:transform 1s cubic-bezier(.22,1,.36,1)}
  .home-page .art-button .card-title{transition:transform .5s,color .5s}
  .home-page .art-button:hover .card-title{transform:translateX(4px);color:#945c3c}
 }
}
@keyframes scroll-invitation{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
.perspective-gallery[hidden]{display:none}
.perspective-gallery{padding:76px 5% 50px;background:radial-gradient(ellipse at 50% 45%,#f9f6ed 5%,#e2e7d8 70%);text-align:center;overflow:hidden;border-bottom:1px solid #cad3c3}
.perspective-heading{max-width:680px;margin:auto}
.perspective-heading h2{font-size:clamp(35px,5vw,66px);line-height:1.05;letter-spacing:-.055em}
.perspective-heading h2 em{color:#617a65}
.perspective-heading>p:last-child{font-size:13px;color:#5e7063;margin-top:20px}

.perspective-stage{--art-width:280px;max-width:1000px;margin:30px auto 24px;position:relative;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#8b9d82 #d4ddcd;cursor:grab;outline-offset:5px;overscroll-behavior-x:contain}
.perspective-stage.is-dragging{cursor:grabbing;user-select:none}
.perspective-stage:focus-visible{outline:2px solid #5f7b63}
.perspective-orbit{display:flex;align-items:center;gap:70px;width:max-content;padding:60px var(--gallery-edge,0px) 65px}
.perspective-frame{position:relative;flex:0 0 var(--art-width);width:var(--art-width);height:340px;transform-origin:center;backface-visibility:hidden}
.perspective-frame img{width:100%;height:100%;object-fit:contain;display:block;user-select:none;pointer-events:none}
.perspective-controls{display:flex;justify-content:center}
.perspective-detail:focus-visible{outline:2px solid #193e36;outline-offset:4px}
.perspective-caption{max-width:320px;min-height:85px}
.perspective-caption h3{font-size:25px;line-height:1.2;margin:7px 0;letter-spacing:-.035em}
.perspective-count,.perspective-category{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#536a57}
.perspective-detail{margin-top:10px;padding-bottom:5px;border-bottom:1px solid #86947c}
.perspective-hint{font-size:10px;letter-spacing:.14em;color:#586b56;margin-top:22px}
@media(max-width:760px){
 .perspective-gallery{padding:45px 6% 35px}
 .perspective-stage{--art-width:220px;margin-top:20px}
 .perspective-orbit{gap:35px;padding-block:45px 55px}
 .perspective-frame{height:270px}
 .perspective-caption h3{font-size:22px}
}
@media(prefers-reduced-motion:reduce){.reading-line{display:none}.home-page .section-heading h2 em::after,.home-page .closing h2 em::after{transform:scaleX(1)}}
