/* NDAMBUKI ART LAB — cinematic loader + immersive entrance */
body.lab-intro-active{overflow:hidden}
.lab-intro{position:fixed;inset:0;z-index:10000;overflow:hidden;background:#6f2936;color:#eee7dc;transform-origin:center;will-change:transform,opacity,filter}
.lab-intro-bg{position:absolute;inset:-12%;background:radial-gradient(circle at 18% 18%,rgba(238,231,220,.28),transparent 30%),radial-gradient(circle at 84% 22%,rgba(85,116,77,.9),transparent 40%),radial-gradient(circle at 72% 82%,rgba(255,91,53,.36),transparent 36%),linear-gradient(135deg,#6f2936 0%,#8f4b55 45%,#55744d 100%);transform:scale(1.04);transition:transform 1.35s cubic-bezier(.16,1,.3,1)}
.lab-intro::after{content:"";position:absolute;inset:0;z-index:1;opacity:.14;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
.lab-loader,.lab-intro-inner{position:absolute;inset:0;z-index:2}
.lab-loader{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(24px,4vw,58px);transition:opacity .6s ease,transform .8s cubic-bezier(.16,1,.3,1)}
.lab-loader-top{display:flex;justify-content:space-between;font:600 .65rem/1 "Space Grotesk",sans-serif;letter-spacing:.18em;text-transform:uppercase}
.lab-loader-center{align-self:center;width:min(88vw,1100px)}
.lab-loader-number{display:block;font:500 clamp(6rem,20vw,20rem)/.72 "Space Grotesk",sans-serif;letter-spacing:-.09em}
.lab-loader-track{height:1px;margin-top:clamp(30px,5vw,60px);background:rgba(238,231,220,.25);overflow:hidden}
.lab-loader-bar{display:block;width:0;height:100%;background:#eee7dc;transform-origin:left}
.lab-loader-bottom{display:flex;justify-content:space-between;gap:20px;font:500 .62rem/1.3 "Space Grotesk",sans-serif;letter-spacing:.12em;text-transform:uppercase}
.lab-intro-inner{display:grid;place-items:center;padding:clamp(24px,4vw,58px);text-align:center;opacity:0;visibility:hidden}
.lab-intro-copy{width:min(94vw,1250px)}
.lab-intro-kicker{display:block;margin-bottom:clamp(24px,4vw,48px);font:600 .68rem/1 "Space Grotesk",sans-serif;letter-spacing:.22em;text-transform:uppercase;opacity:0;transform:translateY(22px)}
.lab-intro-title{margin:0;font:600 clamp(4.2rem,12vw,11.5rem)/.78 "Space Grotesk",sans-serif;letter-spacing:-.085em}
.lab-intro-title span{display:block;overflow:hidden}
.lab-intro-title i{display:block;font-style:normal;transform:translateY(115%) rotate(2deg)}
.lab-intro-button{opacity:0;transform:translateY(22px);margin-top:clamp(42px,6vw,72px);padding:18px 26px;border:1px solid rgba(238,231,220,.7);border-radius:999px;background:rgba(238,231,220,.07);color:#eee7dc;font:600 clamp(.72rem,1vw,.9rem)/1 "Space Grotesk",sans-serif;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(12px);transition:background .3s ease,color .3s ease,transform .3s ease}
.lab-intro-button:hover{background:#eee7dc;color:#6f2936;transform:scale(1.04)}
.lab-intro.is-ready .lab-loader{opacity:0;transform:scale(1.08);pointer-events:none}
.lab-intro.is-ready .lab-intro-inner{opacity:1;visibility:visible}
.lab-intro.is-ready .lab-intro-kicker{animation:introRise .8s .18s cubic-bezier(.16,1,.3,1) forwards}
.lab-intro.is-ready .lab-intro-title span:nth-child(1) i{animation:introWord .95s .28s cubic-bezier(.16,1,.3,1) forwards}
.lab-intro.is-ready .lab-intro-title span:nth-child(2) i{animation:introWord .95s .4s cubic-bezier(.16,1,.3,1) forwards}
.lab-intro.is-ready .lab-intro-button{animation:introRise .8s .62s cubic-bezier(.16,1,.3,1) forwards}
@keyframes introWord{to{transform:translateY(0) rotate(0)}}
@keyframes introRise{to{opacity:1;transform:translateY(0)}}
.lab-intro.is-entering{animation:labIntroZoom 1.45s cubic-bezier(.76,0,.24,1) forwards}
.lab-intro.is-entering .lab-intro-bg{transform:scale(1.75) rotate(-1deg)}
.lab-intro.is-entering .lab-intro-title span:first-child i{transform:translate(-18vw,-16vh) scale(2.4);opacity:0;transition:1.1s cubic-bezier(.76,0,.24,1)}
.lab-intro.is-entering .lab-intro-title span:last-child i{transform:translate(18vw,18vh) scale(2.8);opacity:0;transition:1.15s cubic-bezier(.76,0,.24,1)}
.lab-intro.is-entering .lab-intro-kicker,.lab-intro.is-entering .lab-intro-button{opacity:0!important;transform:scale(1.7)!important;transition:.55s ease}
@keyframes labIntroZoom{0%{transform:scale(1);opacity:1}64%{transform:scale(1.15);opacity:1}100%{transform:scale(3.6);opacity:0;visibility:hidden}}
body.lab-intro-active .hero-header,body.lab-intro-active main,body.lab-intro-active .site-footer{transform:scale(.86);filter:blur(12px)}
.hero-header,main,.site-footer{transition:transform 1.25s cubic-bezier(.16,1,.3,1),filter 1.05s ease}
body.lab-entered .hero-header,body.lab-entered main,body.lab-entered .site-footer{transform:scale(1);filter:none}
@media(max-width:700px){.lab-loader{padding:22px 18px}.lab-loader-number{font-size:clamp(6rem,34vw,11rem)}.lab-loader-bottom span:last-child{display:none}.lab-intro-title{font-size:clamp(3.6rem,18vw,7rem);line-height:.82}.lab-intro-button{margin-top:38px;padding:16px 21px}}
@media(prefers-reduced-motion:reduce){.lab-intro *{animation-duration:.15s!important;transition-duration:.15s!important}.lab-intro.is-entering{animation-duration:.25s}.hero-header,main,.site-footer{transition:none}}

/* HOLD-TO-IMMERSE + AUDIO UI */
.lab-hold-wrap{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:clamp(42px,6vw,72px);opacity:0;transform:translateY(22px)}
.lab-intro.is-ready .lab-hold-wrap{animation:introRise .8s .62s cubic-bezier(.16,1,.3,1) forwards}
.lab-hold-wrap .lab-intro-button{margin-top:0;opacity:1;transform:none;overflow:hidden;isolation:isolate;touch-action:none;user-select:none;-webkit-user-select:none}
.lab-hold-fill{position:absolute;z-index:-1;inset:0;transform:scaleX(0);transform-origin:left;background:#eee7dc}
.lab-hold-label{position:relative;z-index:2}
.lab-intro-button.is-holding{color:#6f2936}
.lab-hold-progress{min-width:46px;text-align:left;font:600 .68rem/1 "Space Grotesk",sans-serif;letter-spacing:.08em}
.lab-intro.is-entering .lab-hold-wrap{opacity:0!important;transform:scale(1.7)!important;transition:.55s ease}
.lab-sound-toggle{position:fixed;right:clamp(18px,3vw,44px);bottom:clamp(18px,3vw,38px);z-index:11000;display:flex;align-items:center;gap:10px;border:1px solid rgba(238,231,220,.45);border-radius:999px;padding:9px 13px;background:rgba(20,20,20,.2);color:#eee7dc;backdrop-filter:blur(12px);font:600 .62rem/1 "Space Grotesk",sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.lab-sound-pulse{height:18px;display:flex;align-items:center;gap:2px}
.lab-sound-pulse i{display:block;width:2px;height:5px;background:currentColor;border-radius:2px}
.lab-sound-toggle[aria-pressed="true"] .lab-sound-pulse i{animation:soundPulse .72s ease-in-out infinite alternate}
.lab-sound-toggle[aria-pressed="true"] .lab-sound-pulse i:nth-child(2){animation-delay:-.28s}.lab-sound-toggle[aria-pressed="true"] .lab-sound-pulse i:nth-child(3){animation-delay:-.48s}.lab-sound-toggle[aria-pressed="true"] .lab-sound-pulse i:nth-child(4){animation-delay:-.16s}
@keyframes soundPulse{from{height:4px}to{height:17px}}
body.lab-entered .lab-sound-toggle{color:#eee7dc;border-color:rgba(238,231,220,.45)}
/* Noomo-inspired editorial hero character: wide, tight, oversized */
.hero-main-title,.hero-paint-it,.hero-promise{font-family:"Space Grotesk",Arial,sans-serif!important;font-weight:500!important;letter-spacing:-.085em!important}
@media(max-width:700px){.lab-hold-wrap{flex-direction:column;gap:12px}.lab-sound-label{display:none}.lab-sound-toggle{padding:10px}}
