:root{--bg:#070912;--paper:#f0eee6;--white:#f6f7f2;--muted:#9399aa;--line:rgba(255,255,255,.105);--cyan:#66f0df;--violet:#9f7cff;--lime:#d7ff70;--sans:"DM Sans",sans-serif;--display:"Manrope",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font-family:var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.grain{position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.035;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='.88' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.constellation{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.72}.page-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:110}.page-progress i{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--violet),var(--cyan),var(--lime));box-shadow:0 0 18px var(--cyan)}
.site-header{position:fixed;inset:0 0 auto;z-index:50;height:82px;padding:0 max(24px,calc((100vw - 1320px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid transparent;transition:.4s}.site-header.scrolled{height:68px;background:rgba(7,9,18,.76);border-color:var(--line);backdrop-filter:blur(20px)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{position:relative;width:51px;height:39px;overflow:hidden}.brand-mark img{position:absolute;left:-2px;top:0;width:55px;height:auto;filter:invert(1);opacity:.96}.brand>span:last-child{display:flex;flex-direction:column;gap:2px}.brand b{font:700 12px var(--display);letter-spacing:.08em;text-transform:uppercase}.brand small{font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:#7d8391}.site-header nav{display:flex;gap:36px}.site-header nav a{font-size:11px;color:#a7abb7;transition:.25s}.site-header nav a:hover{color:var(--white)}.header-cta{padding:12px 17px;border:1px solid var(--line);border-radius:99px;font-size:11px;transition:.3s}.header-cta:hover{border-color:rgba(102,240,223,.5);background:rgba(102,240,223,.07)}.header-cta span{margin-left:16px;color:var(--cyan)}.menu-button{display:none;background:transparent;color:#fff;border:1px solid var(--line);border-radius:99px;padding:9px 13px}
.hero{position:relative;z-index:1;min-height:720px;height:76svh;max-height:860px;padding:126px max(24px,calc((100vw - 1320px)/2)) 62px;display:grid;grid-template-columns:minmax(0,1.22fr) minmax(360px,.78fr);align-items:center;gap:clamp(48px,7vw,120px);overflow:hidden}.hero-copy{position:relative;z-index:4}.availability{display:flex;align-items:center;gap:10px;color:#a5abb8;font:600 9px var(--display);letter-spacing:.15em;text-transform:uppercase}.availability i{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 7px rgba(215,255,112,.08);animation:pulse 2s infinite}.hero h1{max-width:920px;margin:27px 0 25px;font:600 clamp(54px,5.7vw,94px)/.96 var(--display);letter-spacing:-.068em}.hero h1 em{font-style:normal;color:transparent;background:linear-gradient(100deg,#fff 5%,#8da3b6 52%,var(--cyan));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-lead{max-width:710px;margin:0;color:#9aa1af;font-size:16px;line-height:1.72}.hero-actions{display:flex;gap:12px;margin-top:35px}.button{min-width:200px;display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-radius:8px;font:700 11px var(--display);transition:.35s}.button-bright{background:var(--white);color:#0a0c12}.button-bright:hover{background:var(--cyan);transform:translateY(-4px);box-shadow:0 20px 55px rgba(102,240,223,.14)}.button-quiet{border:1px solid var(--line);color:#b8bdc8}.button-quiet:hover{border-color:rgba(159,124,255,.55);background:rgba(159,124,255,.07);transform:translateY(-4px)}.button span{font-size:16px}.aurora{position:absolute;border-radius:50%;filter:blur(70px);pointer-events:none;opacity:.25}.aurora-a{width:540px;height:430px;right:-8%;top:-14%;background:#6848db;animation:aurora 13s ease-in-out infinite}.aurora-b{width:390px;height:390px;left:27%;bottom:-35%;background:#38bfb2;animation:aurora 16s ease-in-out infinite reverse}
.hero-system{position:relative;z-index:3;height:min(500px,56vh);min-height:390px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(24,28,42,.78),rgba(8,10,18,.88));box-shadow:0 50px 130px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.045);overflow:hidden;transform:perspective(1100px) rotateY(-4deg);transition:transform .4s}.hero-system:hover{transform:perspective(1100px) rotateY(0) translateY(-6px)}.system-head,.system-foot{position:absolute;left:0;right:0;height:52px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;font:600 7px var(--display);letter-spacing:.17em;color:#6f7686}.system-head{top:0;border-bottom:1px solid var(--line)}.system-head b{color:var(--cyan)}.system-foot{bottom:0;border-top:1px solid var(--line)}.system-orbit{position:absolute;inset:52px 0;display:grid;place-items:center;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:36px 36px}.orbit{position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%;animation:spin 18s linear infinite}.orbit:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 18px var(--cyan);top:18%;right:8%}.orbit-one{width:68%;aspect-ratio:1}.orbit-two{width:51%;aspect-ratio:1;border-color:rgba(159,124,255,.3);animation-direction:reverse;animation-duration:13s}.orbit-two:after{background:var(--violet);box-shadow:0 0 18px var(--violet);top:auto;bottom:8%;right:22%}.orbit-three{width:82%;height:42%;transform:rotate(28deg);animation-duration:24s}.orbit-three:after{background:var(--lime);box-shadow:0 0 18px var(--lime);top:43%;right:-1%}.core{width:122px;height:122px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 28%,rgba(102,240,223,.7),rgba(92,59,183,.72) 42%,rgba(13,14,30,.95) 75%);box-shadow:0 20px 70px rgba(89,59,183,.38);animation:coreFloat 6s ease-in-out infinite}.core span,.core small{font:600 7px var(--display);letter-spacing:.22em}.core b{font:800 20px var(--display);letter-spacing:-.06em}.orbit-label{position:absolute;font:600 6px var(--display);letter-spacing:.16em;color:#89909f}.label-a{left:14%;top:25%}.label-b{right:12%;top:36%}.label-c{left:21%;bottom:18%}.scroll-cue{position:absolute;z-index:4;bottom:22px;left:max(24px,calc((100vw - 1320px)/2));display:flex;align-items:center;gap:13px;color:#737a89;font:600 8px var(--display);letter-spacing:.16em;text-transform:uppercase}.scroll-cue i{width:70px;height:1px;background:#4b5160;position:relative;overflow:hidden}.scroll-cue i:after{content:"";position:absolute;inset:0;background:var(--cyan);transform:translateX(-100%);animation:scan 2.4s ease-in-out infinite}.signal-strip{position:relative;z-index:2;padding:13px 0;background:var(--lime);color:#0b0d12;overflow:hidden;white-space:nowrap}.signal-strip>div{width:max-content;display:flex;gap:28px;align-items:center;animation:ticker 28s linear infinite}.signal-strip span{font:800 9px var(--display);letter-spacing:.16em}.signal-strip i{font-style:normal}
.portfolio{position:relative;z-index:2;padding:125px max(24px,calc((100vw - 1320px)/2));background:linear-gradient(180deg,#f0eee6,#e9e7df);color:#101219}.portfolio-head{display:flex;justify-content:space-between;align-items:end;padding-bottom:75px}.portfolio-head h2,.capabilities h2,.contact h2{font:600 clamp(48px,5.7vw,80px)/1 var(--display);letter-spacing:-.06em;margin:12px 0 0}.portfolio-head h2 em,.capabilities h2 em{font-style:normal;color:#8a61e7}.portfolio-head>p{max-width:420px;color:#6d6f76;font-size:13px;line-height:1.7}.eyebrow{font:700 9px var(--display);letter-spacing:.18em;text-transform:uppercase;color:#7563c5;margin:0}.work-section{border-top:1px solid rgba(16,18,25,.16);padding:32px 0 95px}.category{display:grid;grid-template-columns:80px 1fr;margin-bottom:32px}.category>span{font:700 10px var(--display);color:#8a61e7}.category h3{margin:0;font:700 22px var(--display);letter-spacing:-.04em}.category p{margin:7px 0 0;color:#777980;font-size:12px}.tile-grid{display:grid;grid-template-columns:1.3fr .85fr .85fr;gap:14px}.tile-grid-four{grid-template-columns:repeat(4,1fr)}.tile-grid-three{grid-template-columns:repeat(3,1fr)}.work-tile{--tile:#171b28;position:relative;min-height:455px;padding:18px;display:flex;flex-direction:column;border-radius:17px;background:var(--tile);color:#fff;overflow:hidden;box-shadow:0 25px 70px rgba(24,25,31,.09);transform-style:preserve-3d;transition:transform .2s ease,box-shadow .35s ease}.work-tile:before{content:"";position:absolute;inset:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,20%),rgba(255,255,255,.18),transparent 46%);opacity:0;transition:.3s}.work-tile:hover{box-shadow:0 30px 75px rgba(24,25,31,.2)}.work-tile:hover:before{opacity:1}.tile-top,.tile-copy{position:relative;z-index:2;display:flex;justify-content:space-between}.tile-top{font:700 7px var(--display);letter-spacing:.16em;color:rgba(255,255,255,.6)}.tile-top i{font-style:normal;color:#fff}.tile-art{position:relative;z-index:1;flex:1;min-height:220px;margin:18px 0;display:grid;place-items:center;transform:translateZ(24px)}.tile-copy{align-items:end;gap:20px}.tile-copy h4{font:700 21px var(--display);letter-spacing:-.045em;margin:0 0 7px}.tile-copy p{max-width:360px;margin:0;color:rgba(255,255,255,.64);font-size:10px;line-height:1.55}.tile-copy>b{font:700 8px var(--display);color:rgba(255,255,255,.5)}.tile-wide .tile-copy h4{font-size:28px}.tile-violet{--tile:#5a43b5}.tile-cyan{--tile:#106c76}.tile-lime{--tile:#2d5f47}.tile-saffron{--tile:#9b4b17}.tile-indigo{--tile:#37388a}.tile-rose{--tile:#973e65}.tile-blue{--tile:#295a93}.tile-red{--tile:#8e281f}.tile-gold{--tile:#8b651e}.tile-orange{--tile:#98502b}.tile-mint{--tile:#217264}.tile-black{--tile:#12131b}.tile-slate{--tile:#434958}
.browser-art{display:flex;flex-direction:column;justify-content:center;align-items:start;padding:28px 9%;border:1px solid rgba(255,255,255,.2);border-radius:11px;background:rgba(8,8,17,.22);overflow:hidden}.browser-art:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-8%;bottom:-50%;background:radial-gradient(circle at 35% 30%,#79f2de,#835fff 47%,transparent 68%);animation:coreFloat 7s ease-in-out infinite}.browser-art>div{position:absolute;top:14px;left:16px;display:flex;gap:5px}.browser-art>div i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.45)}.browser-art strong{position:relative;z-index:2;font:800 clamp(22px,2.5vw,38px)/.93 var(--display);letter-spacing:-.06em}.browser-art small{position:relative;z-index:2;margin-top:12px;font:600 7px var(--display);letter-spacing:.15em;color:rgba(255,255,255,.6)}.pos-art{background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.025));border-radius:12px}.pos-art>span{width:92px;height:92px;display:grid;place-items:center;border-radius:26px;background:#cffff1;color:#0a5a5b;font:800 44px var(--display);box-shadow:0 25px 60px rgba(0,0,0,.23);animation:coreFloat 6s ease-in-out infinite}.pos-art>div{position:absolute;inset:12% 15%;border:1px solid rgba(255,255,255,.15);border-radius:50%;animation:spin 15s linear infinite}.pos-art i{position:absolute;width:7px;height:7px;border-radius:50%;background:#fff}.pos-art i:nth-child(1){top:8%;left:27%}.pos-art i:nth-child(2){right:2%;top:52%}.pos-art i:nth-child(3){bottom:0;left:35%}.utility-art{display:flex;gap:9px}.utility-art span{width:70px;height:86px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:10px;background:rgba(255,255,255,.07);font:700 14px var(--display);animation:cardDance 5s ease-in-out infinite}.utility-art span:nth-child(2){animation-delay:-1.4s}.utility-art span:nth-child(3){animation-delay:-2.8s}.mandala-art:before,.mandala-art:after{content:"";position:absolute;border:1px solid rgba(255,221,151,.45);border-radius:50%;animation:spin 18s linear infinite}.mandala-art:before{width:180px;height:180px;background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.12) 0 3deg,transparent 3deg 18deg)}.mandala-art:after{width:125px;height:125px;animation-direction:reverse}.mandala-art span{position:relative;z-index:2;font-size:59px;color:#ffe1a5}.zodiac-art{border-radius:50%;width:200px;justify-self:center;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 61%);border:1px solid rgba(255,255,255,.3)}.zodiac-art>span{font-size:42px}.zodiac-art i{position:absolute;left:50%;top:50%;width:6px;height:6px;border-radius:50%;background:#fff;transform:rotate(calc(var(--n)*72deg)) translateY(-85px)}.zodiac-art i:nth-of-type(1){--n:1}.zodiac-art i:nth-of-type(2){--n:2}.zodiac-art i:nth-of-type(3){--n:3}.zodiac-art i:nth-of-type(4){--n:4}.jobs-art{display:flex;flex-direction:column;gap:8px;align-items:stretch;padding:15px 22px}.jobs-art span{display:block;padding:13px 15px;border:1px solid rgba(255,255,255,.19);border-radius:9px;background:rgba(255,255,255,.08);font:800 12px var(--display);animation:jobSlide 5s ease-in-out infinite}.jobs-art span:nth-child(2){margin-left:18px;animation-delay:-1.5s}.jobs-art span:nth-child(3){margin-left:36px;animation-delay:-3s}.heart-art span{font-size:100px;color:#ffb9d2;animation:heart 2.2s ease-in-out infinite}.heart-art i{position:absolute;width:170px;height:170px;border:1px solid rgba(255,255,255,.25);border-radius:50%;animation:ripple 2.2s ease-out infinite}.amigos-art{align-content:center;background:radial-gradient(circle at 65% 45%,rgba(255,187,96,.22),transparent 44%)}.amigos-art strong{font:800 44px var(--display);letter-spacing:-.07em}.amigos-art span{font:600 7px var(--display);letter-spacing:.2em;color:#ffc985}.build-art i{position:absolute;bottom:15%;width:16%;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2)}.build-art i:nth-child(1){height:32%;left:22%}.build-art i:nth-child(2){height:52%;left:42%}.build-art i:nth-child(3){height:70%;left:62%}.build-art span{position:relative;z-index:2;font:800 26px var(--display);letter-spacing:.14em}.auction-art{grid-template-columns:1fr auto 1fr;gap:10px}.auction-art span{width:72px;height:72px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,255,255,.34);font:800 21px var(--display)}.auction-art i{font:700 7px var(--display);font-style:normal;letter-spacing:.16em;animation:blink 1.6s steps(1) infinite}.patience-art span{font:800 34px var(--display);letter-spacing:.15em}.patience-art i{position:absolute;width:135px;height:135px;border:10px solid rgba(255,255,255,.12);border-top-color:#bffff1;border-radius:50%;animation:spin 2.5s linear infinite}.patience-art small{position:absolute;bottom:16%;font:700 9px var(--display);letter-spacing:.15em}.death-art{display:flex;flex-direction:column;align-items:center;justify-content:center;font:800 36px/.83 var(--display);letter-spacing:-.07em}.death-art span:nth-child(2){color:transparent;-webkit-text-stroke:1px #fff}.death-art:before{content:"";position:absolute;width:1px;height:80%;background:linear-gradient(transparent,#fff,transparent);animation:scanVertical 4s ease-in-out infinite}.next-art i{position:absolute;width:170px;height:170px;border:1px dashed rgba(255,255,255,.3);border-radius:50%;animation:spin 18s linear infinite}.next-art span{font:800 38px/.9 var(--display);letter-spacing:-.07em;text-align:center}
.capabilities{position:relative;z-index:2;padding:135px max(24px,calc((100vw - 1320px)/2));background:var(--bg);display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw}.capabilities h2 em{color:var(--cyan)}.capability-list{border-bottom:1px solid var(--line)}.capability-list article{display:grid;grid-template-columns:55px 1fr 1fr;gap:22px;align-items:center;padding:31px 0;border-top:1px solid var(--line);transition:.35s}.capability-list article:hover{padding-left:14px;background:linear-gradient(90deg,rgba(102,240,223,.05),transparent)}.capability-list span{font:600 8px var(--display);color:var(--cyan)}.capability-list h3{font:700 20px var(--display);letter-spacing:-.04em;margin:0}.capability-list p{font-size:11px;line-height:1.55;color:var(--muted);margin:0}.contact{position:relative;z-index:2;min-height:720px;padding:120px max(24px,calc((100vw - 1320px)/2));display:grid;align-items:center;overflow:hidden;background:#0a0c14}.contact-halo{position:absolute;width:700px;height:700px;right:-4%;border-radius:50%;background:radial-gradient(circle at 38% 32%,#9f84ff,#4f388d 38%,#151226 68%,transparent 70%);filter:drop-shadow(0 50px 90px rgba(82,55,163,.25));animation:aurora 12s ease-in-out infinite}.contact-copy{position:relative;z-index:2}.contact h2{font-size:clamp(65px,8vw,125px);line-height:.85;margin:25px 0}.contact h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px var(--cyan)}.contact-copy>p:not(.eyebrow){max-width:540px;color:var(--muted);font-size:14px;line-height:1.7}.contact-button{display:flex;justify-content:space-between;width:min(390px,100%);margin-top:35px;padding:19px 22px;border-radius:8px;background:var(--white);color:#0b0d13;font:700 11px var(--display);transition:.35s}.contact-button:hover{background:var(--lime);transform:translateY(-5px)}footer{position:relative;z-index:2;padding:55px max(24px,calc((100vw - 1320px)/2)) 30px;background:#07080d;display:grid;grid-template-columns:1fr auto;gap:45px;align-items:center;border-top:1px solid var(--line)}footer>div{display:flex;gap:23px;color:#848b9a;font-size:10px}footer>p{grid-column:1/-1;padding-top:22px;margin:0;border-top:1px solid var(--line);color:#656b79;font-size:9px}
.js .enter{opacity:0;transform:translateY(24px);animation:enter .9s cubic-bezier(.2,.75,.2,1) forwards}.js .enter:nth-child(2){animation-delay:.1s}.js .enter:nth-child(3){animation-delay:.2s}.js .enter:nth-child(4){animation-delay:.3s}.js .hero-system.enter{animation-delay:.2s}.js .reveal{opacity:0;transform:translateY(45px);transition:opacity .9s cubic-bezier(.2,.75,.2,1),transform .9s cubic-bezier(.2,.75,.2,1)}.js .reveal.visible{opacity:1;transform:none}@keyframes enter{to{opacity:1;transform:none}}@keyframes pulse{50%{box-shadow:0 0 0 13px rgba(215,255,112,0)}}@keyframes aurora{50%{transform:translate3d(-45px,35px,0) scale(1.1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes coreFloat{50%{transform:translateY(-12px) rotate(2deg)}}@keyframes scan{50%{transform:translateX(0)}100%{transform:translateX(100%)}}@keyframes ticker{to{transform:translateX(-50%)}}@keyframes cardDance{50%{transform:translateY(-9px) rotate(2deg)}}@keyframes jobSlide{50%{transform:translateX(10px)}}@keyframes heart{50%{transform:scale(1.08)}}@keyframes ripple{to{transform:scale(1.45);opacity:0}}@keyframes blink{50%{opacity:.35}}@keyframes scanVertical{50%{transform:translateX(85px)}}
@media(max-width:1050px){.site-header nav,.header-cta{display:none}.menu-button{display:block}.site-header.open nav{position:absolute;top:70px;left:18px;right:18px;display:flex;flex-direction:column;gap:20px;padding:24px;border:1px solid var(--line);border-radius:14px;background:rgba(13,16,27,.96);backdrop-filter:blur(20px)}.hero{height:auto;min-height:860px;grid-template-columns:1fr .72fr;gap:35px}.hero h1{font-size:clamp(52px,7.7vw,76px)}.tile-grid,.tile-grid-four,.tile-grid-three{grid-template-columns:repeat(2,1fr)}.tile-wide{grid-column:span 2}.capabilities{grid-template-columns:1fr;gap:70px}}
@media(max-width:700px){.site-header{height:70px;padding-inline:18px}.brand-mark{width:43px;height:33px}.brand-mark img{width:47px}.brand b{font-size:10px}.brand small{font-size:7px}.hero{display:block;min-height:auto;padding:108px 20px 52px}.hero h1{font-size:45px;line-height:.96;margin-top:23px}.hero-lead{font-size:14px}.hero-actions{flex-direction:column}.button{width:100%}.hero-system{display:none}.scroll-cue{display:none}.portfolio{padding:78px 18px}.portfolio-head{display:block;padding-bottom:55px}.portfolio-head h2{font-size:45px}.portfolio-head>p{margin-top:24px}.work-section{padding-bottom:70px}.category{grid-template-columns:40px 1fr}.category h3{font-size:19px}.tile-grid,.tile-grid-four,.tile-grid-three{grid-template-columns:1fr}.tile-wide{grid-column:auto}.work-tile{min-height:430px}.tile-wide .tile-copy h4{font-size:23px}.capabilities{padding:90px 20px}.capabilities h2{font-size:51px}.capability-list article{grid-template-columns:35px 1fr}.capability-list p{grid-column:2}.contact{min-height:680px;padding:90px 20px}.contact-halo{width:480px;height:480px;right:-46%;top:5%}.contact h2{font-size:67px}.contact-copy>p:not(.eyebrow){max-width:330px}footer{grid-template-columns:1fr;padding-inline:20px}footer>div{flex-wrap:wrap}footer>p{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.constellation{display:none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js .enter,.js .reveal{opacity:1;transform:none}}

/* Hero revolving product system */
.hero-system{border:0;background:transparent;box-shadow:none;overflow:visible;transform:none;display:grid;place-items:center;isolation:isolate}.hero-system:hover{transform:none}.hero-system:before{content:"";position:absolute;width:86%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(92,68,211,.22),rgba(70,217,207,.08) 40%,transparent 70%);filter:blur(14px);animation:revolveBreathe 6s ease-in-out infinite}.revolve-aura{position:absolute;width:72%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(102,240,223,.13);box-shadow:0 0 90px rgba(93,72,215,.14),inset 0 0 75px rgba(102,240,223,.05);animation:auraTurn 22s linear infinite}.revolve-aura:before,.revolve-aura:after{content:"";position:absolute;inset:9%;border-radius:50%;border:1px dashed rgba(255,255,255,.08)}.revolve-aura:after{inset:22%;border-style:solid;border-color:rgba(159,124,255,.18)}.system-orbit{position:relative;inset:auto;width:100%;height:100%;max-width:520px;max-height:520px;display:grid;place-items:center;background:none;perspective:900px;transform-style:preserve-3d}.orbit{top:50%;left:50%;width:82%;height:43%;aspect-ratio:auto;transform-style:preserve-3d;transform-origin:center;animation:revolveRingOne 13s linear infinite;border-color:rgba(102,240,223,.34);box-shadow:0 0 24px rgba(102,240,223,.05)}.orbit:after{display:none}.orbit-one{transform:translate(-50%,-50%) rotateX(66deg);animation-name:revolveRingOne}.orbit-two{width:70%;height:70%;transform:translate(-50%,-50%) rotateY(66deg);border-color:rgba(159,124,255,.35);animation:revolveRingTwo 17s linear infinite reverse}.orbit-three{width:88%;height:33%;transform:translate(-50%,-50%) rotateX(72deg) rotateZ(58deg);border-color:rgba(215,255,112,.26);animation:revolveRingThree 21s linear infinite}.satellite{position:absolute;top:50%;left:-10px;width:20px;height:20px;margin-top:-10px;border-radius:50%;display:grid;place-items:center;background:#dffffa;box-shadow:0 0 24px rgba(102,240,223,.9),0 0 60px rgba(102,240,223,.35)}.satellite b{position:absolute;left:27px;font:700 6px var(--display);letter-spacing:.18em;color:#bffcf2;white-space:nowrap}.orbit-two .satellite{background:#c0aaff;box-shadow:0 0 24px rgba(159,124,255,.9),0 0 60px rgba(159,124,255,.35)}.orbit-two .satellite b{color:#d8ceff}.orbit-three .satellite{background:#e7ff9f;box-shadow:0 0 24px rgba(215,255,112,.85),0 0 60px rgba(215,255,112,.28)}.orbit-three .satellite b{color:#e7ff9f}.core{position:relative;z-index:6;width:150px;height:150px;background:radial-gradient(circle at 32% 25%,#89fff0 0,#6650d7 38%,#241a58 66%,#0d1020 100%);box-shadow:0 25px 75px rgba(63,45,153,.48),0 0 0 1px rgba(255,255,255,.14) inset,0 0 55px rgba(102,240,223,.12);animation:revolveCore 7s ease-in-out infinite}.core:before{content:"";position:absolute;inset:9px;border-radius:50%;border:1px solid rgba(255,255,255,.14);border-right-color:transparent;animation:spin 8s linear infinite}.core:after{content:"";position:absolute;inset:-26px;border-radius:50%;border:1px solid rgba(102,240,223,.09);animation:spin 12s linear infinite reverse}.core span,.core small,.core b{position:relative;z-index:2}.core b{font-size:25px}.orbit-label{z-index:8;padding:7px 10px;border:1px solid rgba(255,255,255,.1);border-radius:99px;background:rgba(8,10,18,.52);backdrop-filter:blur(8px);color:#9aa3b4}.label-a{left:4%;top:24%;animation:labelFloat 5s ease-in-out infinite}.label-b{right:0;top:33%;animation:labelFloat 6s ease-in-out -2s infinite}.label-c{left:12%;bottom:17%;animation:labelFloat 7s ease-in-out -4s infinite}.revolve-shadow{position:absolute;bottom:4%;width:46%;height:20px;border-radius:50%;background:rgba(0,0,0,.65);filter:blur(15px);animation:shadowPulse 7s ease-in-out infinite}.system-head,.system-foot{display:none}
@keyframes revolveRingOne{from{transform:translate(-50%,-50%) rotateX(66deg) rotateZ(0)}to{transform:translate(-50%,-50%) rotateX(66deg) rotateZ(360deg)}}@keyframes revolveRingTwo{from{transform:translate(-50%,-50%) rotateY(66deg) rotateZ(0)}to{transform:translate(-50%,-50%) rotateY(66deg) rotateZ(360deg)}}@keyframes revolveRingThree{from{transform:translate(-50%,-50%) rotateX(72deg) rotateZ(58deg)}to{transform:translate(-50%,-50%) rotateX(72deg) rotateZ(418deg)}}@keyframes revolveCore{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-15px) rotate(2deg)}}@keyframes revolveBreathe{50%{transform:scale(1.12);opacity:.7}}@keyframes auraTurn{to{transform:rotate(360deg)}}@keyframes labelFloat{50%{transform:translateY(-9px)}}@keyframes shadowPulse{50%{transform:scale(.82);opacity:.55}}
@media(max-width:1050px) and (min-width:701px){.hero-system{height:470px}.core{width:130px;height:130px}.system-orbit{max-width:440px;max-height:440px}}
@media(max-width:700px){.hero-system{display:none}}

/* Interactive studio sculpture */
.hero-object{height:min(540px,60vh);min-height:430px;overflow:visible;cursor:crosshair;contain:layout style;isolation:isolate}.hero-object:before{width:92%;background:radial-gradient(circle,rgba(102,240,223,.14),rgba(93,72,215,.2) 34%,transparent 70%);filter:blur(22px);animation:revolveBreathe 7s ease-in-out infinite}.hero-object canvas{position:absolute;inset:-6%;width:112%;height:112%;z-index:3;display:block;filter:drop-shadow(0 30px 42px rgba(0,0,0,.35));opacity:0;transition:opacity .7s ease}.hero-object.object-ready canvas{opacity:1}.object-aura{position:absolute;z-index:1;width:78%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(102,240,223,.12);box-shadow:inset 0 0 90px rgba(102,240,223,.035),0 0 100px rgba(102,240,223,.05);animation:auraTurn 30s linear infinite}.object-aura:before,.object-aura:after{content:"";position:absolute;border-radius:50%;border:1px dashed rgba(255,255,255,.08)}.object-aura:before{inset:11%}.object-aura:after{inset:27%;border-color:rgba(159,124,255,.15);animation:auraTurn 18s linear infinite reverse}.object-fallback{position:relative;z-index:2;width:185px;height:185px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 34% 27%,#7ef8ec,#5d48d7 43%,#161636 75%);box-shadow:0 25px 90px rgba(80,58,196,.46),0 0 0 1px rgba(255,255,255,.1) inset;transition:opacity .5s ease,transform .5s ease}.object-fallback span{font:500 110px/1 var(--display);color:#fff;text-shadow:0 0 28px rgba(102,240,223,.5);transform:translateY(-8px)}.object-ready .object-fallback{opacity:0;transform:scale(.7)}.object-label{position:absolute;z-index:7;display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid rgba(255,255,255,.11);border-radius:99px;background:rgba(7,9,18,.52);backdrop-filter:blur(12px);font:700 6px var(--display);letter-spacing:.17em;color:#aab1c1;box-shadow:0 10px 30px rgba(0,0,0,.2)}.object-label i{width:5px;height:5px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px var(--cyan)}.object-label-a{left:2%;top:24%;animation:labelFloat 5.5s ease-in-out infinite}.object-label-b{right:1%;top:32%;animation:labelFloat 6.5s ease-in-out -2s infinite}.object-label-c{left:8%;bottom:19%;animation:labelFloat 7.5s ease-in-out -4s infinite}.object-label-b i{background:var(--violet);box-shadow:0 0 12px var(--violet)}.object-label-c i{background:var(--lime);box-shadow:0 0 12px var(--lime)}.object-caption{position:absolute;z-index:7;right:3%;bottom:8%;display:flex;flex-direction:column;align-items:flex-end;gap:5px}.object-caption b{font:700 7px var(--display);letter-spacing:.2em;color:#f0f3f8}.object-caption span{font:600 6px var(--display);letter-spacing:.17em;color:#737b8e}.object-failed canvas{display:none}@media(max-width:1050px) and (min-width:701px){.hero-object{height:480px;min-height:420px}.hero-object canvas{inset:-2%;width:104%;height:104%}.object-label-a{left:0}.object-label-b{right:0}.object-caption{right:1%}}@media(max-width:700px){.hero-object{display:none}}@media(prefers-reduced-motion:reduce){.object-aura,.object-aura:after,.object-label{animation:none!important}}

.object-label-b{right:7%}.object-caption{right:8%}@media(max-width:1050px) and (min-width:701px){.object-label-b{right:5%}.object-caption{right:6%}}

.object-label-b{right:15%}.object-caption{right:16%}@media(max-width:1050px) and (min-width:701px){.object-label-b{right:12%}.object-caption{right:13%}}

/* High-detail hero artwork */
.hero-object-image{position:absolute;z-index:4;left:47%;top:49%;width:min(78%,430px);height:94%;object-fit:contain;transform:translate(-50%,-50%);filter:drop-shadow(0 28px 44px rgba(0,0,0,.46)) drop-shadow(0 0 28px rgba(91,72,215,.2));animation:heroBulbFloat 7s ease-in-out infinite;will-change:transform}.hero-object .object-aura{width:72%;opacity:.74}.hero-object .object-label,.hero-object .object-caption{z-index:8}@keyframes heroBulbFloat{0%,100%{transform:translate(-50%,-50%) rotate(-1.5deg)}50%{transform:translate(-50%,calc(-50% - 12px)) rotate(1.5deg)}}@media(max-width:1050px) and (min-width:701px){.hero-object-image{width:min(74%,360px);height:88%}}@media(prefers-reduced-motion:reduce){.hero-object-image{animation:none}}
/* Spectral glass design system */
:root {
  --glass: rgba(18, 23, 40, .72);
  --glass-strong: rgba(12, 16, 29, .92);
  --spectral: linear-gradient(110deg, #9f7cff 0%, #66f0df 50%, #d7ff70 100%);
}

body { background: #070912; }
.site-header.scrolled {
  background: rgba(7, 9, 18, .82);
  border-color: rgba(125, 230, 224, .14);
  box-shadow: 0 16px 55px rgba(0, 0, 0, .26), inset 0 -1px rgba(159, 124, 255, .08);
}
.site-header.scrolled:after {
  content: ""; position: absolute; left: 15%; right: 15%; bottom: -1px; height: 1px;
  background: linear-gradient(90deg, transparent, #9f7cff, #66f0df, transparent); opacity: .58;
}
.header-cta { background: linear-gradient(135deg, rgba(159, 124, 255, .08), rgba(102, 240, 223, .035)); box-shadow: inset 0 1px rgba(255, 255, 255, .04); }
.header-cta:hover { box-shadow: 0 0 30px rgba(102, 240, 223, .12), inset 0 1px rgba(255, 255, 255, .08); }

.signal-strip {
  padding: 14px 0; background: linear-gradient(90deg, #120f2b, #102f35 45%, #172519); color: #eefef8;
  border-block: 1px solid rgba(102, 240, 223, .18); box-shadow: 0 0 34px rgba(102, 240, 223, .08);
}
.signal-strip span { background: var(--spectral); -webkit-background-clip: text; background-clip: text; color: transparent; }
.signal-strip i { color: var(--lime); text-shadow: 0 0 14px rgba(215, 255, 112, .58); }

.portfolio {
  overflow: hidden; color: #f6f8fb;
  background:
    radial-gradient(900px circle at 86% 4%, rgba(78, 225, 218, .11), transparent 48%),
    radial-gradient(800px circle at 5% 34%, rgba(133, 88, 255, .14), transparent 52%),
    radial-gradient(680px circle at 82% 72%, rgba(215, 255, 112, .055), transparent 50%),
    linear-gradient(180deg, #090c16 0%, #0b0e1a 46%, #080a13 100%);
}
.portfolio:before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(rgba(255, 255, 255, .018) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .018) 1px, transparent 1px);
  background-size: 72px 72px; mask-image: linear-gradient(to bottom, transparent, #000 12%, #000 88%, transparent);
}
.portfolio:after {
  content: ""; position: absolute; left: 62%; top: 90px; width: 420px; height: 420px; border: 1px solid rgba(102, 240, 223, .08); border-radius: 50%;
  box-shadow: 0 0 0 70px rgba(159, 124, 255, .025), 0 0 0 140px rgba(102, 240, 223, .018); animation: spectralOrbit 24s linear infinite; pointer-events: none;
}
.portfolio > * { position: relative; z-index: 2; }
.portfolio-head h2 em { background: var(--spectral); -webkit-background-clip: text; background-clip: text; color: transparent; }
.portfolio-head > p, .category p { color: #929bad; }
.portfolio .eyebrow, .category > span { color: #80e9df; text-shadow: 0 0 18px rgba(102, 240, 223, .24); }
.work-section { border-color: rgba(177, 201, 222, .12); }
.category { position: relative; }
.category h3 { color: #f5f8fb; }
.category:after { content: ""; position: absolute; left: 80px; right: 0; bottom: -18px; height: 1px; background: linear-gradient(90deg, rgba(102, 240, 223, .35), rgba(159, 124, 255, .18), transparent 82%); }

.work-tile {
  --accent: #66f0df; isolation: isolate;
  border: 1px solid color-mix(in srgb, var(--accent) 22%, transparent);
  background: radial-gradient(480px circle at var(--mx, 74%) var(--my, 12%), color-mix(in srgb, var(--accent) 15%, transparent), transparent 48%), linear-gradient(145deg, rgba(29, 35, 56, .93), rgba(10, 13, 25, .97));
  box-shadow: 0 30px 75px rgba(0, 0, 0, .3), inset 0 1px rgba(255, 255, 255, .055); backdrop-filter: blur(18px);
  transition: transform .24s cubic-bezier(.2, .8, .2, 1), box-shadow .35s, border-color .35s;
}
.work-tile:before { background: radial-gradient(460px circle at var(--mx, 50%) var(--my, 20%), color-mix(in srgb, var(--accent) 24%, transparent), transparent 48%); mix-blend-mode: screen; }
.work-tile:after {
  content: ""; position: absolute; z-index: 0; inset: -35% -50%; pointer-events: none; opacity: .34;
  background: conic-gradient(from 120deg, transparent 0 35%, color-mix(in srgb, var(--accent) 18%, transparent) 42%, transparent 49% 100%); animation: cardSpectrum 11s linear infinite;
}
.work-tile:hover { border-color: color-mix(in srgb, var(--accent) 58%, transparent); box-shadow: 0 36px 95px rgba(0, 0, 0, .42), 0 0 42px color-mix(in srgb, var(--accent) 13%, transparent), inset 0 1px rgba(255, 255, 255, .09); }
.work-tile:hover:before { opacity: 1; }
.tile-top i { color: var(--accent); text-shadow: 0 0 16px color-mix(in srgb, var(--accent) 55%, transparent); }
.tile-art { border-radius: 13px; background: radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 62%); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .028); }
.tile-copy h4 { color: #fff; }
.tile-copy p { color: #9ea8ba; }
.tile-violet { --accent: #a988ff; } .tile-cyan { --accent: #66f0df; } .tile-lime { --accent: #d7ff70; }
.tile-saffron { --accent: #ff9d66; } .tile-indigo { --accent: #8f91ff; } .tile-rose { --accent: #ff7db8; }
.tile-blue { --accent: #6aaeff; } .tile-red { --accent: #ff766c; } .tile-gold { --accent: #ffd56a; }
.tile-orange { --accent: #ff9f72; } .tile-mint { --accent: #65f0c8; } .tile-black { --accent: #a7b3ca; } .tile-slate { --accent: #a9b8d5; }

.capabilities { overflow: hidden; background: radial-gradient(760px circle at 8% 20%, rgba(159, 124, 255, .11), transparent 55%), radial-gradient(620px circle at 92% 76%, rgba(102, 240, 223, .07), transparent 50%), #080a13; }
.capabilities:before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: radial-gradient(circle at center, rgba(154, 181, 211, .14) 0 1px, transparent 1.2px); background-size: 36px 36px; mask-image: linear-gradient(90deg, rgba(0, 0, 0, .5), transparent 65%); }
.capabilities h2 em { background: linear-gradient(100deg, #66f0df, #a68bff 65%, #d7ff70); -webkit-background-clip: text; background-clip: text; color: transparent; }
.capability-list article { position: relative; margin: 6px 0; padding-inline: 18px; border: 1px solid rgba(170, 197, 220, .1); border-radius: 14px; background: linear-gradient(120deg, rgba(27, 33, 53, .56), rgba(12, 16, 29, .36)); backdrop-filter: blur(12px); overflow: hidden; }
.capability-list article:after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(102, 240, 223, .08), transparent 45%, rgba(159, 124, 255, .08)); opacity: 0; transition: .35s; }
.capability-list article:hover { padding-left: 28px; border-color: rgba(102, 240, 223, .25); box-shadow: 0 18px 55px rgba(0, 0, 0, .22), 0 0 30px rgba(102, 240, 223, .05); }
.capability-list article:hover:after { opacity: 1; }
.capability-list article > * { position: relative; z-index: 1; }

.contact { background: radial-gradient(900px circle at 90% 50%, rgba(100, 73, 218, .2), transparent 50%), radial-gradient(700px circle at 10% 90%, rgba(58, 208, 198, .09), transparent 52%), #080a13; }
.contact:before { content: ""; position: absolute; width: 590px; height: 590px; right: 0; border-radius: 50%; border: 1px solid rgba(102, 240, 223, .13); box-shadow: 0 0 0 75px rgba(159, 124, 255, .025), 0 0 0 150px rgba(102, 240, 223, .018); animation: spectralOrbit 28s linear infinite; }
.contact-halo { background: radial-gradient(circle at 34% 28%, rgba(125, 255, 237, .78), rgba(104, 74, 224, .78) 25%, #281d63 52%, rgba(12, 13, 27, .45) 69%, transparent 70%); filter: drop-shadow(0 50px 100px rgba(83, 61, 188, .26)); opacity: .9; }
.contact h2 em { background: var(--spectral); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-stroke: 0; }
.contact-button { border: 1px solid rgba(255, 255, 255, .08); background: linear-gradient(110deg, #f5f6f0, #d9fff8); box-shadow: 0 18px 55px rgba(102, 240, 223, .11); }
.contact-button:hover { box-shadow: 0 24px 70px rgba(215, 255, 112, .18), 0 0 35px rgba(102, 240, 223, .1); }
footer { background: linear-gradient(180deg, #07080d, #05060a); border-color: rgba(102, 240, 223, .1); }

@keyframes spectralOrbit { to { transform: rotate(360deg); } }
@keyframes cardSpectrum { to { transform: rotate(360deg); } }
@media(max-width:700px) {
  .portfolio:after { width: 260px; height: 260px; left: 58%; top: 180px; }
  .category:after { left: 40px; }
  .work-tile:after { animation-duration: 15s; }
  .capability-list article { padding-inline: 13px; }
  .contact:before { width: 360px; height: 360px; right: -40%; }
}
@media(prefers-reduced-motion:reduce) { .portfolio:after, .work-tile:after, .contact:before { animation: none !important; } }

/* Radiant bulb lighting */
.hero:after {
  content: ""; position: absolute; z-index: 1; width: min(76vw, 980px); height: min(76vw, 980px); right: -16%; top: -9%; border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle, rgba(255, 255, 225, .19) 0 3%, rgba(215, 255, 112, .15) 8%, rgba(102, 240, 223, .13) 20%, rgba(159, 124, 255, .11) 37%, rgba(74, 54, 171, .055) 55%, transparent 72%);
  filter: blur(12px); mix-blend-mode: screen; animation: heroLightBreathe 6s ease-in-out infinite;
}
.hero-copy, .hero-system, .scroll-cue { position: relative; z-index: 4; }
.hero-object:after {
  content: ""; position: absolute; z-index: 2; left: 47%; top: 47%; width: 52%; aspect-ratio: 1; border-radius: 50%; transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(255, 255, 238, .42) 0 5%, rgba(218, 255, 140, .25) 11%, rgba(102, 240, 223, .18) 27%, rgba(159, 124, 255, .12) 44%, transparent 69%);
  filter: blur(14px); mix-blend-mode: screen; animation: bulbBloom 3.8s ease-in-out infinite;
}
.hero-object-image {
  filter: brightness(1.18) saturate(1.28) contrast(1.04) drop-shadow(0 28px 44px rgba(0, 0, 0, .4)) drop-shadow(0 0 25px rgba(102, 240, 223, .4)) drop-shadow(0 0 58px rgba(159, 124, 255, .34));
}
.hero-object .object-aura {
  opacity: 1; border-color: rgba(187, 255, 244, .27);
  box-shadow: inset 0 0 75px rgba(102, 240, 223, .06), 0 0 0 35px rgba(102, 240, 223, .055), 0 0 0 92px rgba(159, 124, 255, .04), 0 0 0 165px rgba(215, 255, 112, .025), 0 0 110px rgba(102, 240, 223, .2);
}
.hero-object .object-aura:before { border-color: rgba(215, 255, 112, .26); animation: lightWave 4.8s ease-out infinite; }
.hero-object .object-aura:after { border-color: rgba(102, 240, 223, .24); animation: lightWave 4.8s ease-out 2.4s infinite; }
.object-label { box-shadow: 0 10px 30px rgba(0, 0, 0, .2), 0 0 18px rgba(102, 240, 223, .08); }
@keyframes heroLightBreathe { 0%,100% { opacity: .62; transform: scale(.94); } 50% { opacity: 1; transform: scale(1.08); } }
@keyframes bulbBloom { 0%,100% { opacity: .58; transform: translate(-50%, -50%) scale(.84); } 50% { opacity: 1; transform: translate(-50%, -50%) scale(1.16); } }
@keyframes lightWave { 0% { opacity: .08; transform: scale(.62); } 42% { opacity: .78; } 100% { opacity: 0; transform: scale(2.4); } }
@media(max-width:1050px) and (min-width:701px) { .hero:after { right: -28%; } .hero-object:after { width: 60%; } }
@media(max-width:700px) { .hero:after { width: 620px; height: 620px; right: -105%; top: -28%; opacity: .42; } }
@media(prefers-reduced-motion:reduce) { .hero:after, .hero-object:after, .hero-object .object-aura:before, .hero-object .object-aura:after { animation: none !important; } }


/* Visible motion system */
.hero-object-image { animation-duration: 5.2s; }

.js .work-section.visible .work-tile {
  animation: tileEntrance .82s cubic-bezier(.16, .8, .22, 1) backwards;
}
.js .work-section.visible .work-tile:nth-child(2) { animation-delay: .11s; }
.js .work-section.visible .work-tile:nth-child(3) { animation-delay: .22s; }
.js .work-section.visible .work-tile:nth-child(4) { animation-delay: .33s; }
.work-section.visible .tile-art {
  animation: tileArtHover 6s ease-in-out infinite;
  animation-delay: calc(var(--motion-index, 0) * -.75s);
}
.work-tile:nth-child(2) { --motion-index: 1; }
.work-tile:nth-child(3) { --motion-index: 2; }
.work-tile:nth-child(4) { --motion-index: 3; }

.capability-list article.visible:before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  left: -38%;
  width: 30%;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(102, 240, 223, .13), transparent);
  transform: skewX(-18deg);
  animation: capabilitySweep 1.15s cubic-bezier(.2, .7, .2, 1) both;
}
.capability-list article:nth-child(2):before { animation-delay: .1s; }
.capability-list article:nth-child(3):before { animation-delay: .2s; }
.capability-list article:nth-child(4):before { animation-delay: .3s; }

@keyframes heroBulbFloat {
  0%, 100% { transform: translate(-50%, -50%) rotate(-2deg) scale(.985); }
  50% { transform: translate(-50%, calc(-50% - 20px)) rotate(2deg) scale(1.025); }
}
@keyframes tileEntrance {
  from { opacity: 0; transform: translateY(36px) scale(.965); filter: blur(7px); }
  to { opacity: 1; transform: none; filter: blur(0); }
}
@keyframes tileArtHover {
  0%, 100% { transform: translateZ(24px) translateY(0); }
  50% { transform: translateZ(24px) translateY(-9px); }
}
@keyframes capabilitySweep {
  from { left: -38%; opacity: 0; }
  25% { opacity: 1; }
  to { left: 112%; opacity: 0; }
}

@media(max-width:700px) {
  .hero-system.hero-object {
    display: grid;
    height: 235px;
    min-height: 235px;
    margin: 28px 0 0;
    overflow: visible;
    cursor: default;
  }
  .hero-object-image {
    left: 50%;
    top: 50%;
    width: 190px;
    height: 230px;
    animation-duration: 4.6s;
  }
  .hero-object:before { width: 270px; }
  .hero-object:after { left: 50%; top: 48%; width: 205px; }
  .hero-object .object-aura { width: 205px; }
  .hero-object .object-label,
  .hero-object .object-caption { display: none; }
  .hero:after { right: -70%; top: 18%; opacity: .72; }
  .work-section.visible .tile-art { animation-duration: 5.2s; }
}

@media(prefers-reduced-motion:reduce) {
  .js .work-section.visible .work-tile,
  .work-section.visible .tile-art,
  .capability-list article.visible:before { animation: none !important; }
}

/* Keep one calm signature motion when the device requests reduced motion. */
@keyframes heroBulbFloatCalm {
  0%, 100% { transform: translate(-50%, -50%) rotate(-.5deg); }
  50% { transform: translate(-50%, calc(-50% - 7px)) rotate(.5deg); }
}
@keyframes heroLightCalm {
  0%, 100% { opacity: .55; transform: scale(.97); }
  50% { opacity: .74; transform: scale(1.025); }
}
@media(prefers-reduced-motion:reduce) {
  .hero-object-image {
    animation: heroBulbFloatCalm 8s ease-in-out infinite !important;
  }
  .hero:after {
    animation: heroLightCalm 10s ease-in-out infinite !important;
  }
}

/* Daylight editorial theme */
:root {
  color-scheme: light;
  --bg: #f7f7f4;
  --paper: #efeee9;
  --white: #111216;
  --muted: #646872;
  --line: rgba(17, 18, 22, .13);
}
html, body { background: var(--bg); }
body { color: var(--white); }
::selection { color: #fff; background: #15161a; }
.grain { opacity: .022; mix-blend-mode: multiply; }
.constellation { opacity: .2; mix-blend-mode: multiply; }
.page-progress i { background: linear-gradient(90deg, #7557ee, #18ad9e, #a8d72a); box-shadow: 0 0 14px rgba(24, 173, 158, .38); }

.site-header { color: #111216; }
.site-header.scrolled { background: rgba(247, 247, 244, .82); border-color: rgba(17, 18, 22, .09); box-shadow: 0 9px 35px rgba(28, 31, 39, .055); }
.brand-mark img { filter: none; opacity: .95; }
.brand small { color: #71747b; }
.site-header nav a { color: #4f5259; }
.site-header nav a:hover { color: #000; }
.header-cta { color: #fff; background: #111216; border-color: #111216; }
.header-cta:hover { color: #111216; background: #d7ff70; border-color: #b8e24c; box-shadow: 0 14px 35px rgba(98, 119, 38, .15); }
.header-cta span { color: #9fefdf; }
.menu-button { color: #111216; border-color: rgba(17, 18, 22, .18); }

.hero {
  background:
    radial-gradient(760px circle at 83% 46%, rgba(159, 124, 255, .11), transparent 55%),
    radial-gradient(660px circle at 65% 88%, rgba(102, 240, 223, .1), transparent 57%),
    linear-gradient(180deg, #fbfbf9 0%, #f6f6f2 100%);
}
.hero:before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: radial-gradient(circle, rgba(17, 18, 22, .08) 0 1px, transparent 1.2px); background-size: 34px 34px; mask-image: linear-gradient(90deg, rgba(0,0,0,.24), transparent 65%); }
.availability { color: #565a62; }
.availability i { box-shadow: 0 0 0 7px rgba(147, 190, 35, .11); }
.hero h1 { color: #0f1013; }
.hero h1 em { background: linear-gradient(105deg, #111216 0%, #6650d6 50%, #159e91 100%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.hero-lead { color: #60646c; }
.button-bright { color: #fff; background: #111216; }
.button-bright:hover { color: #101113; background: #d7ff70; box-shadow: 0 20px 50px rgba(109, 132, 44, .17); }
.button-quiet { color: #292c32; border-color: rgba(17, 18, 22, .18); background: rgba(255, 255, 255, .46); }
.button-quiet:hover { border-color: rgba(102, 75, 211, .38); background: rgba(159, 124, 255, .08); }
.aurora { opacity: .11; }
.hero:after { background: radial-gradient(circle, rgba(255,255,255,.64) 0 4%, rgba(215,255,112,.19) 11%, rgba(102,240,223,.18) 25%, rgba(159,124,255,.13) 43%, transparent 72%); mix-blend-mode: multiply; filter: blur(17px); }
.hero-object:before { background: radial-gradient(circle, rgba(102,240,223,.16), rgba(130,96,238,.14) 37%, transparent 70%); }
.hero-object:after { background: radial-gradient(circle, rgba(255,255,238,.7) 0 5%, rgba(215,255,112,.31) 12%, rgba(102,240,223,.2) 29%, rgba(159,124,255,.13) 48%, transparent 70%); mix-blend-mode: multiply; }
.hero-object-image { filter: brightness(1.08) saturate(1.2) contrast(1.03) drop-shadow(0 28px 36px rgba(31, 34, 43, .2)) drop-shadow(0 0 24px rgba(52, 194, 180, .25)) drop-shadow(0 0 54px rgba(112, 78, 224, .18)); }
.hero-object .object-aura { border-color: rgba(31, 156, 143, .2); box-shadow: inset 0 0 75px rgba(102,240,223,.05), 0 0 0 35px rgba(102,240,223,.05), 0 0 0 92px rgba(159,124,255,.035), 0 0 90px rgba(75,155,175,.1); }
.object-label { color: #4f535d; border-color: rgba(17,18,22,.1); background: rgba(255,255,255,.72); box-shadow: 0 10px 30px rgba(38,43,53,.09); }
.object-caption b { color: #15161a; }
.object-caption span { color: #686d76; }
.scroll-cue { color: #656971; }
.scroll-cue i { background: #c8c9c5; }

.signal-strip { color: #fff; background: #111216; border-block: 1px solid #111216; }
.signal-strip span { background: linear-gradient(110deg, #b6a4ff, #78f2e3 54%, #d7ff70); background-clip: text; -webkit-background-clip: text; color: transparent; }

.portfolio {
  color: #111216;
  background:
    radial-gradient(850px circle at 88% 5%, rgba(102, 240, 223, .12), transparent 50%),
    radial-gradient(760px circle at 3% 39%, rgba(159, 124, 255, .09), transparent 52%),
    linear-gradient(180deg, #f1f0eb, #f7f7f4 48%, #efeee9 100%);
}
.portfolio:before { background-image: linear-gradient(rgba(17,18,22,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(17,18,22,.025) 1px, transparent 1px); }
.portfolio:after { border-color: rgba(59, 157, 148, .11); box-shadow: 0 0 0 70px rgba(159,124,255,.025), 0 0 0 140px rgba(102,240,223,.025); }
.portfolio-head h2, .category h3 { color: #111216; }
.portfolio-head h2 em { background: linear-gradient(100deg, #6f4ce1, #1a9b8e); background-clip: text; -webkit-background-clip: text; color: transparent; }
.portfolio-head > p, .category p { color: #676b73; }
.portfolio .eyebrow, .category > span { color: #5e45c4; text-shadow: none; }
.work-section { border-color: rgba(17,18,22,.14); }
.category:after { background: linear-gradient(90deg, rgba(73,77,86,.25), rgba(91,66,192,.14), transparent 82%); }
.work-tile { box-shadow: 0 25px 65px rgba(25, 29, 40, .14), inset 0 1px rgba(255,255,255,.06); }
.work-tile:hover { box-shadow: 0 34px 80px rgba(25, 29, 40, .23), 0 0 38px color-mix(in srgb, var(--accent) 11%, transparent), inset 0 1px rgba(255,255,255,.09); }

.capabilities { color: #111216; background: radial-gradient(760px circle at 7% 20%, rgba(159,124,255,.1), transparent 55%), radial-gradient(620px circle at 93% 77%, rgba(102,240,223,.09), transparent 52%), #fafaf7; }
.capabilities:before { background-image: radial-gradient(circle at center, rgba(33,38,49,.1) 0 1px, transparent 1.2px); }
.capabilities h2 { color: #111216; }
.capabilities h2 em { background: linear-gradient(100deg, #6547d3, #169e91 65%, #7ea315); background-clip: text; -webkit-background-clip: text; color: transparent; }
.capability-list { border-color: rgba(17,18,22,.13); }
.capability-list article { border-color: rgba(17,18,22,.1); background: linear-gradient(120deg, rgba(255,255,255,.82), rgba(244,244,239,.62)); box-shadow: 0 13px 35px rgba(40,44,54,.04); }
.capability-list article:hover { background: #fff; border-color: rgba(63, 154, 146, .25); box-shadow: 0 18px 48px rgba(42,47,58,.09); }
.capability-list h3 { color: #141519; }
.capability-list p { color: #686c75; }
.capability-list span { color: #5d45c0; }

.contact { color: #111216; background: radial-gradient(800px circle at 88% 50%, rgba(159,124,255,.13), transparent 52%), radial-gradient(700px circle at 8% 90%, rgba(102,240,223,.1), transparent 54%), #efeee9; }
.contact:before { border-color: rgba(52,145,136,.13); box-shadow: 0 0 0 75px rgba(159,124,255,.035), 0 0 0 150px rgba(102,240,223,.025); }
.contact-halo { opacity: .33; filter: saturate(.75) drop-shadow(0 40px 80px rgba(80,64,159,.13)); }
.contact h2 { color: #111216; }
.contact h2 em { background: linear-gradient(100deg, #6749d5, #159d90); background-clip: text; -webkit-background-clip: text; color: transparent; -webkit-text-stroke: 0; }
.contact-copy > p:not(.eyebrow) { color: #60646d; }
.contact-button { color: #fff; background: #111216; border-color: #111216; box-shadow: 0 18px 45px rgba(35,38,45,.13); }
.contact-button:hover { color: #111216; background: #d7ff70; }
footer { color: #111216; background: #fbfbf8; border-color: rgba(17,18,22,.1); }
footer > div, footer > p { color: #6d7179; }
footer > p { border-color: rgba(17,18,22,.1); }

@media(max-width:1050px) {
  .site-header.open nav { color: #111216; border-color: rgba(17,18,22,.12); background: rgba(252,252,249,.96); box-shadow: 0 24px 70px rgba(28,31,38,.12); }
}
@media(max-width:700px) {
  .hero { background: radial-gradient(520px circle at 50% 70%, rgba(159,124,255,.1), transparent 60%), linear-gradient(180deg,#fbfbf9,#f5f5f1); }
  .hero:after { opacity: .48; }
}

/* Clean original bulb and compact product catalogue */
.hero:after,
.hero-object:before,
.hero-object:after,
.hero-object .object-aura,
.hero-object .object-label,
.hero-object .object-caption { display: none !important; }
.hero-object-image {
  left: 50%;
  top: 50%;
  width: min(70%, 390px);
  height: 88%;
  filter: drop-shadow(0 24px 34px rgba(31, 34, 43, .18));
}

.portfolio { padding-top: 90px; padding-bottom: 90px; }
.portfolio-head { padding-bottom: 55px; }
.work-section { padding: 26px 0 58px; }
.category { margin-bottom: 23px; }
.tile-grid { gap: 11px; }
.work-tile {
  min-height: 310px;
  padding: 14px;
  border-radius: 14px;
}
.tile-art {
  min-height: 145px;
  margin: 10px 0;
}
.tile-copy { gap: 12px; }
.tile-copy h4,
.tile-wide .tile-copy h4 { font-size: 17px; margin-bottom: 4px; }
.tile-copy p { max-width: 310px; font-size: 9px; line-height: 1.42; }
.tile-top { font-size: 6px; }
.browser-art { padding: 18px 7%; }
.browser-art strong { font-size: clamp(18px, 2vw, 27px); }
.browser-art:after { width: 190px; height: 190px; }
.pos-art > span { width: 68px; height: 68px; border-radius: 19px; font-size: 31px; }
.utility-art span { width: 52px; height: 64px; font-size: 10px; }
.mandala-art:before { width: 126px; height: 126px; }
.mandala-art:after { width: 88px; height: 88px; }
.mandala-art span { font-size: 42px; }
.zodiac-art { width: 142px; }
.zodiac-art i { transform: rotate(calc(var(--n)*72deg)) translateY(-59px); }
.jobs-art { gap: 5px; padding: 8px 16px; }
.jobs-art span { padding: 8px 10px; font-size: 9px; }
.heart-art span { font-size: 70px; }
.heart-art i { width: 115px; height: 115px; }
.amigos-art strong { font-size: 32px; }
.auction-art span { width: 52px; height: 52px; font-size: 15px; }
.patience-art i { width: 98px; height: 98px; border-width: 7px; }
.patience-art span { font-size: 25px; }
.death-art { font-size: 27px; }
.next-art i { width: 112px; height: 112px; }
.next-art span { font-size: 27px; }

@media(max-width:700px) {
  .portfolio { padding-top: 62px; padding-bottom: 62px; }
  .portfolio-head { padding-bottom: 42px; }
  .work-section { padding-bottom: 48px; }
  .work-tile { min-height: 275px; padding: 13px; }
  .tile-art { min-height: 125px; margin: 8px 0; }
  .tile-copy h4,
  .tile-wide .tile-copy h4 { font-size: 16px; }
  .tile-copy p { font-size: 8.5px; }
  .hero-object-image { width: 165px; height: 210px; }
}

/* Extra-compact cards and neutral interaction palette */
.header-cta:hover,
.button-bright:hover,
.contact-button:hover {
  color: #fff;
  background: #25262b;
  border-color: #25262b;
  box-shadow: 0 14px 34px rgba(24, 26, 31, .16);
}
.header-cta:hover span { color: #fff; }
.button-quiet:hover {
  color: #111216;
  border-color: rgba(17, 18, 22, .32);
  background: #eeeee9;
  box-shadow: 0 12px 28px rgba(25, 28, 34, .08);
}
a:focus-visible,
button:focus-visible {
  outline: 2px solid #111216;
  outline-offset: 4px;
}

.portfolio { padding-top: 76px; padding-bottom: 72px; }
.portfolio-head { padding-bottom: 46px; }
.work-section { padding: 22px 0 45px; }
.category { margin-bottom: 18px; }
.tile-grid { gap: 9px; }
.work-tile {
  min-height: 252px;
  padding: 11px;
  border-radius: 12px;
}
.tile-art {
  min-height: 102px;
  margin: 7px 0;
  border-radius: 10px;
}
.tile-copy { gap: 9px; }
.tile-copy h4,
.tile-wide .tile-copy h4 { font-size: 15px; margin-bottom: 3px; }
.tile-copy p { max-width: 290px; font-size: 8px; line-height: 1.36; }
.tile-copy > b { font-size: 6px; }
.tile-top { font-size: 5.5px; }
.browser-art { padding: 13px 6%; }
.browser-art strong { font-size: clamp(15px, 1.65vw, 23px); }
.browser-art small { margin-top: 7px; font-size: 5.5px; }
.browser-art:after { width: 145px; height: 145px; }
.pos-art > span { width: 54px; height: 54px; border-radius: 15px; font-size: 25px; }
.utility-art span { width: 43px; height: 51px; font-size: 8px; }
.mandala-art:before { width: 96px; height: 96px; }
.mandala-art:after { width: 66px; height: 66px; }
.mandala-art span { font-size: 32px; }
.zodiac-art { width: 108px; }
.zodiac-art i { width: 4px; height: 4px; transform: rotate(calc(var(--n)*72deg)) translateY(-44px); }
.zodiac-art > span { font-size: 30px; }
.jobs-art { gap: 4px; padding: 5px 12px; }
.jobs-art span { padding: 6px 8px; font-size: 7.5px; }
.heart-art span { font-size: 54px; }
.heart-art i { width: 88px; height: 88px; }
.amigos-art strong { font-size: 25px; }
.amigos-art span { font-size: 5.5px; }
.auction-art span { width: 42px; height: 42px; font-size: 12px; }
.build-art span { font-size: 20px; }
.patience-art i { width: 74px; height: 74px; border-width: 5px; }
.patience-art span { font-size: 20px; }
.patience-art small { font-size: 7px; }
.death-art { font-size: 22px; }
.next-art i { width: 84px; height: 84px; }
.next-art span { font-size: 21px; }

@media(max-width:700px) {
  .portfolio { padding-top: 54px; padding-bottom: 54px; }
  .portfolio-head { padding-bottom: 36px; }
  .work-section { padding-bottom: 38px; }
  .work-tile { min-height: 232px; padding: 11px; }
  .tile-art { min-height: 92px; margin: 6px 0; }
  .tile-copy h4,
  .tile-wide .tile-copy h4 { font-size: 15px; }
  .tile-copy p { font-size: 8px; }
}

/* Continuous three-dimensional bulb revolution */
.hero-object { perspective: 1000px; }
.hero-object-image {
  transform-origin: 50% 50%;
  animation: bulbRevolve 10s ease-in-out infinite !important;
  will-change: transform, filter;
}
@keyframes bulbRevolve {
  0%, 100% {
    transform: translate(-50%, -50%) rotateY(-14deg) rotateZ(-1deg) translateY(0);
    filter: brightness(1) drop-shadow(0 24px 34px rgba(31, 34, 43, .18));
  }
  25% {
    transform: translate(-50%, -50%) rotateY(0deg) rotateZ(.35deg) translateY(-8px) scale(1.015);
    filter: brightness(1.08) drop-shadow(-10px 27px 37px rgba(31, 34, 43, .15));
  }
  50% {
    transform: translate(-50%, -50%) rotateY(14deg) rotateZ(1deg) translateY(-2px);
    filter: brightness(1.02) drop-shadow(10px 24px 34px rgba(31, 34, 43, .18));
  }
  75% {
    transform: translate(-50%, -50%) rotateY(0deg) rotateZ(-.35deg) translateY(-10px) scale(1.015);
    filter: brightness(1.09) drop-shadow(0 29px 39px rgba(31, 34, 43, .14));
  }
}
@media(prefers-reduced-motion:reduce) {
  .hero-object-image { animation-duration: 14s !important; }
}

/* Refined studio signal and roaming stuntman */
.availability i {
  position: relative;
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  border: 1px solid rgba(22, 133, 123, .35);
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 0 0 4px rgba(22, 133, 123, .055);
  animation: none;
}
.availability i:before {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: #16857b;
  box-shadow: 0 0 8px rgba(22, 133, 123, .48);
}
.availability i:after {
  content: "";
  position: absolute;
  inset: -1px;
  border: 1px solid rgba(22, 133, 123, .3);
  border-radius: 50%;
  animation: studioSignal 2.6s ease-out infinite;
}
@keyframes studioSignal {
  0% { opacity: .75; transform: scale(.72); }
  75%, 100% { opacity: 0; transform: scale(1.85); }
}

.page-stuntman {
  position: fixed;
  z-index: 44;
  left: calc(78vw - 18px);
  top: 38vh;
  width: 36px;
  height: 54px;
  pointer-events: none;
  transform-origin: 50% 100%;
  filter: drop-shadow(0 5px 4px rgba(22, 25, 31, .18));
  opacity: 0;
  transition: opacity .35s ease;
  will-change: left, top, transform;
}
.page-stuntman.ready { opacity: 1; }
.page-stuntman svg { position: relative; z-index: 2; width: 100%; height: 100%; overflow: visible; }
.stunt-body { fill: #f7f7f4; stroke: #111216; stroke-width: 2.35; stroke-linecap: round; stroke-linejoin: round; }
.stunt-helmet { fill: #67e5d6; stroke: #111216; }
.stunt-board { fill: none; stroke-width: 2.8; }
.stunt-shadow {
  position: absolute;
  z-index: 1;
  left: 7px;
  bottom: -2px;
  width: 25px;
  height: 5px;
  border-radius: 50%;
  background: rgba(17, 18, 22, .2);
  filter: blur(2px);
  transform-origin: center;
}
.page-stuntman.landed .stunt-body { animation: stuntLand .34s cubic-bezier(.2,.8,.2,1); }
.page-stuntman.landed .stunt-shadow { animation: stuntShadow .34s ease; }
@keyframes stuntLand {
  0% { transform: translateY(-5px) scaleY(1.06); }
  45% { transform: translateY(2px) scaleY(.86) scaleX(1.08); }
  100% { transform: none; }
}
@keyframes stuntShadow {
  0% { opacity: .15; transform: scale(.55); }
  55% { opacity: .5; transform: scale(1.15); }
  100% { opacity: 1; transform: none; }
}
@media(max-width:700px) {
  .page-stuntman { width: 29px; height: 44px; z-index: 42; }
  .stunt-body { stroke-width: 2.7; }
  .stunt-shadow { left: 5px; width: 21px; }
}
@media(prefers-reduced-motion:reduce) {
  .availability i:after { animation-duration: 4.5s !important; animation-iteration-count: infinite !important; }
  .page-stuntman.landed .stunt-body,
  .page-stuntman.landed .stunt-shadow { animation-duration: .45s !important; }
}

/* Articulated gravity stuntman */
.stunt-torso,
.stunt-limb path { fill: none; }
.stunt-limb { transform-box: fill-box; }
.stunt-arm-left { transform-origin: 100% 0%; }
.stunt-arm-right { transform-origin: 0% 0%; }
.stunt-leg-left,
.stunt-leg-right { transform-origin: 50% 0%; }
.page-stuntman.running .stunt-body { animation: stuntRunBob .26s ease-in-out infinite alternate !important; }
.page-stuntman.running .stunt-arm-left { animation: stuntLimbForward .28s ease-in-out infinite alternate !important; }
.page-stuntman.running .stunt-arm-right { animation: stuntLimbBack .28s ease-in-out infinite alternate !important; }
.page-stuntman.running .stunt-leg-left { animation: stuntLimbBack .28s ease-in-out infinite alternate !important; }
.page-stuntman.running .stunt-leg-right { animation: stuntLimbForward .28s ease-in-out infinite alternate !important; }
.page-stuntman.jumping .stunt-arm-left { animation: stuntAirLeft .52s ease-in-out infinite alternate !important; }
.page-stuntman.jumping .stunt-arm-right { animation: stuntAirRight .52s ease-in-out infinite alternate !important; }
.page-stuntman.jumping .stunt-leg-left { animation: stuntAirRight .44s ease-in-out infinite alternate !important; }
.page-stuntman.jumping .stunt-leg-right { animation: stuntAirLeft .44s ease-in-out infinite alternate !important; }
.page-stuntman.jumping .stunt-shadow { opacity: .12; transform: scale(.58); }
@keyframes stuntRunBob { to { transform: translateY(-2px) rotate(.8deg); } }
@keyframes stuntLimbForward { from { transform: rotate(-30deg); } to { transform: rotate(35deg); } }
@keyframes stuntLimbBack { from { transform: rotate(34deg); } to { transform: rotate(-31deg); } }
@keyframes stuntAirLeft { from { transform: rotate(-48deg); } to { transform: rotate(-15deg); } }
@keyframes stuntAirRight { from { transform: rotate(18deg); } to { transform: rotate(52deg); } }

/* Grounded runner: no board or artificial landing pad */
.stunt-shadow,
.stunt-board { display: none !important; }
.stunt-body circle:not(:first-of-type) { fill: #111216; stroke: none; }
.page-stuntman.landed .stunt-body { animation: realisticLand .3s cubic-bezier(.18,.8,.2,1) !important; }
@keyframes realisticLand {
  0% { transform: translateY(-4px) scaleY(1.04); }
  45% { transform: translateY(1px) scaleY(.91) scaleX(1.04); }
  100% { transform: none; }
}
.header-cta b,
.button b { font: inherit; }

/* Micro-card catalogue */
.tile-grid,
.tile-grid-three,
.tile-grid-four,
.tile-grid-products {
  grid-template-columns: repeat(auto-fill, minmax(224px, 1fr));
  gap: 8px;
}
.tile-wide { grid-column: auto; }
.work-tile {
  min-height: 210px;
  max-width: 310px;
  padding: 9px;
  border-radius: 11px;
}
.tile-art {
  min-height: 76px;
  margin: 5px 0;
  border-radius: 8px;
}
.tile-copy { gap: 7px; }
.tile-copy h4,
.tile-wide .tile-copy h4 { font-size: 13.5px; margin-bottom: 2px; }
.tile-copy p { max-width: 255px; font-size: 7.25px; line-height: 1.32; }
.tile-copy > b { font-size: 5.5px; }
.tile-top { font-size: 5px; }
.browser-art strong { font-size: clamp(13px, 1.4vw, 19px); }
.browser-art:after { width: 110px; height: 110px; }
.pos-art > span { width: 45px; height: 45px; border-radius: 13px; font-size: 21px; }
.utility-art span { width: 37px; height: 44px; font-size: 7px; }
.mandala-art:before { width: 76px; height: 76px; }
.mandala-art:after { width: 52px; height: 52px; }
.mandala-art span { font-size: 27px; }
.zodiac-art { width: 84px; }
.zodiac-art i { transform: rotate(calc(var(--n)*72deg)) translateY(-34px); }
.zodiac-art > span { font-size: 25px; }
.jobs-art span { padding: 4px 7px; font-size: 6.5px; }
.heart-art span { font-size: 44px; }
.heart-art i { width: 68px; height: 68px; }
.amigos-art strong { font-size: 21px; }
.auction-art span { width: 34px; height: 34px; font-size: 10px; }
.build-art span { font-size: 17px; }
.patience-art i { width: 58px; height: 58px; border-width: 4px; }
.patience-art span { font-size: 17px; }
.death-art { font-size: 18px; }
.next-art i { width: 65px; height: 65px; }
.next-art span { font-size: 18px; }
@media(max-width:700px) {
  .tile-grid,
  .tile-grid-three,
  .tile-grid-four,
  .tile-grid-products { grid-template-columns: 1fr; }
  .work-tile { width: 100%; max-width: none; min-height: 205px; }
  .tile-art { min-height: 73px; }
}
.work-tile[hidden] { display: none !important; }

/* Rendering and motion performance */
.hero-object picture { display: contents; }
.work-section,
.capabilities,
.contact {
  content-visibility: auto;
  contain-intrinsic-size: auto 680px;
}
.work-tile { contain: layout paint style; }
.hero:not(.motion-active) .hero-object-image,
.hero:not(.motion-active) .aurora,
.work-section:not(.motion-active) *,
.capabilities:not(.motion-active) *,
.contact:not(.motion-active) * {
  animation-play-state: paused !important;
}

/* Periodic invitation cue for the primary contact action */
.build-cta {
  position: relative;
  isolation: isolate;
  overflow: visible;
  animation: buildCtaGlow 6s ease-in-out 1.4s infinite;
}
.build-cta::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -5px;
  border: 1px solid rgba(102, 75, 211, .42);
  border-radius: 12px;
  opacity: 0;
  pointer-events: none;
  animation: buildCtaRing 6s ease-out 1.4s infinite;
}
.build-cta span {
  animation: buildCtaArrow 6s ease-in-out 1.4s infinite;
}
.build-cta:hover,
.build-cta:focus-visible {
  animation-play-state: paused;
}
.build-cta:hover::after,
.build-cta:focus-visible::after,
.build-cta:hover span,
.build-cta:focus-visible span {
  animation-play-state: paused;
}
@keyframes buildCtaGlow {
  0%, 12%, 34%, 100% { box-shadow: 0 0 0 rgba(102, 75, 211, 0); }
  18% { box-shadow: 0 12px 30px rgba(102, 75, 211, .16), 0 0 0 4px rgba(102, 75, 211, .05); }
  25% { box-shadow: 0 8px 22px rgba(102, 75, 211, .09), 0 0 0 2px rgba(102, 75, 211, .03); }
}
@keyframes buildCtaRing {
  0%, 10%, 34%, 100% { opacity: 0; transform: scale(.96); }
  15% { opacity: .65; transform: scale(1); }
  28% { opacity: 0; transform: scale(1.075); }
}
@keyframes buildCtaArrow {
  0%, 12%, 30%, 100% { transform: translate(0, 0); }
  17%, 23% { transform: translate(4px, -4px); }
  20%, 26% { transform: translate(1px, -1px); }
}
@media (prefers-reduced-motion: reduce) {
  .build-cta,
  .build-cta::after,
  .build-cta span { animation: none !important; }
  .build-cta { box-shadow: 0 0 0 3px rgba(102, 75, 211, .08); }
}

/* Constant, minimal invitation cue */
.build-cta {
  animation: buildCtaQuietPulse 2.8s ease-in-out infinite;
}
.build-cta::after {
  inset: -3px;
  border-color: rgba(102, 75, 211, .26);
  opacity: .32;
  animation: buildCtaQuietHalo 2.8s ease-in-out infinite;
}
.build-cta span {
  animation: buildCtaQuietArrow 1.8s ease-in-out infinite;
}
.build-cta:hover,
.build-cta:focus-visible,
.build-cta:hover::after,
.build-cta:focus-visible::after,
.build-cta:hover span,
.build-cta:focus-visible span {
  animation-play-state: running;
}
@keyframes buildCtaQuietPulse {
  0%, 100% { border-color: rgba(17, 18, 22, .18); box-shadow: 0 5px 14px rgba(102, 75, 211, .025); }
  50% { border-color: rgba(102, 75, 211, .34); box-shadow: 0 8px 22px rgba(102, 75, 211, .11); }
}
@keyframes buildCtaQuietHalo {
  0%, 100% { opacity: .18; transform: scale(.995); }
  50% { opacity: .48; transform: scale(1.012); }
}
@keyframes buildCtaQuietArrow {
  0%, 100% { transform: translate(0, 0); }
  50% { transform: translate(2px, -2px); }
}
@media (prefers-reduced-motion: reduce) {
  .build-cta { animation: buildCtaQuietPulse 3.8s ease-in-out infinite !important; }
  .build-cta::after { animation: none !important; opacity: .28; transform: none; }
  .build-cta span { animation: none !important; }
}

/* A tiny spark traces the invitation button without moving the button itself */
.build-cta {
  animation: buildCtaQuietPulse 3.2s ease-in-out infinite;
}
.build-cta::after {
  content: "";
  position: absolute;
  z-index: 3;
  inset: auto;
  left: 12px;
  top: 0;
  width: 6px;
  height: 6px;
  border: 0;
  border-radius: 50%;
  background: #7d5ce2;
  opacity: .92;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 0 3px rgba(125, 92, 226, .10), 0 0 12px rgba(125, 92, 226, .62);
  animation: ctaSparkOrbit 5.8s linear infinite;
}
.build-cta span {
  animation: buildCtaQuietArrow 1.8s ease-in-out infinite;
}
@keyframes ctaSparkOrbit {
  0%, 10% { left: 12px; top: 0; }
  36% { left: calc(100% - 12px); top: 0; }
  40% { left: 100%; top: 12px; }
  54% { left: 100%; top: calc(100% - 12px); }
  58% { left: calc(100% - 12px); top: 100%; }
  74% { left: 12px; top: 100%; }
  78% { left: 0; top: calc(100% - 12px); }
  88% { left: 0; top: 12px; }
  92%, 100% { left: 12px; top: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .build-cta { animation: none !important; box-shadow: 0 6px 18px rgba(102, 75, 211, .08); }
  .build-cta::after {
    left: auto;
    right: 8px;
    top: 8px;
    animation: ctaSparkBreathe 2.8s ease-in-out infinite !important;
  }
  .build-cta span { animation: none !important; }
}
@keyframes ctaSparkBreathe {
  0%, 100% { opacity: .48; box-shadow: 0 0 0 2px rgba(125, 92, 226, .08), 0 0 7px rgba(125, 92, 226, .28); }
  50% { opacity: .92; box-shadow: 0 0 0 4px rgba(125, 92, 226, .10), 0 0 12px rgba(125, 92, 226, .5); }
}

/* Floating direct-contact control */
.floating-contact {
  position: fixed;
  z-index: 92;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  font-family: var(--sans);
}
.floating-contact > summary {
  list-style: none;
  min-width: 126px;
  height: 48px;
  padding: 0 16px 0 11px;
  display: flex;
  align-items: center;
  gap: 9px;
  cursor: pointer;
  color: #fff;
  background: #15161a;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  box-shadow: 0 14px 36px rgba(21,22,26,.24);
  font: 700 11px var(--display);
  letter-spacing: -.01em;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.floating-contact > summary::-webkit-details-marker { display: none; }
.floating-contact > summary > span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  color: #191a1d;
  background: #d7ff70;
  border-radius: 50%;
  box-shadow: 0 0 0 0 rgba(215,255,112,.22);
  animation: floatingContactSignal 2.6s ease-in-out infinite;
}
.floating-contact > summary:hover,
.floating-contact > summary:focus-visible,
.floating-contact[open] > summary {
  transform: translateY(-2px);
  background: #24252a;
  box-shadow: 0 18px 44px rgba(21,22,26,.3);
  outline: none;
}
.floating-contact-menu {
  position: absolute;
  right: 0;
  bottom: calc(100% + 10px);
  width: min(292px, calc(100vw - 28px));
  padding: 8px;
  display: grid;
  gap: 6px;
  background: rgba(250,250,247,.96);
  border: 1px solid rgba(17,18,22,.12);
  border-radius: 16px;
  box-shadow: 0 22px 60px rgba(21,22,26,.2);
  backdrop-filter: blur(18px);
  transform-origin: right bottom;
  animation: floatingContactOpen .2s ease-out both;
}
.floating-contact-menu a {
  min-height: 58px;
  padding: 9px 10px;
  display: flex;
  align-items: center;
  gap: 11px;
  color: #1b1c20;
  border-radius: 11px;
  transition: background .2s ease, transform .2s ease;
}
.floating-contact-menu a:hover,
.floating-contact-menu a:focus-visible {
  background: #efefe9;
  transform: translateX(-2px);
  outline: none;
}
.contact-option-icon {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  font: 800 15px var(--display);
}
.whatsapp-icon { color: #0f5d34; background: #dff5e7; }
.email-icon { color: #513ca0; background: #ece7ff; }
.floating-contact-menu a > span:last-child { min-width: 0; display: grid; gap: 3px; }
.floating-contact-menu b { font: 700 11px var(--display); }
.floating-contact-menu small { color: #6c6e74; font-size: 10px; overflow-wrap: anywhere; }
@keyframes floatingContactSignal {
  0%,100% { box-shadow: 0 0 0 0 rgba(215,255,112,.14); }
  50% { box-shadow: 0 0 0 5px rgba(215,255,112,.07); }
}
@keyframes floatingContactOpen {
  from { opacity: 0; transform: translateY(8px) scale(.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@media(max-width:700px) {
  .floating-contact {
    right: max(12px, env(safe-area-inset-right));
    bottom: max(12px, env(safe-area-inset-bottom));
  }
  .floating-contact > summary { min-width: 118px; height: 44px; padding-right: 14px; }
  .floating-contact > summary > span { width: 25px; height: 25px; }
}
@media(prefers-reduced-motion:reduce) {
  .floating-contact > summary > span,
  .floating-contact-menu { animation: none !important; }
}

/* Direct icon-only contact dock */
.floating-contact {
  position: fixed;
  z-index: 92;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  padding: 6px;
  display: flex;
  align-items: center;
  gap: 6px;
  background: rgba(250,250,247,.9);
  border: 1px solid rgba(17,18,22,.12);
  border-radius: 999px;
  box-shadow: 0 16px 42px rgba(21,22,26,.18);
  backdrop-filter: blur(18px);
}
.floating-contact-action {
  width: 43px;
  height: 43px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.floating-contact-action svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}
.floating-whatsapp {
  color: #fff;
  background: #1f9d5a;
  box-shadow: 0 8px 18px rgba(31,157,90,.2);
}
.floating-email {
  color: #fff;
  background: #6750c7;
  box-shadow: 0 8px 18px rgba(103,80,199,.2);
}
.floating-contact-action:hover,
.floating-contact-action:focus-visible {
  transform: translateY(-3px);
  filter: brightness(1.06);
  outline: none;
}
.floating-contact-action:focus-visible { box-shadow: 0 0 0 3px rgba(255,255,255,.94), 0 0 0 5px rgba(103,80,199,.28); }
@media(max-width:700px) {
  .floating-contact {
    right: max(12px, env(safe-area-inset-right));
    bottom: max(12px, env(safe-area-inset-bottom));
    padding: 5px;
  }
  .floating-contact-action { width: 41px; height: 41px; }
  .floating-contact-action svg { width: 19px; height: 19px; }
}
@media(prefers-reduced-motion:reduce) {
  .floating-contact-action { transition: none; }
}

/* Restore the quiet, continuous Build something cue */
.build-cta {
  animation: buildCtaQuietPulse 3.2s ease-in-out infinite;
}
.build-cta::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: -3px;
  right: -3px;
  bottom: -3px;
  left: -3px;
  width: auto;
  height: auto;
  border: 1px solid rgba(102,75,211,.25);
  border-radius: 11px;
  background: transparent;
  opacity: .28;
  transform: none;
  box-shadow: none;
  animation: buildCtaQuietHalo 3.2s ease-in-out infinite;
}
.build-cta span { animation: buildCtaQuietArrow 2s ease-in-out infinite; }

/* One premium contact button; the two contact methods appear after opening */
.floating-contact {
  position: fixed;
  z-index: 92;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  display: block;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 50%;
  box-shadow: none;
  backdrop-filter: none;
}
.floating-contact > summary {
  width: 52px;
  min-width: 52px;
  height: 52px;
  padding: 0;
  display: grid;
  place-items: center;
  list-style: none;
  cursor: pointer;
  color: #fff;
  background: #17181c;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
  box-shadow: 0 14px 34px rgba(21,22,26,.25);
  transition: transform .22s ease, background .22s ease, box-shadow .22s ease;
}
.floating-contact > summary::-webkit-details-marker { display: none; }
.floating-contact > summary svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.floating-contact > summary .contact-spark {
  fill: #d7ff70;
  stroke: none;
}
.floating-contact > summary:hover,
.floating-contact > summary:focus-visible,
.floating-contact[open] > summary {
  transform: translateY(-2px);
  background: #24252a;
  box-shadow: 0 18px 40px rgba(21,22,26,.3);
  outline: none;
}
.floating-contact[open] > summary { transform: rotate(4deg); }
.floating-contact-menu {
  position: absolute;
  right: 0;
  bottom: calc(100% + 10px);
  width: auto;
  padding: 6px;
  display: flex;
  grid-template-columns: none;
  gap: 6px;
  background: rgba(250,250,247,.98);
  border: 1px solid rgba(17,18,22,.12);
  border-radius: 999px;
  box-shadow: 0 18px 48px rgba(21,22,26,.2);
  backdrop-filter: none;
  transform-origin: right bottom;
  animation: floatingContactOpen .18s ease-out both;
}
.floating-contact-menu .floating-contact-action {
  min-height: 0;
  padding: 0;
  display: grid;
  transform: none;
}
.floating-contact-menu .floating-contact-action:hover,
.floating-contact-menu .floating-contact-action:focus-visible {
  transform: translateY(-2px);
  background: inherit;
}
.floating-contact-action {
  width: 43px;
  height: 43px;
  border-radius: 50%;
}
.floating-contact-action svg { width: 20px; height: 20px; fill: currentColor; }

/* Keep content scrolling on the compositor; decorative work waits until scrolling settles */
html.is-scrolling .page-stuntman {
  opacity: .12 !important;
  transition-duration: .1s;
}
html.is-scrolling .page-stuntman *,
html.is-scrolling .hero-object-image,
html.is-scrolling .hero::after,
html.is-scrolling .hero-object::after,
html.is-scrolling .portfolio::after,
html.is-scrolling .work-tile::after,
html.is-scrolling .contact::before,
html.is-scrolling .availability i::after {
  animation-play-state: paused !important;
}
@media(max-width:700px) {
  .floating-contact {
    right: max(12px, env(safe-area-inset-right));
    bottom: max(12px, env(safe-area-inset-bottom));
  }
  .floating-contact > summary { width: 48px; min-width: 48px; height: 48px; }
  .floating-contact > summary svg { width: 22px; height: 22px; }
  .floating-contact-action { width: 40px; height: 40px; }
}
@media(prefers-reduced-motion:reduce) {
  .build-cta { animation: buildCtaQuietPulse 4s ease-in-out infinite !important; }
  .build-cta::after { animation: none !important; opacity: .3; }
  .build-cta span { animation: none !important; }
  .floating-contact > summary,
  .floating-contact-menu,
  .floating-contact-action { animation: none !important; transition: none !important; }
}

/* Premium contact glyph treatment */
.floating-contact-menu {
  padding: 7px;
  gap: 7px;
  background: rgba(20,21,25,.94);
  border-color: rgba(255,255,255,.13);
  box-shadow: 0 22px 58px rgba(10,11,14,.3), inset 0 1px 0 rgba(255,255,255,.08);
}
.floating-contact-action {
  position: relative;
  overflow: hidden;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 10px 22px rgba(10,11,14,.2);
}
.floating-contact-action::before {
  content: "";
  position: absolute;
  inset: 2px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 50%;
  pointer-events: none;
}
.floating-contact-action svg {
  position: relative;
  z-index: 1;
  width: 21px;
  height: 21px;
}
.floating-whatsapp {
  color: #fff;
  background: linear-gradient(145deg,#35dc79 0%,#1caf61 48%,#087a50 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.24), 0 10px 24px rgba(16,143,82,.28);
}
.floating-whatsapp svg { fill: currentColor; }
.floating-email {
  color: #f9e7ae;
  background: linear-gradient(145deg,#34313f 0%,#24212d 52%,#15151b 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 10px 24px rgba(20,18,28,.28);
}
.floating-email svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.floating-contact-menu .floating-contact-action:hover,
.floating-contact-menu .floating-contact-action:focus-visible {
  transform: translateY(-2px) scale(1.035);
  filter: brightness(1.07);
}
@media(max-width:700px) {
  .floating-contact-action { width: 41px; height: 41px; }
  .floating-contact-action svg { width: 20px; height: 20px; }
}

/* Custom generated premium contact icons */
.floating-contact-menu {
  padding: 6px;
  gap: 5px;
  background: rgba(252,252,249,.98);
  border-color: rgba(17,18,22,.12);
  box-shadow: 0 18px 50px rgba(16,17,20,.2), inset 0 1px 0 #fff;
}
.floating-contact-action,
.floating-whatsapp,
.floating-email {
  width: 45px;
  height: 45px;
  color: inherit;
  background: linear-gradient(145deg,#fff 0%,#f5f4ef 100%);
  border: 1px solid rgba(17,18,22,.1);
  box-shadow: inset 0 1px 0 #fff, 0 7px 17px rgba(17,18,22,.1);
}
.floating-contact-action::before {
  inset: 3px;
  border-color: rgba(17,18,22,.05);
}
.floating-contact-action img {
  position: relative;
  z-index: 1;
  display: block;
  width: 28px;
  height: 28px;
  object-fit: contain;
}
.floating-email img { width: 26px; height: 26px; }
.floating-contact-menu .floating-contact-action:hover,
.floating-contact-menu .floating-contact-action:focus-visible {
  transform: translateY(-2px) scale(1.03);
  background: #fff;
  border-color: rgba(88,65,180,.22);
  box-shadow: inset 0 1px 0 #fff, 0 10px 24px rgba(47,42,69,.14);
  filter: none;
}
@media(max-width:700px) {
  .floating-contact-action,
  .floating-whatsapp,
  .floating-email { width: 42px; height: 42px; }
  .floating-contact-action img { width: 26px; height: 26px; }
  .floating-email img { width: 24px; height: 24px; }
}

/* Headline words become physical rungs for the climbing performer */
.stunt-word { display: inline-block; position: relative; }
.page-stuntman.climbing .stunt-body {
  animation: stuntClimbBody .42s ease-in-out infinite alternate !important;
}
.page-stuntman.climbing .stunt-arm-left {
  animation: stuntClimbReachLeft .42s ease-in-out infinite alternate !important;
}
.page-stuntman.climbing .stunt-arm-right {
  animation: stuntClimbReachRight .42s ease-in-out infinite alternate !important;
}
.page-stuntman.climbing .stunt-leg-left {
  animation: stuntClimbStepRight .42s ease-in-out infinite alternate !important;
}
.page-stuntman.climbing .stunt-leg-right {
  animation: stuntClimbStepLeft .42s ease-in-out infinite alternate !important;
}
.page-stuntman.climbing svg {
  filter: drop-shadow(0 3px 2px rgba(17,18,22,.13));
}
@keyframes stuntClimbBody {
  from { transform: translateX(-1px) rotate(-2deg); }
  to { transform: translateX(1px) rotate(2deg); }
}
@keyframes stuntClimbReachLeft {
  from { transform: rotate(-54deg); }
  to { transform: rotate(18deg); }
}
@keyframes stuntClimbReachRight {
  from { transform: rotate(20deg); }
  to { transform: rotate(-52deg); }
}
@keyframes stuntClimbStepLeft {
  from { transform: rotate(-30deg); }
  to { transform: rotate(24deg); }
}
@keyframes stuntClimbStepRight {
  from { transform: rotate(24deg); }
  to { transform: rotate(-30deg); }
}
@media(prefers-reduced-motion:reduce) {
  .page-stuntman.climbing .stunt-body,
  .page-stuntman.climbing .stunt-limb { animation-duration: .8s !important; }
}

/* A playful human pause when the performer reaches the cursor */
.page-stuntman.watching .stunt-body {
  animation: stuntWatchBob .7s ease-in-out infinite alternate !important;
}
.page-stuntman.watching .stunt-arm-right {
  animation: stuntFriendlyWave .46s ease-in-out infinite alternate !important;
}
.page-stuntman.watching .stunt-arm-left {
  transform: rotate(-12deg);
}
@keyframes stuntWatchBob {
  from { transform: translateY(0) rotate(-1deg); }
  to { transform: translateY(-2px) rotate(1deg); }
}
@keyframes stuntFriendlyWave {
  from { transform: rotate(-62deg); }
  to { transform: rotate(-22deg); }
}

/* Physics states: air steering, reverse climbing, swinging and free fall */
.page-stuntman .stunt-rope {
  position: absolute;
  z-index: 1;
  left: 50%;
  bottom: 34px;
  width: 2px;
  height: 64px;
  border-radius: 999px;
  opacity: 0;
  pointer-events: none;
  transform-origin: 50% 100%;
  background: linear-gradient(to top, rgba(28,30,36,.82), rgba(28,30,36,.12));
}
.page-stuntman.swinging .stunt-rope {
  opacity: .68;
  animation: stuntRopeSway .72s ease-in-out infinite alternate;
}
.page-stuntman.swinging .stunt-body { animation: stuntSwingBody .72s ease-in-out infinite alternate !important; }
.page-stuntman.swinging .stunt-arm-left,
.page-stuntman.swinging .stunt-arm-right { animation: stuntHoldRope .34s ease-in-out infinite alternate !important; }
.page-stuntman.swinging .stunt-leg-left { animation: stuntSwingKickLeft .52s ease-in-out infinite alternate !important; }
.page-stuntman.swinging .stunt-leg-right { animation: stuntSwingKickRight .52s ease-in-out infinite alternate !important; }
.page-stuntman.climbing-down .stunt-body,
.page-stuntman.climbing-down .stunt-limb { animation-direction: alternate-reverse !important; }
.page-stuntman.jumping.air-left .stunt-body,
.page-stuntman.falling.air-left .stunt-body { animation: stuntSwimLeft .44s ease-in-out infinite alternate !important; }
.page-stuntman.jumping.air-right .stunt-body,
.page-stuntman.falling.air-right .stunt-body { animation: stuntSwimRight .44s ease-in-out infinite alternate !important; }
.page-stuntman.falling .stunt-arm-left,
.page-stuntman.jumping.air-left .stunt-arm-left,
.page-stuntman.jumping.air-right .stunt-arm-left { animation: stuntAirPaddleLeft .38s ease-in-out infinite alternate !important; }
.page-stuntman.falling .stunt-arm-right,
.page-stuntman.jumping.air-left .stunt-arm-right,
.page-stuntman.jumping.air-right .stunt-arm-right { animation: stuntAirPaddleRight .38s ease-in-out infinite alternate !important; }
.page-stuntman.falling .stunt-leg-left,
.page-stuntman.jumping.air-left .stunt-leg-left,
.page-stuntman.jumping.air-right .stunt-leg-left { animation: stuntFlutterLeft .3s ease-in-out infinite alternate !important; }
.page-stuntman.falling .stunt-leg-right,
.page-stuntman.jumping.air-left .stunt-leg-right,
.page-stuntman.jumping.air-right .stunt-leg-right { animation: stuntFlutterRight .3s ease-in-out infinite alternate !important; }
@keyframes stuntRopeSway { from { transform: rotate(-8deg); } to { transform: rotate(8deg); } }
@keyframes stuntSwingBody { from { transform: rotate(-7deg) translateY(1px); } to { transform: rotate(7deg) translateY(-1px); } }
@keyframes stuntHoldRope { from { transform: rotate(-76deg); } to { transform: rotate(-62deg); } }
@keyframes stuntSwingKickLeft { from { transform: rotate(-36deg); } to { transform: rotate(28deg); } }
@keyframes stuntSwingKickRight { from { transform: rotate(28deg); } to { transform: rotate(-36deg); } }
@keyframes stuntSwimLeft { from { transform: rotate(-11deg); } to { transform: rotate(-5deg) translateY(-1px); } }
@keyframes stuntSwimRight { from { transform: rotate(11deg); } to { transform: rotate(5deg) translateY(-1px); } }
@keyframes stuntAirPaddleLeft { from { transform: rotate(-78deg); } to { transform: rotate(30deg); } }
@keyframes stuntAirPaddleRight { from { transform: rotate(34deg); } to { transform: rotate(-74deg); } }
@keyframes stuntFlutterLeft { from { transform: rotate(-34deg); } to { transform: rotate(26deg); } }
@keyframes stuntFlutterRight { from { transform: rotate(26deg); } to { transform: rotate(-34deg); } }

/* Custom lady cursor and the rose handoff when both characters meet */
.lady-cursor {
  position: fixed;
  z-index: 110;
  top: 0;
  left: 0;
  width: 36px;
  height: 50px;
  opacity: 0;
  pointer-events: none;
  transform: translate3d(-80px,-80px,0);
  transition: opacity .18s ease, filter .18s ease;
  will-change: transform;
}
.lady-cursor svg { width: 100%; height: 100%; overflow: visible; filter: drop-shadow(0 4px 4px rgba(18,20,26,.16)); }
.lady-body { transform-origin: 20px 30px; }
.lady-hair,.lady-ponytail { fill: #24222a; stroke: #24222a; stroke-width: 1.5; }
.lady-face { fill: #f7d9c7; stroke: #24222a; stroke-width: 1.75; }
.lady-torso,.lady-limb { fill: none; stroke: #24222a; stroke-width: 2.25; stroke-linecap: round; stroke-linejoin: round; transform-box: fill-box; transform-origin: center; }
.lady-skirt { fill: #d94a67; stroke: #24222a; stroke-width: 1.8; stroke-linejoin: round; }
.lady-cursor.visible { opacity: 1; }
.lady-cursor.over-action svg { filter: drop-shadow(0 4px 5px rgba(18,20,26,.2)) drop-shadow(0 0 7px rgba(217,74,103,.28)); }
.lady-cursor.over-action .lady-body { transform: scale(1.06); }
.lady-heart {
  position: absolute;
  left: 24px;
  top: -8px;
  color: #d72d50;
  font: 700 12px/1 sans-serif;
  opacity: 0;
}
.lady-cursor.receiving-rose .lady-arm-right { animation: ladyReceiveRose .48s ease-in-out infinite alternate; }
.lady-cursor.receiving-rose .lady-body { animation: ladyHappyBounce .62s ease-in-out infinite alternate; }
.lady-cursor.receiving-rose .lady-heart { animation: ladyHeartFloat 1.25s ease-out infinite; }
.stunt-rose {
  position: absolute;
  z-index: 4;
  left: 20px;
  top: 22px;
  width: 12px;
  height: 12px;
  opacity: 0;
  pointer-events: none;
  transform-origin: 50% 100%;
}
.stunt-rose::before {
  content: "";
  position: absolute;
  left: 1px;
  top: -3px;
  width: 11px;
  height: 11px;
  border-radius: 65% 45% 60% 45%;
  background: #df244d;
  box-shadow: -4px 2px 0 -1px #f0526f, 4px 2px 0 -1px #bb1738, 0 -4px 0 -1px #f0526f, 0 0 8px rgba(223,36,77,.45);
}
.stunt-rose b {
  position: absolute;
  left: 6px;
  top: 8px;
  width: 2px;
  height: 22px;
  border-radius: 2px;
  background: #397344;
  transform: rotate(-14deg);
  transform-origin: top;
}
.page-stuntman.offering-rose .stunt-arm-right { animation: boyOfferArm .52s ease-in-out infinite alternate !important; }
.page-stuntman.offering-rose .stunt-rose { animation: giveRose 2.8s cubic-bezier(.25,.7,.2,1) infinite; }
@keyframes ladyReceiveRose { from { transform: rotate(-35deg); } to { transform: rotate(-72deg); } }
@keyframes ladyHappyBounce { from { transform: translateY(0) rotate(-1deg); } to { transform: translateY(-2px) rotate(2deg); } }
@keyframes ladyHeartFloat { 0% { opacity: 0; transform: translateY(5px) scale(.6); } 24% { opacity: 1; } 100% { opacity: 0; transform: translateY(-14px) scale(1.08); } }
@keyframes boyOfferArm { from { transform: rotate(-18deg); } to { transform: rotate(-56deg); } }
@keyframes giveRose {
  0% { opacity: 0; transform: translate(0,4px) rotate(-18deg) scale(.72); }
  8%,30% { opacity: 1; transform: translate(0,0) rotate(-12deg) scale(1); }
  56%,80% { opacity: 1; transform: translate(var(--rose-x),var(--rose-y)) rotate(6deg) scale(1.08); }
  100% { opacity: 0; transform: translate(var(--rose-x),calc(var(--rose-y) - 5px)) rotate(10deg) scale(.82); }
}
@media (hover:hover) and (pointer:fine) {
  html.lady-cursor-active,
  html.lady-cursor-active body,
  html.lady-cursor-active a,
  html.lady-cursor-active button,
  html.lady-cursor-active summary { cursor: none !important; }
}
@media (prefers-reduced-motion:reduce) {
  .page-stuntman.offering-rose .stunt-rose { animation: giveRose 3.6s cubic-bezier(.25,.7,.2,1) infinite !important; }
  .page-stuntman.offering-rose .stunt-arm-right { animation: boyOfferArm 1s ease-in-out infinite alternate !important; }
  .lady-cursor.receiving-rose .lady-arm-right { animation: ladyReceiveRose 1s ease-in-out infinite alternate !important; }
  .lady-cursor.receiving-rose .lady-body { animation: ladyHappyBounce 1.2s ease-in-out infinite alternate !important; }
  .lady-cursor.receiving-rose .lady-heart { animation: ladyHeartFloat 2s ease-out infinite !important; }
}

/* Refined contact fan: separate controls with no bulky backing pill */
.floating-contact-menu {
  right: 2px;
  bottom: calc(100% + 12px);
  width: auto;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  backdrop-filter: none;
}
.floating-contact-menu .floating-contact-action,
.floating-contact-menu .floating-whatsapp,
.floating-contact-menu .floating-email {
  position: relative;
  overflow: visible;
  width: 50px;
  height: 50px;
  padding: 0;
  color: #fff;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 50%;
  box-shadow: 0 12px 28px rgba(19,21,27,.22), inset 0 1px 0 rgba(255,255,255,.26);
  isolation: isolate;
}
.floating-contact-menu .floating-whatsapp {
  background: linear-gradient(145deg,#36d980 0%,#15945b 56%,#087047 100%);
}
.floating-contact-menu .floating-email {
  color: #e7ff9c;
  background: linear-gradient(145deg,#2d2f37 0%,#17181d 62%,#0e0f12 100%);
}
.floating-contact-menu .floating-contact-action::before {
  content: attr(data-label);
  position: absolute;
  inset: auto calc(100% + 10px) auto auto;
  top: 50%;
  width: max-content;
  padding: 6px 9px;
  color: #f8f8f5;
  background: rgba(18,19,23,.94);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px;
  box-shadow: 0 8px 20px rgba(18,19,23,.16);
  font: 700 9px/1 var(--display);
  letter-spacing: .02em;
  opacity: 0;
  transform: translate(5px,-50%);
  transition: opacity .18s ease, transform .18s ease;
  pointer-events: none;
}
.floating-contact-menu .floating-contact-action::after {
  content: "";
  position: absolute;
  inset: 4px;
  z-index: -1;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  pointer-events: none;
}
.floating-contact-menu .floating-contact-action svg {
  position: relative;
  z-index: 1;
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.floating-contact-menu .floating-contact-action:hover,
.floating-contact-menu .floating-contact-action:focus-visible {
  transform: translateY(-2px) scale(1.045);
  border-color: rgba(255,255,255,.58);
  box-shadow: 0 16px 32px rgba(19,21,27,.26), inset 0 1px 0 rgba(255,255,255,.32);
  filter: none;
  outline: none;
}
.floating-contact-menu .floating-contact-action:hover::before,
.floating-contact-menu .floating-contact-action:focus-visible::before {
  opacity: 1;
  transform: translate(0,-50%);
}
.floating-contact[open] .floating-contact-action { animation: contactFanIn .26s cubic-bezier(.2,.85,.25,1) both; }
.floating-contact[open] .floating-email { animation-delay: .045s; }
@keyframes contactFanIn {
  from { opacity: 0; transform: translateY(10px) scale(.82); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@media(max-width:700px) {
  .lady-cursor { display: none !important; }
  .floating-contact-menu { right: 1px; gap: 8px; }
  .floating-contact-menu .floating-contact-action,
  .floating-contact-menu .floating-whatsapp,
  .floating-contact-menu .floating-email { width: 44px; height: 44px; }
  .floating-contact-menu .floating-contact-action svg { width: 21px; height: 21px; }
  .floating-contact-menu .floating-contact-action::before { display: none; }
}
@media(prefers-reduced-motion:reduce) {
  .floating-contact[open] .floating-contact-action { animation: none !important; }
}
/* Premium bulb motion: gently recedes, turns, and returns to its true size. */
.hero-object-image {
  width: min(68%, 370px);
  animation: premiumBulbRevolve 9.6s cubic-bezier(.45, 0, .25, 1) infinite !important;
  transform-origin: 50% 52%;
  will-change: transform, filter;
}
@keyframes premiumBulbRevolve {
  0%, 100% {
    transform: translate(-50%, -50%) rotateY(-10deg) rotateZ(-.7deg) scale(1);
    filter: brightness(1.06) saturate(1.16) drop-shadow(0 24px 34px rgba(31,34,43,.2)) drop-shadow(0 0 24px rgba(52,194,180,.24));
  }
  24% {
    transform: translate(-50%, calc(-50% - 5px)) rotateY(7deg) rotateZ(.4deg) scale(.93);
    filter: brightness(1.1) saturate(1.2) drop-shadow(-8px 22px 31px rgba(31,34,43,.17)) drop-shadow(0 0 30px rgba(112,78,224,.2));
  }
  50% {
    transform: translate(-50%, calc(-50% - 9px)) rotateY(14deg) rotateZ(.8deg) scale(.84);
    filter: brightness(1.14) saturate(1.22) drop-shadow(8px 19px 28px rgba(31,34,43,.15)) drop-shadow(0 0 34px rgba(52,194,180,.25));
  }
  76% {
    transform: translate(-50%, calc(-50% - 4px)) rotateY(-3deg) rotateZ(-.2deg) scale(.93);
    filter: brightness(1.1) saturate(1.18) drop-shadow(4px 23px 32px rgba(31,34,43,.17)) drop-shadow(0 0 28px rgba(112,78,224,.19));
  }
}
@media(max-width:1050px) and (min-width:701px) {
  .hero-object-image { width: min(64%, 315px); }
}
@media(max-width:700px) {
  .hero-object-image { width: 145px; height: 188px; animation-duration: 9.6s !important; }
}
@media(prefers-reduced-motion:reduce) {
  .hero-object-image { animation: none !important; transform: translate(-50%, -50%) scale(.92); }
}
