/* Optical surfaces have no visible container at rest. No layout shift on hover. */
.new-design .client-glass,.new-design .glass-link{background:transparent;border-color:transparent;box-shadow:none;transition:transform .14s linear,box-shadow .55s,border-color .55s,background .55s}
.new-design .client-glass:before,.new-design .glass-link:before,.new-design .client-glass:after,.new-design .glass-link:after{opacity:0}
.new-design .client-glass.material-active,.new-design .glass-link.material-active,.new-design .glass-link:focus-visible{background:linear-gradient(155deg,#3434347a,#0d0d0de6 40%,#181818);border-color:#ffffff80;box-shadow:inset 0 1px 1px #ffffff92,inset 0 -1px 2px #fff3,0 5px 0 #080808,0 6px 0 #ffffff25,0 18px 28px #0008}
.new-design .client-glass.material-active:before,.new-design .glass-link.material-active:before,.new-design .glass-link:focus-visible:before{opacity:.8}
.new-design .client-glass.material-active:after,.new-design .glass-link.material-active:after,.new-design .glass-link:focus-visible:after{opacity:.8}
.new-design .contact-details{align-items:center;gap:24px}
.new-design .contact-details .glass-link{height:78px;min-height:78px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:14px 24px;gap:7px;line-height:1.25}
.new-design .contact-details .instagram{min-width:158px}
.new-design .contact-details .instagram small{margin:0;line-height:1.25;text-align:center}
/* Negative tracking lets glyph ink overhang the advance width. Give every
   reveal mask breathing room while retaining the measured word spacing. */
.new-design .artboard h2 span.word-mask{padding:.16em .13em .23em;margin:-.16em -.13em -.23em;line-height:1.2;vertical-align:baseline}
.new-design .artboard h2 span.word-body{padding:0;margin:0;line-height:inherit}
.new-design .words-ready:not(.is-in) .word-body{transform:translateY(155%)}
.new-design .project-stage{scroll-snap-type:none}
/* Light belongs to the complete contact scene, with the copy in front of it. */
.new-design .contact{isolation:isolate;background:radial-gradient(ellipse at 80% 49%,#24466c38,transparent 48%),radial-gradient(ellipse at 92% 68%,#62406424,transparent 48%),radial-gradient(ellipse at 58% 80%,#68523b12,transparent 40%),#08090c}
.new-design .contact:before{display:block;content:'';position:absolute;inset:8% -10%;background:radial-gradient(ellipse at 70% 55%,#5495bf15,transparent 55%);filter:blur(25px);pointer-events:none;z-index:0}
.new-design .contact-main,.new-design .contact-details,.new-design .contact .section-code{position:relative;z-index:2}
.energy-field{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.energy-field path{fill:none;stroke:url(#energy-spectrum);stroke-linecap:round;stroke-dasharray:1 1;stroke-dashoffset:1;opacity:0}
.energy-halo{stroke-width:24;filter:blur(10px)}
.energy-core{stroke-width:4.5;filter:drop-shadow(0 0 5px #b2d7ff)}
.energy-thread.second{transform:translateY(10px);opacity:.62}.energy-thread.third{opacity:.5}.energy-thread.third .energy-core{stroke-width:2.3}
.scene-entered .energy-field path{animation:energy-pass 3.15s cubic-bezier(.4,0,.4,1) .12s both}
.scene-entered .energy-thread.second path{animation-delay:.26s}.scene-entered .energy-thread.third path{animation-delay:.4s}
@keyframes energy-pass{0%{stroke-dashoffset:1;opacity:0}7%{opacity:.8}42%{stroke-dashoffset:0;opacity:.85}51%{stroke-dashoffset:0;opacity:.85}95%{opacity:.65}100%{stroke-dashoffset:-1;opacity:0}}
.new-design .contact .word-body{transition-delay:calc(var(--delay,0ms) + .28s)}
.new-design .contact-art{perspective:1000px;transition:opacity 1.1s ease,transform 1.35s cubic-bezier(.2,.65,.2,1)}
.new-design .contact-art.enter-pending{transform:translateY(28px) scale(.94);opacity:0}
.contact-art img{animation:glass-breath 7s ease-in-out infinite;animation-play-state:paused;transform-origin:50% 60%}
.scene-entered .contact-art img{animation-play-state:running}
@keyframes glass-breath{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-7px) scale(1.012)}}
@media(max-width:560px){.new-design .contact-details{align-items:stretch}.new-design .contact-details .glass-link{width:100%;height:72px;min-height:72px;padding:12px 16px}.energy-field{height:85%;top:5%}.energy-core{stroke-width:6}.new-design .contact{background:radial-gradient(ellipse at 70% 50%,#24466c38,transparent 65%),#08090c}}
@media(prefers-reduced-motion:reduce){.energy-field{display:none}.contact-art img{animation:none}.new-design .contact-art{transition:none}.new-design .words-ready:not(.is-in) .word-body{transform:none}}
