/* A quiet optical composition. Parent plane transforms belong to ScrollCraft. */
.studio-hero{isolation:isolate;background:radial-gradient(ellipse at 80% 42%,#f7f9f0 0,transparent 55%),linear-gradient(115deg,#edeeeb,#e9ede5)}
.hero-statement .studio-kicker{display:flex;align-items:center;gap:12px;letter-spacing:.1em}
.hero-statement .studio-kicker:before{content:'';width:22px;height:1px;background:#738365}
.hero-line{display:inline-block}
.hero-line--second{color:#3f4c39}
.hero-dot{color:#779f45}
.hero-summary{max-width:450px;line-height:1.75}
.hero-scene{--hero-x:0px;--hero-y:0px}
.hero-atmosphere{position:absolute;inset:-6% -9%;pointer-events:none;z-index:-1}
.hero-halo{position:absolute;inset:5%;border-radius:50%;background:radial-gradient(ellipse at 53% 45%,#d2e6b799,#e6eddb44 44%,transparent 70%);transform:translate3d(var(--hero-x),var(--hero-y),0)}
.hero-orbit{position:absolute;inset:16% -3%;border:1px solid #71836126;border-radius:50%;transform:translate3d(calc(var(--hero-x) * -.4),calc(var(--hero-y) * -.4),0) rotate(-31deg) scaleY(.72)}
.hero-orbit:after{content:'';position:absolute;top:17%;left:15%;width:6px;height:6px;border-radius:50%;background:#9aaf83;box-shadow:0 0 0 5px #a3b9900c}
.hero-orbit--near{inset:6% 15%;border-color:#a5b39426;transform:translate3d(calc(var(--hero-x) * .65),calc(var(--hero-y) * .65),0) rotate(33deg) scaleX(.78)}
.hero-orbit--near:after{top:auto;left:auto;bottom:12%;right:17%;width:4px;height:4px;background:#d3ddc7}
.hero-scene .scene-plane{background:none;border:0}
.hero-scene .scene-plane--back{width:91%;height:auto;aspect-ratio:1;top:11%;right:-5%;border-radius:50%}
.scene-plane--back:before{content:'';position:absolute;inset:0;border-radius:50%;border:1px solid #ffffffa3;background:radial-gradient(circle at 28% 20%,#ffffffb8,transparent 54%),linear-gradient(140deg,#e2e9d7b3,#cedabe3d);box-shadow:inset -16px -18px 48px #91a17c12,0 35px 70px -50px #435c243b;transform:translate3d(calc(var(--hero-x) * -.5),calc(var(--hero-y) * -.5),0)}
.hero-scene .scene-plane--middle{width:66%;height:auto;aspect-ratio:1;top:25%;right:7%;border-radius:50%}
.scene-plane--middle:before{content:'';position:absolute;inset:0;border-radius:50%;border:1px solid #aabc932e;background:radial-gradient(circle at 62% 70%,#bcdb9030,transparent 65%);transform:translate3d(calc(var(--hero-x) * .35),calc(var(--hero-y) * .35),0)}
.hero-scene .scene-plane--front{width:12%;height:auto;aspect-ratio:1;left:4%;bottom:19%;border-radius:50%}
.scene-plane--front:before{content:'';position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 31% 24%,#f7faf0 0,#e4eadb 34%,#bdc8b0 74%,#a5b194);border:1px solid #f6faefc9;box-shadow:8px 14px 24px -12px #44583045;transform:translate3d(calc(var(--hero-x) * 1.15),calc(var(--hero-y) * 1.15),0)}
.studio-hero .model-stage:after{opacity:.8;transform:translate3d(calc(var(--hero-x) * -.25),0,0);background:#40562c26}
.studio-actions .btn{position:relative;overflow:hidden;box-shadow:0 6px 15px -11px #15220e99;transition:transform .4s var(--ease-out),background .3s,box-shadow .4s}
.studio-actions .btn:before{content:'';position:absolute;inset:-100% -45%;background:linear-gradient(105deg,transparent 43%,#ffffff16 50%,transparent 57%);transform:translateX(-75%);transition:transform .8s var(--ease-out);pointer-events:none}
.studio-actions .btn:hover:before,.studio-actions .btn:focus-visible:before{transform:translateX(75%)}
.studio-actions .btn:hover{box-shadow:0 12px 25px -16px #15220e88}
.studio-actions .text-link{position:relative;padding-block:5px}
.studio-actions .text-link:after{content:'';position:absolute;left:0;right:32px;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease-out);opacity:.45}
.studio-actions .text-link:hover:after,.studio-actions .text-link:focus-visible:after{transform:scaleX(1)}
@media(prefers-reduced-motion:no-preference){
  .hero-enter .studio-kicker{animation:hero-copy-in .9s .05s both cubic-bezier(.16,1,.3,1)}
  .hero-enter .hero-line{animation:hero-copy-in 1.25s .12s both cubic-bezier(.16,1,.3,1)}
  .hero-enter .hero-line--second{animation-delay:.24s}
  .hero-enter .hero-summary{animation:hero-copy-in 1.15s .36s both cubic-bezier(.16,1,.3,1)}
  .hero-enter .studio-actions{animation:hero-copy-in 1.1s .48s both cubic-bezier(.16,1,.3,1)}
  .hero-enter .hero-atmosphere{animation:hero-light-in 3.8s both cubic-bezier(.16,1,.3,1)}
  .hero-enter .scene-plane--front:before{animation:hero-pearl-in 4.6s both cubic-bezier(.16,1,.3,1)}
  .hero-enter .model-stage canvas{animation:hero-object-in 1.8s both cubic-bezier(.16,1,.3,1)}
  .hero-suspended *,.hero-suspended *:before{animation-play-state:paused!important}
  .hero-enter:focus-within .studio-actions{animation:none}
}
@keyframes hero-copy-in{from{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes hero-object-in{from{opacity:0}to{opacity:1}}
@keyframes hero-light-in{from{opacity:0;transform:scale(.94) rotate(-5deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes hero-pearl-in{0%{opacity:0;translate:0 28px}30%{opacity:1}100%{opacity:1;translate:0 0}}
@media(max-width:900px) and (min-width:721px){.hero-scene .scene-plane--back{top:21%;width:104%;right:-10%}.hero-scene .scene-plane--middle{top:32%;width:80%;right:0}.hero-orbit{inset:23% -5%}}
@media(max-width:720px){.hero-summary{line-height:1.65}.hero-atmosphere{inset:-3% 0}.hero-scene .scene-plane--back{width:68%;top:7%;right:12%}.hero-scene .scene-plane--middle{width:48%;top:23%;right:20%}.hero-scene .scene-plane--front{width:10%;left:13%;bottom:20%}.hero-orbit{inset:14% 4%}.hero-orbit--near{inset:8% 18%}}
@media(prefers-reduced-motion:reduce){.hero-halo,.hero-orbit,.hero-orbit--near,.scene-plane:before,.studio-hero .model-stage:after{translate:none!important}.hero-halo,.scene-plane:before,.studio-hero .model-stage:after{transform:none!important}.hero-scene{--hero-x:0px!important;--hero-y:0px!important}.studio-actions .btn:before{display:none}.hero-line{opacity:1!important;transform:none!important}}
@media print{.hero-atmosphere{display:none}.studio-hero *{animation:none!important;opacity:1!important}}
