body.home-open{background:#f5f4f0;color:#17232b}.header{height:clamp(76px,8.75vh,112px);padding:0 5.75%;border-bottom:1px solid #d4d5d0}.home-v3{padding:5.1vh 5.75% 2.6vh;min-height:calc(100svh - clamp(76px,8.75vh,112px));display:flex;flex-direction:column;box-sizing:border-box}.home-v3[hidden]{display:none}.home-stage{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:3%;flex:1;min-height:0}.home-copy{position:relative;z-index:2;padding-top:0}.home-eyebrow{font-size:clamp(12px,1.1vw,21px);letter-spacing:.15em;margin:0 0 18px}.home-skills{font-size:clamp(10px,.8vw,15px);line-height:1.7;letter-spacing:.025em;max-width:800px;margin:0}.home-heading{position:relative;font-family:'DM Sans',sans-serif;font-weight:450;font-size:clamp(58px,min(6.4vw,10.2vh),128px);line-height:1.03;letter-spacing:-.055em;margin:5.7vh 0 3.5vh;display:grid}.heading-state{grid-area:1/1;display:flex;flex-direction:column}.heading-state>span,.heading-state>em{display:block;transition:transform .65s cubic-bezier(.22,1,.36,1),opacity .4s ease;transform:translateY(0)}.heading-state em{font-family:'Instrument Serif',serif;font-weight:400;color:#20BDD4;letter-spacing:-.045em;line-height:1.03}.heading-on>span,.heading-on>em{opacity:0;transform:translateY(20px)}.heading-state>:nth-child(2){transition-delay:35ms}.heading-state>:nth-child(3){transition-delay:70ms}.is-da .heading-off>span,.is-da .heading-off>em{opacity:0;transform:translateY(-18px)}.is-da .heading-on>span,.is-da .heading-on>em{opacity:1;transform:translateY(0)}.home-description{font-size:clamp(14px,1.22vw,23px);line-height:1.65;margin:0;letter-spacing:-.02em}.home-dash{display:block;width:46px;height:1px;background:#17232b;margin-top:26px}.home-art{position:relative;min-width:0;isolation:isolate;pointer-events:none;perspective:1300px;align-self:stretch}.home-portrait{display:block;width:100%;height:auto;max-height:57vh;object-fit:contain;border-radius:30px;position:relative;z-index:2;transition:opacity .5s,filter .6s,transform .7s cubic-bezier(.22,1,.36,1)}.home-blob{position:absolute;width:70%;height:64%;border-radius:48% 52% 60% 40%;filter:blur(65px);opacity:.42;z-index:0}.blob-cyan{background:#09a6ca;left:-16%;top:15%;animation:drift-cyan 23s ease-in-out infinite alternate}.blob-coral{background:#ff8c5f;right:-7%;top:22%;animation:drift-coral 29s ease-in-out -9s infinite alternate}.home-projects{position:absolute;inset:0;z-index:3;perspective:1200px}.floating-project{position:absolute;opacity:0;transform:translate3d(0,20px,0) scale(.96);transition:opacity .45s,transform .7s cubic-bezier(.22,1,.36,1);will-change:transform;--px:0px;--py:0px}.floating-project img{display:block;width:100%;height:auto;transform:translate3d(var(--px),var(--py),0) rotateX(var(--rx)) rotateY(var(--ry)) rotateZ(var(--rz));filter:drop-shadow(9px 18px 16px #17232b20)}.floating-elemencia{width:43%;right:0;top:0;z-index:1;--rx:6deg;--ry:-23deg;--rz:7deg;transition-delay:0ms}.floating-izipizi{width:49%;left:24%;top:15%;z-index:2;--rx:4deg;--ry:-16deg;--rz:-8deg;transition-delay:60ms}.floating-santevet{width:44%;left:-3%;top:42%;z-index:3;--rx:3deg;--ry:20deg;--rz:-8deg;transition-delay:120ms}.floating-soma{width:49%;right:-2%;top:56%;z-index:4;--rx:5deg;--ry:-20deg;--rz:10deg;transition-delay:180ms}.is-da .home-portrait{opacity:0;filter:blur(3px);transform:scale(.98)}.is-da .home-projects-da .floating-project{opacity:1;transform:translate3d(0,0,0) scale(1)}.home-hub{display:grid;grid-template-columns:repeat(3,1fr);margin-top:4.5vh;margin-bottom:4.8vh;position:relative;z-index:4}.home-entry{display:block;padding:0 7%;border-left:1px solid #d4d5d0;color:#17232b;text-decoration:none;transition:color .3s}.home-entry:first-child{padding-left:0;border-left:0}.entry-number{font-size:clamp(18px,1.65vw,30px);font-weight:400;line-height:1}.home-entry h2{font-size:clamp(15px,1.65vw,30px);letter-spacing:.015em;font-weight:500;margin:17px 0 9px;line-height:1.15}.home-entry p{font-size:clamp(10px,.91vw,17px);margin:0;line-height:1.6;white-space:nowrap}.entry-line{width:50px;height:1px;background:currentColor;display:block;margin-top:22px}.home-entry:focus-visible{outline:2px solid #20BDD4;outline-offset:9px}.is-da .home-entry[data-universe="01"]{color:#20BDD4}.home-status{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.13em;margin:0}.home-status>span{width:7px;height:7px;border-radius:50%;background:#20BDD4}.home-loader{position:fixed;inset:0;background:#f5f4f0;z-index:9999;display:grid;place-items:center;transition:opacity .35s}.home-loader-brand{font-family:'DM Sans',sans-serif;font-size:24px;font-weight:600;letter-spacing:-1.2px;white-space:nowrap;position:relative}.home-loader-brand:after{content:'';height:1px;background:#20BDD4;width:36px;display:block;position:absolute;bottom:-14px;left:0}.home-loader-brand span{color:#20BDD4}.home-loading .home-stage,.home-loading .home-hub,.home-loading .home-status{opacity:0}.home-stage,.home-hub,.home-status{transition:opacity .7s}.home-hub{transition-delay:.1s}.home-status{transition-delay:.2s}@keyframes drift-cyan{to{transform:translate(22px,17px) rotate(7deg)}}@keyframes drift-coral{to{transform:translate(-19px,-14px) rotate(-8deg)}}
@media(min-width:901px){.home-v3{height:calc(100svh - clamp(76px,8.75vh,112px));min-height:610px}.home-art{max-height:62vh}}@media(max-height:820px) and (min-width:901px){.home-v3{padding-top:3vh;min-height:570px}.home-heading{margin-top:3vh;margin-bottom:2.5vh;font-size:min(6.4vw,10vh)}.home-hub{margin-top:3vh;margin-bottom:3vh}.home-eyebrow{margin-bottom:10px}.home-dash{margin-top:16px}.home-entry h2{margin-top:10px}.entry-line{margin-top:14px}.home-portrait{max-height:55vh}}
@media(max-width:900px){.header{padding:0 6%;height:76px}.home-v3{padding:32px 6% 26px}.home-stage{grid-template-columns:1fr;gap:32px}.home-heading{font-size:clamp(64px,10vw,100px);margin:30px 0 25px}.home-skills{font-size:12px;max-width:560px}.home-eyebrow{font-size:13px}.home-description{font-size:17px}.home-art{width:80%;max-width:580px;margin:0 auto}.home-portrait{max-height:none;border-radius:22px}.home-blob{filter:blur(40px)}.home-hub{margin:40px 0 35px}.home-entry{padding:0 6%}.home-entry h2{font-size:16px}.home-entry p{font-size:11px;white-space:normal}.home-projects{display:none}}
@media(max-width:560px){.header .wordmark{font-size:21px}.header nav{gap:14px;font-size:12px}.home-heading{font-size:clamp(58px,13.7vw,77px)}.home-description{font-size:15px}.home-description br{display:none}.home-art{width:100%}.home-hub{grid-template-columns:1fr;gap:0;margin-top:34px}.home-entry,.home-entry:first-child{border-left:0;border-top:1px solid #d4d5d0;padding:20px 0;position:relative}.entry-number{float:left;width:42px;font-size:19px}.home-entry h2{font-size:19px;margin:0 0 8px 42px}.home-entry p{font-size:12px;margin-left:42px}.entry-line{display:none}.home-status{font-size:8px;gap:8px}.home-loader-brand{font-size:21px}}
@media(prefers-reduced-motion:reduce){.home-v3 *,.home-loader{animation:none!important;transition:none!important}.floating-project img{transform:rotateX(var(--rx)) rotateY(var(--ry)) rotateZ(var(--rz))}}
.home-v3 .home-stage{padding:0;margin:0;max-width:none}.home-v3 .home-heading{max-width:none}
.home-entry::after,.home-entry::before{content:none!important}
/* V3 / September refinement: independent portrait scene and full-surface hub links. */
.portrait-scene{position:relative;width:90%;margin:2vh 0 0 auto;isolation:isolate}.home-portrait{width:100%;max-height:58vh;aspect-ratio:1425/1134;object-fit:cover;pointer-events:auto;z-index:2}.goat-guest,.goat-caption{position:absolute;height:auto;pointer-events:none;opacity:0}.goat-guest{width:30%;left:0;top:36%;z-index:1;transform:translateX(0);transition:transform 270ms 70ms cubic-bezier(.4,0,.2,1),opacity 170ms 100ms}.goat-caption{width:24%;left:-44%;top:31%;z-index:3;transform:translateY(5px) scale(.9);transition:opacity 130ms,transform 160ms}.goat-visible .goat-guest{opacity:1;transform:translateX(-91%);transition:transform 420ms cubic-bezier(.22,1.15,.36,1),opacity 100ms}.goat-visible .goat-caption{opacity:1;transform:translateY(0) scale(1);transition:opacity 230ms 390ms,transform 250ms 390ms cubic-bezier(.22,1.15,.36,1)}.is-da .goat-guest,.is-da .goat-caption{opacity:0!important;transition:opacity 60ms,transform 180ms!important}.is-da .home-portrait{pointer-events:none}.home-blob{opacity:.27;filter:blur(72px)}.blob-cyan{background:#20BDD4;animation:liquid-cyan 37s ease-in-out -8s infinite alternate}.blob-coral{animation:liquid-coral 49s ease-in-out -23s infinite alternate}@keyframes liquid-cyan{0%{transform:translate(-8px,10px) rotate(-7deg) scale(.96)}50%{transform:translate(14px,-9px) rotate(2deg) scale(1.04)}100%{transform:translate(24px,14px) rotate(9deg) scale(.99)}}@keyframes liquid-coral{0%{transform:translate(12px,-12px) rotate(8deg) scale(1.03)}55%{transform:translate(-16px,13px) rotate(-2deg) scale(.96)}100%{transform:translate(-10px,-7px) rotate(-8deg) scale(1.05)}}
.home-hub{gap:2%;margin-top:3vh;margin-bottom:3.8vh}.home-entry,.home-entry:first-child{background:#edf1ee;border:0;border-radius:18px;padding:20px 22px;position:relative;transition:background-color .35s,color .3s}.home-entry h2{font-weight:700;font-size:clamp(15px,1.5vw,29px);margin:10px 24px 16px 0;letter-spacing:-.015em}.home-entry p{white-space:normal;font-size:clamp(10px,.94vw,18px);color:#646e73}.entry-number{font-size:clamp(19px,1.45vw,28px)}.entry-arrow{position:absolute;right:22px;top:42%;font-size:36px;line-height:1;transition:transform .3s}.is-da .home-entry[data-universe="01"],.home-entry:focus-visible{background:#20BDD4;color:#17232b}.is-da .home-entry[data-universe="01"] p,.home-entry:focus-visible p{color:#17232b}.home-entry:focus-visible .entry-arrow{transform:translateX(4px)}
@media(hover:hover) and (pointer:fine){.home-entry:hover{background:#20BDD4;color:#17232b}.home-entry:hover p{color:#17232b}.home-entry:hover .entry-arrow{transform:translateX(4px)}}
.contact-button--behance,.behance-hero,.project-back-top{color:#17232b}.behance-complete:focus-visible,.project-card a:focus-visible .view,.project-card a:active .view{color:#17232b}
@media(hover:hover) and (pointer:fine){.behance-complete:hover,.project-card a:hover .view,.contact-button--behance:hover,.behance-hero:hover{color:#17232b}}
@media(max-height:820px) and (min-width:901px){.home-entry,.home-entry:first-child{padding:16px 20px}.home-entry h2{margin-bottom:12px}.portrait-scene{width:87%;margin-top:1vh}.home-portrait{max-height:54vh}.home-hub{margin-top:2vh;margin-bottom:3vh}}
@media(max-width:900px){.portrait-scene{width:100%;margin:0}.home-portrait{max-height:none}.goat-guest,.goat-caption{display:none}.home-entry,.home-entry:first-child{padding:18px 16px}.entry-arrow{right:12px;font-size:28px}.home-entry h2{font-size:15px}.home-hub{margin-top:32px;margin-bottom:30px}}
@media(max-width:560px){.home-hub{gap:12px}.home-entry,.home-entry:first-child{padding:20px;border:0;border-radius:14px}.home-entry h2{margin:0 24px 9px 40px;font-size:17px}.home-entry p{margin-left:40px;font-size:12px}.entry-arrow{right:17px;top:30%}}
@media(hover:none),(pointer:coarse){.goat-guest,.goat-caption{display:none!important}}
@media(prefers-reduced-motion:reduce){.home-v3 .home-blob{animation:none!important}.home-v3 .goat-guest,.home-v3 .goat-caption{transition:none!important}.home-entry .entry-arrow{transition:none;transform:none!important}}
.home-v3 .home-blob{animation:none}

/* Soft lights: static fine dithering breaks up visible colour bands. */
.home-v3 .home-blob{filter:blur(48px);opacity:.34}
.home-v3 .blob-cyan{background:radial-gradient(ellipse at center,#20bdd4 0%,rgba(32,189,212,.65) 35%,rgba(32,189,212,0) 72%)}
.home-v3 .blob-coral{background:radial-gradient(ellipse at center,#ef9b76 0%,rgba(239,155,118,.65) 35%,rgba(239,155,118,0) 72%)}
.home-art::after{content:"";position:absolute;inset:-12%;z-index:1;pointer-events:none;background:url('/assets/home-v3/light-dither.webp') repeat;opacity:.035;mix-blend-mode:multiply;mask-image:radial-gradient(ellipse,#000 15%,transparent 70%)}
/* Two crossing wave fronts rise together without moving the content. */
.home-v3 .home-entry{isolation:isolate;overflow:hidden}
.home-v3 .home-entry:hover,.home-v3 .home-entry:focus-visible,.home-v3.is-da .home-entry[data-universe="01"]{background:#edf1ee}
.entry-fill{position:absolute;z-index:-1;inset:0;background:none;border-radius:0;transform:translateY(calc(100% + 30px));transition:transform 1.1s cubic-bezier(.4,0,.2,1);pointer-events:none}
.home-v3 .home-entry:focus-visible .entry-fill,.home-v3.is-da .home-entry[data-universe="01"] .entry-fill{transform:translateY(-24px)}
@media(hover:hover) and (pointer:fine){.home-v3 .home-entry:hover .entry-fill{transform:translateY(-24px)}}
.home-v3 .entry-arrow{top:50%;right:22px;width:clamp(13px,1.1vw,18px);height:auto;transform:translateY(-50%);font-size:0}
.entry-arrow img{display:block;width:100%;height:auto}
.home-v3 .home-entry:hover .entry-arrow{transform:translate(3px,-50%)}
.home-v3.goat-visible .goat-guest{animation:goat-squash .52s ease-out;transform-origin:right center}
@keyframes goat-squash{0%{scale:.91 1.06}48%{scale:1.08 .94}73%{scale:.97 1.025}100%{scale:1 1}}
.home-v3.is-da .goat-guest{animation:none}
@media(prefers-reduced-motion:reduce){.home-v3 .goat-guest{animation:none!important}.home-v3 .entry-fill{transition:none}}

.entry-fill::before,.entry-fill::after{content:"";position:absolute;left:0;top:-26px;width:200%;height:calc(100% + 52px);background:url('/assets/home-v3/cta-wave.svg') repeat-x;background-size:50% 100%;animation:cta-wave-drift 2.6s linear infinite;pointer-events:none}
.entry-fill::before{opacity:.4;animation-duration:3.4s;animation-direction:reverse;top:-31px}
.entry-fill::after{opacity:1}
@keyframes cta-wave-drift{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.entry-fill::before,.entry-fill::after{animation:none!important}}

/* Shared slim header: sticky in normal flow, with glass only after scrolling. */
body{--header-solid:#f5f4f0;--header-glass:rgba(245,244,240,.86);--header-line:#d4d5d0}
body.cure-dark,body.soma-dark{--header-solid:#000;--header-glass:rgba(0,0,0,.86);--header-line:rgba(255,255,255,.14)}
body.kinetic-dark{--header-solid:#0f1b17;--header-glass:rgba(15,27,23,.86);--header-line:rgba(255,255,255,.14)}
body .header{position:sticky;top:0;z-index:100;background:var(--header-solid);border-bottom-color:var(--header-line);transition:background-color .25s ease;flex-wrap:nowrap}
@supports ((backdrop-filter:blur(12px)) or (-webkit-backdrop-filter:blur(12px))){body.header-scrolled .header{background:var(--header-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}}
@media(prefers-reduced-motion:reduce){body .header{transition:none}}
/* AI Creative: a second composition, sharing the Hub's rigid-card motion. */
h1,.hero h1,.territory-head h1,.detail-title{font-weight:700}
h1 em{font-weight:400}
.home-heading{font-weight:700}
.heading-ai>span,.heading-ai>em{opacity:0;transform:translateY(20px)}
.is-ai .heading-off>span,.is-ai .heading-off>em{opacity:0;transform:translateY(-18px)}
.is-ai .heading-ai>span,.is-ai .heading-ai>em{opacity:1;transform:translateY(0)}
.heading-ai>span{white-space:nowrap}
.home-description{display:grid}
.home-description>span{grid-area:1/1;transition:opacity .35s ease,transform .5s cubic-bezier(.22,1,.36,1)}
.description-ai{opacity:0;transform:translateY(10px)}
.is-ai .description-off{opacity:0;transform:translateY(-10px)}
.is-ai .description-ai{opacity:1;transform:translateY(0)}
.is-ai .home-portrait{opacity:0;filter:blur(3px);transform:scale(.98)}
.is-ai .goat-guest,.is-ai .goat-caption{opacity:0!important}
.is-ai .home-projects-ai .floating-project{opacity:1;transform:translate3d(0,0,0) scale(1)}
.ai-izipizi{width:46%;left:4%;top:4%;z-index:1;--rx:5deg;--ry:-16deg;--rz:-6deg;transition-delay:0ms}
.ai-fruzz{width:46%;right:-1%;top:-2%;z-index:2;--rx:4deg;--ry:-15deg;--rz:7deg;transition-delay:60ms}
.ai-cure{width:47%;left:-4%;top:38%;z-index:3;--rx:4deg;--ry:17deg;--rz:-7deg;transition-delay:120ms}
.ai-altered{width:48%;right:4%;top:61%;z-index:4;--rx:5deg;--ry:-18deg;--rz:8deg;transition-delay:180ms}
.is-ai [data-universe="02"] .entry-fill{transform:translateY(-24px)}
@media(min-width:901px){.heading-ai{font-size:.91em}}
@media(max-width:900px){.description-ai{display:none}}
.ai-izipizi{width:50%;left:4%;top:2%;--ry:12deg;--rz:-4deg}
.ai-fruzz{width:64%;right:-6%;top:-5%;--ry:-12deg;--rz:-7deg}
.ai-cure{width:54%;left:-4%;top:39%;--ry:14deg;--rz:-3deg}
.ai-altered{width:53%;right:4%;top:57%;--ry:-14deg;--rz:-5deg}
.is-ai .home-portrait{pointer-events:none}
.ai-cure{left:-8%}
.ai-altered{right:0%;width:51%}
@media(max-width:900px){.heading-ai{display:none}}
/* Keep the AI tableau above the CTA row, including motion overshoot. */
@media(min-width:901px){
.home-projects-ai{inset:0 auto auto 50%;width:var(--ai-width,90%);height:auto;aspect-ratio:1.3;transform:translateX(-50%)}
.ai-izipizi{width:48%;left:6%;top:1%;--rx:10deg;--ry:-24deg;--rz:-7deg}
.ai-fruzz{width:58%;right:-3%;top:-10%;--rx:4deg;--ry:-16deg;--rz:-7deg}
.ai-cure{width:49%;left:-2%;top:32%;--rx:3deg;--ry:-24deg;--rz:-6deg}
.ai-altered{width:48%;right:1%;top:49%;--rx:4deg;--ry:24deg;--rz:6deg}
}
/* Balanced reference composition, scaled as one tableau. */
@media(min-width:901px){
.home-projects-ai{top:auto;bottom:40px}
.ai-izipizi{width:48%;left:-1%;top:-5%;--rx:6deg;--ry:-19deg;--rz:-2deg}
.ai-fruzz{width:63%;right:-5%;top:-18%;--rx:3deg;--ry:-14deg;--rz:-3deg}
.ai-cure{width:57%;left:-13%;top:32%;--rx:2deg;--ry:-19deg;--rz:-2deg}
.ai-altered{width:48%;right:5%;top:57%;--rx:3deg;--ry:19deg;--rz:2deg}
}

.home-v3{overflow:clip}
/* Contextual companion: the native pointer remains unchanged. */
.context-cursor{position:fixed;left:0;top:0;width:0;height:0;z-index:10000;pointer-events:none!important;display:none}
.context-cursor span{position:absolute;left:-30px;top:-30px;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:#20BDD4;color:#17232b;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.035em;white-space:nowrap;opacity:0;transform:scale(0);transition:transform .22s cubic-bezier(.22,1,.36,1),opacity .16s ease;pointer-events:none!important}
.context-cursor.is-visible span{opacity:1;transform:scale(1)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.context-cursor{display:block}}

@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.context-cursor-active,.context-cursor-active *{cursor:none!important}}
