/* 904 LAB — independently animated original character artwork. */
@font-face{font-family:CircusDisplay;src:url('fonts/circus-display.woff') format('woff');font-weight:700;font-display:swap}
.brand-logo{width:clamp(155px,14.5vw,228px);height:auto;filter:drop-shadow(0 2px 4px #16070666)}
.site-header .brand{padding:8px 0}.site-header .brand small{font-size:6px;letter-spacing:.38em;text-align:center;margin-top:5px;color:#f3d799}.lab-footer .brand-logo{width:160px}
.circus-hero{height:100svh;min-height:650px;padding:0;overflow:clip;background:#21100e;color:#f3d799;isolation:isolate;--mx:0px;--my:0px;--sy:0px}
.circus-backdrop{position:absolute;inset:0;z-index:0;display:block;transform:translate3d(calc(var(--mx)*-.24),calc(var(--my)*-.24),0) scale(1.04);pointer-events:none;overflow:hidden}
.circus-backdrop img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 53%;filter:brightness(.88) saturate(.94);animation:stage-breath 18s ease-in-out infinite alternate;transform-origin:50% 55%}
.circus-atmosphere{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 65%,transparent 28%,#1b0c061c 67%,#100b0859 100%),linear-gradient(180deg,#17081170,transparent 22%,transparent 82%,#15090b38)}
.circus-title{position:absolute;top:max(91px,10.2%);left:23%;right:23%;z-index:5;text-align:center;pointer-events:none;text-shadow:0 3px 20px #190708}
.circus-title>p{font-size:8px;font-weight:700;letter-spacing:.37em;margin-bottom:10px}.circus-title h1{line-height:1;color:#f5d58f}.circus-title h1 span{display:block;font-family:var(--body);font-size:clamp(8px,.85vw,14px);font-weight:700;letter-spacing:.27em;margin-bottom:7px}.circus-title h1 b{display:block;font-family:CircusDisplay,Georgia,serif;font-size:clamp(38px,4.6vw,84px);font-weight:700;letter-spacing:-.035em;line-height:1.04;white-space:nowrap;transform:scaleX(.93)}
.circus-flourish{display:block;width:clamp(150px,17vw,275px);height:auto;margin:3px auto 0;color:#e7bb65}
.circus-cast{position:absolute;inset:0;z-index:3;isolation:isolate;pointer-events:none}
.circus-figure{position:absolute;margin:0;display:block;isolation:isolate;--lift:-8px;--rock:1deg;--tempo:6s;--phase:0s;--enter:.2s;transform:translate3d(calc(var(--mx)*var(--depth,1)),calc(var(--my)*var(--depth,1) + var(--sy)*var(--depth,1)),0)}
.circus-figure::before{content:'';position:absolute;bottom:-1%;left:16%;width:68%;height:7%;border-radius:50%;background:#19090c;opacity:.48;filter:blur(12px);z-index:-1;animation:cast-shadow var(--tempo) ease-in-out var(--phase) infinite}
.circus-reveal,.circus-sway{position:absolute;inset:0}.circus-sway{transform-origin:50% 85%;animation:cast-sway var(--tempo) ease-in-out var(--phase) infinite}
.circus-figure img{display:block;position:absolute;inset:0;max-width:none;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 11px 10px #19050b50) drop-shadow(0 -2px 2px #f7c77850)}
.cast-izzy{--depth:.25;--tempo:7.2s;--lift:-5px;--phase:-2s;--enter:.05s;left:6%;bottom:28%;width:13%;height:36%;z-index:1;filter:brightness(.9) saturate(.94)}
.cast-bremen{--depth:.3;--tempo:8s;--rock:-.9deg;--lift:-4px;--phase:-4s;--enter:.1s;right:3%;bottom:37%;width:16%;height:42%;z-index:1;filter:brightness(.9) saturate(.94)}
.cast-gigigi{--depth:.65;--tempo:5.7s;--rock:-1.2deg;--lift:-10px;--phase:-1s;--enter:.18s;left:17%;bottom:22%;width:24%;height:56%;z-index:3}
.cast-jackie{--depth:.8;--tempo:6.4s;--rock:1.3deg;--lift:-11px;--phase:-3s;--enter:.26s;right:17%;bottom:18%;width:23%;height:56%;z-index:3}
.cast-crazy{--depth:1.15;--tempo:5.2s;--rock:1.4deg;--lift:-16px;--phase:-.5s;--enter:.32s;left:35%;bottom:5%;width:33%;height:68%;z-index:5}
.cast-crazy img{filter:drop-shadow(0 22px 15px #220b0b9c) drop-shadow(0 -2px 2px #ffce8255)}.cast-crazy::before{bottom:2%;left:22%;width:60%}
.cast-reaper{--depth:1.8;--tempo:8.4s;--rock:1.2deg;--lift:-6px;--phase:-3s;--enter:.45s;left:-25%;bottom:-15%;width:43%;height:76%;z-index:7;filter:brightness(.86)}
.cast-panda{--depth:1.9;--tempo:7.6s;--rock:-1.2deg;--lift:-7px;--phase:-1.2s;--enter:.5s;right:-13%;bottom:-22%;width:36%;height:69%;z-index:7;filter:brightness(.9)}
.cast-reaper::before,.cast-panda::before{display:none}
.circus-lighting{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none;mix-blend-mode:screen}.spotlight{position:absolute;top:12%;width:33%;height:86%;display:block;opacity:.12;transform-origin:50% 0;background:linear-gradient(180deg,#ffd99b44,#ffc36b0a 80%,transparent);clip-path:polygon(48% 0,52% 0,100% 100%,0 100%);filter:blur(10px);animation:light-sweep 15s ease-in-out infinite alternate}.spotlight-left{left:0;--a:-19deg;--b:8deg}.spotlight-right{right:0;--a:20deg;--b:-7deg;animation-delay:-7s;animation-duration:19s}.stage-glow{position:absolute;inset:7% 6% 14%;background:radial-gradient(ellipse at 50% 60%,#ffb1461f,transparent 70%);animation:light-warmth 8s ease-in-out infinite alternate;opacity:.5}
.circus-motes{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden}.circus-motes i{position:absolute;left:var(--x);top:var(--y);width:3px;height:3px;border-radius:50%;background:#ffe4a7;box-shadow:0 0 8px #ffc566;opacity:0;animation:mote-drift var(--time) linear var(--delay) infinite}.circus-motes i:nth-child(3n){width:2px;height:2px}
.circus-front-shade{position:absolute;inset:80% 0 0;z-index:8;pointer-events:none;background:linear-gradient(0deg,#160b0e9c,transparent 90%)}
.circus-footer{position:absolute;z-index:10;left:14%;right:3%;bottom:22px;display:flex;align-items:flex-end;justify-content:space-between;gap:25px}
.circus-enter{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:48px;padding:10px 22px;border:1px solid #e8c878;border-radius:40px;background:#251214d9;color:#f3d799;backdrop-filter:blur(6px);transition:background .2s,box-shadow .2s}.circus-enter>span{font-size:9px;font-weight:700;letter-spacing:.16em}.circus-enter small{display:block;font-size:8px;letter-spacing:.05em;font-weight:400;margin-top:5px;color:#e8d5b6}.circus-enter i{font-style:normal;font-size:22px}.circus-enter:hover{background:#56301ee8;box-shadow:0 0 25px #e7ab5624}
.circus-scroll{position:absolute;bottom:0;left:43.37%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:12px;padding:5px 16px;min-height:52px}.circus-scroll span{font-size:8px;letter-spacing:.26em}.circus-scroll i{font-size:23px;font-style:normal;line-height:1;animation:scroll-nudge 2.8s ease-in-out infinite}
.circus-tools{display:flex;align-items:center;gap:20px;padding:0 8px;background:#1a0c0f70;border-radius:25px;backdrop-filter:blur(5px)}.circus-radio{display:inline-flex;align-items:center;gap:14px;min-height:44px;font-size:9px;letter-spacing:.16em}.circus-radio span{font-size:18px}.circus-motion{border:0;background:transparent;display:inline-flex;align-items:center;gap:7px;padding:8px 7px;min-height:44px;color:#f5dca7}.circus-motion[hidden]{display:none}.motion-label{font-size:7px;font-weight:700;letter-spacing:.08em}.motion-icon{display:block;width:10px;height:11px;border-left:3px solid currentColor;border-right:3px solid currentColor}.circus-motion[aria-pressed=true] .motion-icon{width:0;height:0;border:6px solid transparent;border-left:9px solid currentColor;border-right:0;margin-left:1px}.circus-motion:disabled{opacity:.65;cursor:default}
.at-hero .site-header{background:linear-gradient(180deg,#15080ca6,transparent);border-bottom-color:transparent;padding-left:3.6%;padding-right:3.6%}.at-hero .brand-logo{filter:drop-shadow(0 2px 6px #160706)}
@media(min-width:801px){.at-hero .global-nav{padding:0 26px;background:#241015e8;border:1px solid #dab76b;border-radius:40px;box-shadow:0 2px 14px #10040866;gap:clamp(18px,2.5vw,43px)}.at-hero .global-nav a{font-family:Georgia,serif;font-size:11px;letter-spacing:.1em;color:#f0d397}.at-hero .global-nav a:last-child{border:0;padding:0}.at-hero .global-nav a.active,.at-hero .global-nav a:hover{color:#fff3ca}.at-hero .global-nav a::after{background:#f2ce80;bottom:-4px;height:7px;left:calc(50% - 3px);right:auto;width:7px;transform:rotate(45deg) scale(0)}.at-hero .global-nav a.active::after{transform:rotate(45deg) scale(1)}}
/* Entrance, idle movement and pointer depth are on separate nested layers. */
.circus-hero.is-preparing .circus-reveal{opacity:0}.circus-hero.is-ready .circus-reveal{animation:cast-enter .9s var(--ease) var(--enter) both}.circus-hero.is-ready .circus-title{animation:title-enter 1.1s var(--ease) both}
.circus-hero.intro-finished .circus-reveal,.circus-hero.intro-finished .circus-title{opacity:1;animation:none;transform:none}
.circus-hero[data-motion=paused] *,.circus-hero[data-motion=paused] *::before,.circus-hero[data-motion=paused] *::after{animation-play-state:paused!important}.circus-hero[data-motion=paused] .circus-reveal,.circus-hero[data-motion=paused] .circus-title{opacity:1;animation:none!important}
@keyframes cast-sway{0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(0,var(--lift),0) rotate(var(--rock))}}
@keyframes cast-shadow{0%,100%{transform:scale(.98,.48);opacity:.48}50%{transform:scale(.88,.43);opacity:.34}}
@keyframes cast-enter{from{opacity:0;transform:translate3d(0,28px,0) scale(.96)}to{opacity:1;transform:none}}
@keyframes title-enter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes stage-breath{from{transform:scale(1)}to{transform:scale(1.018)}}
@keyframes light-sweep{from{transform:rotate(var(--a));opacity:.12}to{transform:rotate(var(--b));opacity:.24}}
@keyframes light-warmth{from{opacity:.3}to{opacity:.75}}
@keyframes mote-drift{0%{transform:translate3d(0,22px,0);opacity:0}20%{opacity:.35}75%{opacity:.2}100%{transform:translate3d(18px,-85px,0);opacity:0}}
@keyframes scroll-nudge{0%,70%,100%{transform:translateY(0);opacity:.9}40%{transform:translateY(5px);opacity:.6}}
@media(min-width:801px) and (max-width:1100px){.site-header{gap:20px}.at-hero .global-nav{gap:15px;padding:0 17px}.at-hero .global-nav a{font-size:9px}.circus-tools{gap:8px}.circus-radio{font-size:8px;gap:7px}.circus-enter{padding:9px 17px}.circus-enter>span{font-size:8px}.circus-title{left:20%;right:20%}}
@media(min-width:801px) and (max-aspect-ratio:3/2){.cast-crazy{left:28%;width:44%;height:64%;bottom:7%}.cast-gigigi{left:10%;width:30%;height:53%;bottom:29%}.cast-jackie{right:9%;width:30%;height:54%;bottom:25%}.cast-izzy{left:4%;height:36%;width:17%;bottom:49%}.cast-bremen{right:1%;width:20%;height:40%;bottom:48%}.cast-reaper{width:49%;left:-29%;height:64%;bottom:-7%}.cast-panda{right:-18%;width:45%;height:57%;bottom:-12%}.circus-title h1 b{font-size:5.7vw}}
@media(max-width:800px){.site-header .brand-logo{width:175px}.site-header .brand small{font-size:5px;letter-spacing:.3em}.circus-hero{min-height:660px}.at-hero .site-header{padding:0 23px;background:linear-gradient(180deg,#17090dd9,transparent)}.circus-title{top:14%;left:7%;right:7%}.circus-title>p{font-size:7px;margin-bottom:9px}.circus-title h1 b{font-size:clamp(34px,6.7vw,52px);letter-spacing:-.04em}.circus-title h1 span{font-size:8px}.circus-flourish{width:155px;margin-top:3px}
.cast-crazy{left:22%;width:56%;height:52%;bottom:12%;--lift:-10px}.cast-gigigi{left:5%;width:37%;height:45%;bottom:33%}.cast-jackie{right:1%;width:39%;height:45%;bottom:30%}.cast-izzy{left:8%;width:19%;height:31%;bottom:49%}.cast-bremen{right:2%;width:21%;height:31%;bottom:49%}.cast-reaper{left:-25%;width:48%;height:46%;bottom:-5%}.cast-panda{right:-19%;width:44%;height:44%;bottom:-9%}
.circus-footer{left:23px;right:23px;bottom:16px;align-items:center;gap:12px}.circus-enter{padding:10px 15px;min-height:48px}.circus-enter>span{font-size:8px;letter-spacing:.08em}.circus-enter small{font-size:8px}.circus-enter i{font-size:19px}.circus-scroll{left:auto;right:0;bottom:51px;transform:none;padding:5px 9px;min-height:44px;gap:6px}.circus-scroll span{font-size:6px}.circus-scroll i{font-size:19px}.circus-radio{display:none}.circus-tools{padding:0 6px}.circus-motion{gap:6px}.motion-label{font-size:6px}.circus-front-shade{top:84%}}
@media(max-width:550px) and (orientation:portrait){.circus-backdrop img{object-position:center 53%}.circus-hero{min-height:640px}.circus-title{top:14%;left:3%;right:3%}.circus-title h1 b{font-size:9vw}.circus-title>p{font-size:6px}.circus-title h1 span{font-size:7px}.circus-flourish{width:130px}
.cast-crazy{left:18%;width:66%;height:44%;bottom:13%}.cast-gigigi{left:-2%;width:46%;height:39%;bottom:35%;--lift:-7px}.cast-jackie{right:-5%;width:47%;height:42%;bottom:31%;--lift:-8px}.cast-izzy{left:5%;width:22%;height:27%;bottom:55%}.cast-bremen{right:1%;width:24%;height:29%;bottom:54%}.cast-reaper{left:-23%;width:49%;height:42%;bottom:-2%}.cast-panda{right:-18%;width:45%;height:39%;bottom:-4%}.circus-figure::before{filter:blur(7px)}.circus-motes i:nth-child(n+7){display:none}.spotlight{width:58%;opacity:.1}.spotlight-left{left:-18%}.spotlight-right{right:-18%}.circus-scroll{bottom:54px}.circus-footer{left:18px;right:18px}.circus-enter{padding:9px 13px;gap:12px}.circus-enter>span{font-size:7px}.circus-enter small{font-size:7px}.circus-tools{background:#160d12b0}}
@media(max-width:380px) and (orientation:portrait){.circus-hero{min-height:610px}.site-header .brand-logo{width:155px}.circus-title{top:15%}.circus-title h1 b{font-size:9vw}.circus-footer{left:14px;right:14px;bottom:14px}.circus-enter{padding:9px 12px}.circus-enter>span{font-size:6px}.motion-label{font-size:5px}}
@media(max-height:600px) and (orientation:landscape){.circus-hero{min-height:360px;height:100svh}.site-header .brand-logo{width:143px}.site-header .brand small{display:none}.circus-title{top:70px;left:25%;right:25%}.circus-title>p{display:none}.circus-title h1 span{font-size:6px;margin-bottom:3px}.circus-title h1 b{font-size:27px}.circus-flourish{width:102px;margin-top:0}
.cast-crazy{left:35%;width:31%;height:61%;bottom:7%}.cast-gigigi{left:19%;width:23%;height:53%;bottom:20%}.cast-jackie{right:18%;width:22%;height:52%;bottom:18%}.cast-izzy{left:8%;width:12%;height:41%;bottom:27%}.cast-bremen{right:4%;width:14%;height:49%;bottom:27%}.cast-reaper{left:-18%;width:33%;height:72%;bottom:-17%}.cast-panda{right:-12%;width:29%;height:66%;bottom:-20%}.circus-footer{bottom:8px;left:15%;right:3%}.circus-enter{min-height:38px;padding:7px 14px;gap:12px}.circus-enter>span{font-size:6px}.circus-enter small{display:none}.circus-enter i{font-size:17px}.circus-scroll{bottom:0;left:43%;right:auto;min-height:35px;gap:2px}.circus-scroll span{font-size:5px}.circus-motion{min-height:38px}.motion-label{font-size:5px}.circus-radio{display:none}}
@media(prefers-reduced-motion:reduce){.circus-hero *,.circus-hero *::before{animation:none!important;transition:none!important}.circus-reveal{opacity:1!important}.circus-figure{transform:none!important}.circus-backdrop{transform:scale(1.04)!important}.circus-motes{display:none}.circus-sway{transform:none}}
@media print{.circus-hero{height:720px;min-height:720px}.circus-footer,.circus-motes{display:none}.circus-hero *{animation:none!important}}
