:root{--ink:#111;--paper:#f3f2ec;--lime:#d7ff2f;--orange:#ff5637;--blue:#5445ff;--line:rgba(17,17,17,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.5;overflow-x:hidden}.topbar{height:76px;padding:0 3.5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:50;background:rgba(243,242,236,.88);backdrop-filter:blur(12px)}.logo{font:800 1rem "Manrope";letter-spacing:-.04em;color:var(--ink);text-decoration:none}.logo span{color:var(--orange)}.tabs{display:flex;border:1px solid var(--ink);border-radius:100px;padding:4px;gap:2px}.tabs a{padding:.48rem 1.35rem;border-radius:100px;color:var(--ink);text-decoration:none;font:600 .82rem "Manrope"}.tabs a.active{background:var(--ink);color:#fff}.contact-link{color:var(--ink);font-weight:600;font-size:.86rem;text-decoration:none;border:0;background:none;cursor:pointer}.portfolio-hero{min-height:calc(100vh - 76px);position:relative;padding:8vh 3.5vw 6vh;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid var(--line);isolation:isolate}.hero-kicker{font:600 .75rem "Manrope";letter-spacing:.16em;margin-bottom:4vh}.hero-kicker span{color:var(--orange);margin:0 .5rem}.portfolio-hero h1{font:700 clamp(4rem,9vw,9.5rem)/.86 "Manrope";letter-spacing:-.075em;margin:0;max-width:1350px;text-transform:uppercase}.portfolio-hero h1 i,.cta h2 i{font-family:Georgia,serif;font-weight:400;text-transform:none;letter-spacing:-.055em}.hero-info{margin:5vh 0 0 auto;max-width:520px;display:grid;grid-template-columns:2fr 1fr;gap:2rem;font-size:1.05rem}.hero-info p{margin:0}.hero-info a{color:var(--ink);font-weight:600}.orb{position:absolute;border-radius:50%;filter:blur(1px);z-index:-1;mix-blend-mode:multiply}.orb-a{width:18vw;height:18vw;background:var(--lime);right:8vw;top:12vh}.orb-b{width:11vw;height:11vw;background:var(--orange);right:2vw;top:27vh}.manifesto{background:var(--ink);color:#fff;min-height:75px;display:flex;align-items:center;justify-content:space-around;gap:2rem;padding:1rem 3.5vw;white-space:nowrap;overflow:hidden}.manifesto p{font:600 .72rem "Manrope";letter-spacing:.12em}.gallery{padding:9rem 3.5vw 5rem}.gallery-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:7rem}.gallery-head>div{display:flex;align-items:start;gap:2rem}.gallery-head span,.service-head span{font:.7rem "Manrope"}.gallery h2,.service-head h2{font:700 clamp(3.2rem,7vw,7rem)/.9 "Manrope";letter-spacing:-.065em;margin:0}.gallery-head>p{max-width:410px}.chaos-grid{max-width:1450px;margin:auto;display:grid;grid-template-columns:repeat(12,1fr);gap:2.5vw 2vw;align-items:start}.tile,.type-card{margin:0;position:relative;transition:transform .35s ease;z-index:1}.tile:hover,.type-card:hover{transform:rotate(0) translateY(-8px);z-index:5}.tile img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.92)}.tile figcaption{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 0;font-size:.78rem}.tile figcaption span{font-size:.68rem;letter-spacing:.1em}.tile figcaption b{text-align:right}.tile-wide{grid-column:1/8;aspect-ratio:1.45}.tile-small{grid-column:9/13;aspect-ratio:.9}.tile-tall{grid-column:2/7;aspect-ratio:.78}.tile-mid{grid-column:8/13;aspect-ratio:1.1}.tile-large{grid-column:1/9;aspect-ratio:1.4}.tilt-left{transform:rotate(-1.8deg)}.tilt-right{transform:rotate(1.8deg)}.float-up{margin-top:-3rem}.float-up-2{margin-top:-8rem}.shift-right{margin-left:2rem}.shift-left{margin-left:-1rem}.overlap-up{margin-top:8rem}.type-card{min-height:310px;padding:2rem;display:flex;flex-direction:column;justify-content:space-between}.type-card strong{font:800 clamp(2.8rem,5vw,6rem)/.8 "Manrope";letter-spacing:-.07em}.type-card small,.type-card span{font:.65rem "Manrope";letter-spacing:.14em}.acid-card{grid-column:8/12;background:var(--lime);margin-top:4rem}.dark-card{grid-column:2/7;background:var(--blue);color:#fff;margin-top:3rem}.demo-note{margin:5rem auto 0;max-width:650px;text-align:center;color:#777;font-size:.75rem}.services{background:#fff;padding:9rem 3.5vw}.service-head{display:flex;gap:2rem;align-items:start;margin-bottom:5rem}.service-list>div{display:grid;grid-template-columns:80px 1.2fr 1fr;align-items:center;border-top:1px solid var(--ink);padding:2rem 0}.service-list>div:last-child{border-bottom:1px solid var(--ink)}.service-list b{font-size:.7rem}.service-list h3{font:600 clamp(1.6rem,3vw,3.2rem) "Manrope";letter-spacing:-.045em;margin:0}.service-list p{margin:0;color:#555}.cta{padding:10rem 3.5vw;background:var(--orange);text-align:center}.cta>span{font:.7rem "Manrope";letter-spacing:.14em}.cta h2{font:700 clamp(3rem,7.5vw,8rem)/.95 "Manrope";letter-spacing:-.07em;text-transform:uppercase;margin:2rem auto 4rem}.cta a{display:inline-block;color:var(--ink);font-weight:600;font-size:clamp(1rem,2vw,1.5rem);text-decoration:none;border-bottom:2px solid}footer{padding:2rem 3.5vw;display:flex;justify-content:space-between;font-size:.78rem;border-top:1px solid var(--line)}footer a{color:var(--ink);text-decoration:none}.cv-page{background:#ebeae4}.cv-wrap{max-width:1400px;margin:auto;padding:0 3.5vw}.cv-hero{padding:9rem 0 5rem;display:flex;justify-content:space-between;align-items:end;border-bottom:2px solid var(--ink)}.cv-label{font:.7rem "Manrope";letter-spacing:.14em}.cv-hero h1{font:800 clamp(5rem,11vw,11rem)/.72 "Manrope";letter-spacing:-.085em;text-transform:uppercase;margin:3rem 0 0}.cv-contact{display:flex;flex-direction:column;align-items:flex-end}.cv-contact a{color:var(--ink);font-weight:600}.cv-contact p{margin:.4rem 0}.cv-row{display:grid;grid-template-columns:1fr 3fr;gap:4rem;padding:5rem 0;border-bottom:1px solid var(--ink)}.cv-num{font:.68rem "Manrope";letter-spacing:.14em}.cv-main{max-width:900px}.cv-main.lead>p{font-size:clamp(1.25rem,2.2vw,2rem);line-height:1.35}.stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:4rem}.stats div{border-left:1px solid;padding-left:1.5rem}.stats b,.stats span{display:block}.stats b{font:700 3rem "Manrope"}.stats span{font-size:.8rem}.jobs article{display:grid;grid-template-columns:150px 1fr;gap:2rem;padding-bottom:3rem;margin-bottom:3rem;border-bottom:1px solid var(--line)}.jobs article:last-child{border:0;margin:0;padding:0}.job-date{font:.7rem "Manrope";color:#666}.cv-main h2{font:700 clamp(1.5rem,3vw,2.6rem) "Manrope";letter-spacing:-.04em;margin:0 0 .3rem}.cv-main h3{font-size:.92rem;font-weight:500;color:#555;margin:0 0 1.2rem}.cv-main p{color:#444}.media-projects{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.skill-columns{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.skill-columns>div{border-top:2px solid;padding-top:1.5rem}.skill-columns h2{font-size:1.5rem}.visible{opacity:1!important;transform:translateY(0)!important}
@media(max-width:800px){.topbar{height:68px;padding:0 1.2rem}.contact-link{display:none}.portfolio-hero{min-height:auto;padding:7rem 1.2rem}.portfolio-hero h1{font-size:14vw}.hero-info{grid-template-columns:1fr;margin:4rem 0 0}.manifesto{justify-content:flex-start}.gallery,.services,.cta{padding-left:1.2rem;padding-right:1.2rem}.gallery-head{display:block;margin-bottom:4rem}.gallery-head>p{margin-top:2rem}.chaos-grid{grid-template-columns:1fr 1fr;gap:3rem 1rem}.tile,.type-card{grid-column:auto!important;margin:0!important;transform:none!important;aspect-ratio:auto;min-height:0}.tile img{aspect-ratio:1;object-fit:cover}.type-card{min-height:280px}.tile-wide,.tile-large{grid-column:1/3!important}.service-list>div{grid-template-columns:40px 1fr}.service-list p{grid-column:2;margin-top:.6rem}.cv-wrap{padding:0 1.2rem}.cv-hero{padding-top:6rem;display:block}.cv-contact{align-items:flex-start;margin-top:3rem}.cv-row{grid-template-columns:1fr;gap:2rem;padding:3.5rem 0}.jobs article{grid-template-columns:1fr}.media-projects,.skill-columns{grid-template-columns:1fr}}
@media(max-width:500px){.logo{font-size:.78rem}.tabs a{padding:.42rem .8rem}.chaos-grid{display:block}.tile,.type-card{margin-bottom:3rem!important}.manifesto{gap:2rem}.gallery{padding-top:6rem}.stats{grid-template-columns:1fr}.stats div{margin-bottom:1rem}.cv-hero h1{font-size:20vw}}
@media print{.topbar,footer,.portfolio-page{display:none}.cv-page{background:#fff}.cv-wrap{max-width:none}.cv-hero{padding:1cm 0}.cv-hero h1{font-size:55pt}.cv-row{padding:1cm 0;break-inside:avoid}.cv-main.lead>p{font-size:12pt}.jobs article{padding-bottom:.5cm;margin-bottom:.5cm}.stats b{font-size:24pt}}

/* Full-screen portfolio showcase */
.showcase-page{--accent:#f6c800;background:#050505;color:#f5f5f5;height:100vh;overflow:hidden;transition:background .7s ease}.showcase-page *{box-sizing:border-box}.showcase-page.intro-open{overflow:hidden}.intro-screen{position:fixed;inset:0;z-index:1000;background:#070707;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;transition:opacity .7s ease .15s,transform .9s cubic-bezier(.2,.8,.2,1),filter .8s ease}.intro-screen[hidden]{display:none}.intro-glow{position:absolute;width:min(70vw,900px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,var(--accent) 0%,transparent 64%);filter:blur(70px);opacity:.18;animation:breathe 4s ease-in-out infinite}.intro-grain{position:absolute;inset:0;opacity:.08;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.intro-overline,.intro-foot{position:absolute;font:600 .68rem "Manrope";letter-spacing:.22em;color:#777}.intro-overline{top:4vh}.intro-foot{bottom:4vh}.intro-screen h1{position:relative;font:700 clamp(3.2rem,8vw,8.5rem)/.88 "Manrope";letter-spacing:-.075em;text-transform:uppercase;margin:0}.intro-screen h1 span{display:block;animation:titleUp .85s both cubic-bezier(.2,.8,.2,1)}.intro-screen h1 span:nth-child(2){animation-delay:.12s}.intro-screen .outline{color:transparent;-webkit-text-stroke:1px #777}.intro-actions{position:relative;margin-top:4rem;display:flex;flex-direction:column;gap:1.2rem;align-items:center;animation:titleUp .8s .28s both}.intro-actions button{border:0;border-radius:100px;background:#f5f5f5;color:#080808;padding:1.05rem 1.15rem 1.05rem 1.7rem;font:700 .82rem "Manrope";text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:.3s}.intro-actions button i{display:inline-grid;place-items:center;width:34px;height:34px;margin-left:1rem;border-radius:50%;background:var(--accent);font-style:normal;transition:.3s}.intro-actions button:hover{transform:scale(1.04)}.intro-actions button:hover i{transform:rotate(45deg)}.intro-actions a{color:#777;font-size:.76rem}.entering .intro-screen{opacity:0;transform:scale(1.12);filter:blur(16px)}.showcase-nav{height:72px;position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 3vw;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(5,5,5,.7);backdrop-filter:blur(20px)}.showcase-logo{color:#fff;text-decoration:none;font:800 .85rem "Manrope";letter-spacing:-.03em}.showcase-logo span{color:var(--accent);transition:.5s}.showcase-tabs{display:flex;gap:.35rem;padding:4px;border:1px solid #333;border-radius:100px}.showcase-tabs a{color:#777;text-decoration:none;font:600 .72rem "Manrope";padding:.4rem 1rem;border-radius:100px}.showcase-tabs a.active{background:#fff;color:#050505}.showcase-mail{color:#aaa;text-decoration:none;font-size:.78rem}.showcase{height:100vh;position:relative;overflow:hidden}.ambient{position:absolute;border-radius:50%;filter:blur(120px);opacity:.13;transition:background .8s ease}.ambient-a{width:50vw;height:50vw;background:var(--accent);left:17vw;top:20vh}.ambient-b{width:28vw;height:28vw;background:var(--accent);right:-10vw;bottom:-15vh;opacity:.08}.showcase-stage{height:100%;padding:104px 3vw 48px;display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,.72fr);gap:4vw;align-items:center}.stage-meta{position:absolute;left:3vw;top:96px;right:3vw;display:flex;justify-content:space-between;color:#777;font:600 .64rem "Manrope";letter-spacing:.16em}.stage-meta p{margin:0}.carousel-shell{min-width:0;perspective:1600px}.carousel{height:min(62vh,650px);position:relative;transform-style:preserve-3d;touch-action:pan-y;cursor:grab}.carousel:active{cursor:grabbing}.slide{position:absolute;left:50%;top:50%;width:min(58vw,820px);height:min(58vh,610px);border-radius:32px;overflow:hidden;transform-origin:center;transition:transform .75s cubic-bezier(.18,.8,.2,1),opacity .65s ease,filter .65s ease;box-shadow:0 35px 100px rgba(0,0,0,.65);border:1px solid rgba(255,255,255,.14);background:#161616}.slide img{width:100%;height:100%;object-fit:cover;display:block}.slide[data-pos="active"]{z-index:10;transform:translate(-50%,-50%) translateZ(120px) scale(1);opacity:1;filter:none}.slide[data-pos="prev"]{z-index:5;transform:translate(-112%,-50%) rotateY(40deg) translateZ(-120px) scale(.76);opacity:.42;filter:brightness(.46) saturate(.7)}.slide[data-pos="next"]{z-index:5;transform:translate(12%,-50%) rotateY(-40deg) translateZ(-120px) scale(.76);opacity:.42;filter:brightness(.46) saturate(.7)}.slide[data-pos="far"]{z-index:0;transform:translate(-50%,-50%) translateZ(-500px) scale(.55);opacity:0;pointer-events:none}.carousel-controls{width:min(58vw,820px);margin:1.4rem auto 0;display:grid;grid-template-columns:48px 1fr 48px;gap:1.1rem;align-items:center}.arrow{width:48px;height:48px;border:1px solid #444;border-radius:50%;background:rgba(255,255,255,.04);color:#fff;font-size:1.1rem;cursor:pointer;transition:.25s}.arrow:hover{background:var(--accent);border-color:var(--accent);color:#050505;transform:scale(1.08)}.progress{height:2px;background:#292929;overflow:hidden}.progress span{display:block;height:100%;background:var(--accent);transition:width .65s ease,background .65s}.project-copy{align-self:center;max-width:430px}.copy-index{color:var(--accent);font:700 .64rem "Manrope";letter-spacing:.18em;transition:color .5s}.project-copy h2{font:700 clamp(2.6rem,4.5vw,5.2rem)/.9 "Manrope";letter-spacing:-.065em;margin:1.5rem 0 2rem}.project-copy .description{font-size:1rem;color:#aaa;max-width:390px}.project-copy .scope{margin-top:2.5rem;padding-top:1.2rem;border-top:1px solid #333;color:#777;font:600 .62rem "Manrope";letter-spacing:.12em;line-height:1.8}.demo-label{margin-top:1rem!important;color:#444!important;font-size:.65rem!important}.copy-in{animation:copyIn .62s cubic-bezier(.2,.8,.2,1)}.swipe-note{position:absolute;bottom:20px;left:3vw;color:#444;font:600 .58rem "Manrope";letter-spacing:.15em}@keyframes titleUp{from{opacity:0;transform:translateY(55px);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}@keyframes copyIn{from{opacity:0;transform:translateX(24px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}@keyframes breathe{50%{transform:scale(1.12);opacity:.25}}
@media(max-width:900px){.showcase-stage{grid-template-columns:1fr;padding-top:100px;align-content:center;gap:1rem}.carousel{height:42vh}.slide{width:72vw;height:39vh;border-radius:24px}.slide[data-pos="prev"]{transform:translate(-105%,-50%) rotateY(38deg) translateZ(-120px) scale(.72)}.slide[data-pos="next"]{transform:translate(5%,-50%) rotateY(-38deg) translateZ(-120px) scale(.72)}.carousel-controls{width:72vw}.project-copy{max-width:72vw;margin:auto}.project-copy h2{font-size:2.2rem;margin:.45rem 0 .7rem}.project-copy .description{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:.9rem;line-height:1.45}.project-copy .scope{margin-top:.7rem;padding-top:.6rem}.demo-label{display:none}.swipe-note{display:none}}
@media(max-width:560px){.showcase-nav{height:64px;padding:0 1rem}.showcase-mail{display:none}.showcase-tabs a{padding:.35rem .75rem}.stage-meta{top:82px;left:1rem;right:1rem}.showcase-stage{padding:90px 0 12px}.carousel{height:36vh}.slide{width:78vw;height:33vh;border-radius:20px}.slide[data-pos="prev"]{transform:translate(-103%,-50%) rotateY(35deg) scale(.7)}.slide[data-pos="next"]{transform:translate(3%,-50%) rotateY(-35deg) scale(.7)}.carousel-controls{width:78vw;grid-template-columns:42px 1fr 42px;margin-top:.45rem}.arrow{width:42px;height:42px}.project-copy{max-width:none;width:100%;padding:0 1.2rem}.project-copy h2{font-size:1.75rem}.project-copy .description{font-size:.8rem;-webkit-line-clamp:2}.project-copy .scope{font-size:.52rem;line-height:1.45}.intro-screen h1{font-size:15vw}.intro-actions{margin-top:3rem}.intro-overline,.intro-foot{font-size:.55rem}}
@media(prefers-reduced-motion:reduce){.intro-screen h1 span,.intro-actions,.copy-in{animation:none}.slide,.intro-screen{transition:none}}

/* Studio.ZOO banner + shared dark CV language */
.studio-banner{position:fixed;z-index:70;inset:0 0 auto;height:34px;background:#ff382f;color:#090909;display:flex;align-items:center;justify-content:center;gap:1rem;text-decoration:none;font:700 .62rem "Manrope";letter-spacing:.12em}.studio-banner strong{font-size:.78rem;letter-spacing:-.02em}.studio-banner i{font-style:normal;font-weight:500;letter-spacing:.04em;opacity:.75}.studio-banner b{position:absolute;right:3vw;font-size:.57rem}.studio-banner+ .showcase-nav,.cv-nav{top:34px}.showcase-stage{padding-top:138px}.stage-meta{top:130px}.project-copy{position:relative;z-index:30;text-shadow:0 2px 14px #050505,0 0 28px #050505}.project-copy h2,.project-copy p{position:relative;z-index:31}.slide[data-pos="next"],.slide[data-pos="prev"]{z-index:5}
.cv-dark{background:#050505;color:#f4f4f2;min-height:100vh;overflow-x:hidden}.cv-dark .showcase-nav{top:34px}.cv-print{background:none;border:0;cursor:pointer}.dark-cv-wrap{padding-top:106px}.dark-cv-hero{min-height:calc(100vh - 106px);display:grid;grid-template-columns:minmax(360px,.82fr) 1.18fr;align-items:center;gap:5vw;padding:5vh 5vw;position:relative;overflow:hidden}.cv-portrait-wrap{height:min(76vh,840px);position:relative;align-self:end}.cv-portrait-wrap img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;border-radius:32px 32px 0 0;position:relative;z-index:2;filter:saturate(.88)}.portrait-glow{position:absolute;inset:5% -15% -5%;background:radial-gradient(circle,#ff382f55 0%,transparent 66%);filter:blur(70px)}.portrait-tag{position:absolute;z-index:3;bottom:1.5rem;left:1.5rem;background:#f4f4f2;color:#050505;padding:.7rem 1rem;border-radius:100px;font:700 .6rem "Manrope";letter-spacing:.12em}.dark-cv-title>p{font:700 .67rem "Manrope";letter-spacing:.16em;color:#888}.dark-cv-title h1{font:700 clamp(5rem,10vw,11rem)/.72 "Manrope";letter-spacing:-.085em;text-transform:uppercase;margin:4rem 0}.dark-cv-title h1 em{display:inline-block;color:transparent;-webkit-text-stroke:1px #888;font-family:Georgia,serif;font-weight:400;text-transform:none}.hero-contact{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.hero-contact a{color:#f4f4f2;text-decoration:none;border-bottom:1px solid #555;padding-bottom:.25rem}.hero-contact span{color:#777}.scroll-cue{position:absolute;right:5vw;bottom:2rem;color:#555;font:600 .56rem "Manrope";letter-spacing:.15em}.dark-section{display:grid;grid-template-columns:.7fr 2fr;gap:6vw;padding:10rem 5vw;border-top:1px solid #242424}.dark-label{color:#666;font:700 .63rem "Manrope";letter-spacing:.17em}.dark-section h2{font:700 clamp(3rem,6vw,7rem)/.92 "Manrope";letter-spacing:-.065em;margin:0 0 4rem}.dark-section h2 em,.dark-cv-cta h2 em{font-family:Georgia,serif;font-weight:400;color:#ff554c}.about-block>div:last-child{max-width:920px}.about-block .big-copy{font-size:clamp(1.35rem,2.3vw,2.2rem);line-height:1.35;color:#ddd}.about-block p:not(.big-copy){max-width:700px;color:#888;font-size:1.05rem}.number-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #292929;border-bottom:1px solid #292929}.number-strip div{padding:3rem 2.5vw;border-right:1px solid #292929}.number-strip div:last-child{border:0}.number-strip strong,.number-strip span{display:block}.number-strip strong{font:700 clamp(2.8rem,5vw,5.6rem) "Manrope";letter-spacing:-.07em;color:#ff554c}.number-strip span{margin-top:.5rem;color:#666;font:600 .57rem "Manrope";letter-spacing:.12em}.dark-timeline{position:relative}.dark-timeline:before{content:"";position:absolute;left:133px;top:1rem;bottom:1rem;width:1px;background:#292929}.dark-timeline article{position:relative;display:grid;grid-template-columns:110px 1fr;gap:3rem;padding:0 0 5rem}.timeline-date{color:#ff554c;font:700 .6rem "Manrope";letter-spacing:.12em}.dark-timeline h3{font:700 clamp(2rem,3.5vw,4rem) "Manrope";letter-spacing:-.055em;margin:0}.dark-timeline h4{color:#777;font-weight:500;margin:.4rem 0 1.5rem}.dark-timeline p{max-width:680px;color:#999}.timeline-dot{position:absolute;left:128px;top:.25rem;width:11px;height:11px;border:2px solid #ff554c;background:#050505;border-radius:50%}.media-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.media-cards article{min-height:420px;padding:2.4rem;border:1px solid #2d2d2d;border-radius:28px;display:flex;flex-direction:column;background:linear-gradient(145deg,#141414,#090909)}.media-cards article:first-child{box-shadow:inset 0 0 80px #ff382f12}.media-cards article:last-child{box-shadow:inset 0 0 80px #5445ff18}.media-cards span,.media-cards b{font:700 .58rem "Manrope";letter-spacing:.13em;color:#777}.media-cards h3{font:700 clamp(2rem,4vw,4rem) "Manrope";letter-spacing:-.06em;margin:auto 0 1rem}.media-cards p{color:#999}.media-cards b{margin-top:2rem;color:#ff554c}.skill-rows article{display:grid;grid-template-columns:60px .85fr 1.25fr;gap:2rem;align-items:center;padding:2.2rem 0;border-top:1px solid #333}.skill-rows article:last-child{border-bottom:1px solid #333}.skill-rows span{color:#ff554c;font-size:.65rem}.skill-rows h3{font:600 clamp(1.5rem,2.7vw,2.8rem) "Manrope";letter-spacing:-.04em;margin:0}.skill-rows p{color:#888}.education-block>div:last-child>p:first-child{color:#ff554c;font:700 .6rem "Manrope";letter-spacing:.14em}.education-block>div:last-child>p:last-child{color:#888;max-width:650px}.dark-cv-cta{text-align:center;padding:11rem 5vw;border-top:1px solid #242424;background:radial-gradient(circle at 50% 100%,#ff382f2b,transparent 48%)}.dark-cv-cta>span{font:700 .62rem "Manrope";letter-spacing:.17em;color:#777}.dark-cv-cta h2{font:700 clamp(3.5rem,8vw,9rem)/.9 "Manrope";letter-spacing:-.075em;text-transform:uppercase;margin:2rem 0 4rem}.dark-cv-cta a{color:#fff;text-decoration:none;font-size:clamp(1rem,2vw,1.5rem);border-bottom:1px solid;padding-bottom:.35rem}.dark-footer{background:#050505;color:#666;border-color:#242424}.dark-footer a{color:#aaa}
@media(max-width:900px){.studio-banner{justify-content:flex-start;padding-left:1rem}.studio-banner i{display:none}.studio-banner b{right:1rem}.showcase-stage{padding-top:132px}.stage-meta{top:122px}.dark-cv-hero{grid-template-columns:1fr;padding:5rem 1.2rem 0}.cv-portrait-wrap{height:58vh;order:2}.dark-cv-title{order:1}.dark-cv-title h1{font-size:16vw;margin:2rem 0}.scroll-cue{display:none}.dark-section{grid-template-columns:1fr;padding:6rem 1.2rem}.number-strip{grid-template-columns:1fr 1fr}.number-strip div{padding:2rem 1.2rem;border-bottom:1px solid #292929}.media-cards{grid-template-columns:1fr}.skill-rows article{grid-template-columns:35px 1fr}.skill-rows p{grid-column:2}.dark-timeline:before{left:83px}.dark-timeline article{grid-template-columns:65px 1fr;gap:2rem}.timeline-dot{left:78px}}@media(max-width:560px){.studio-banner span,.studio-banner i{display:none}.studio-banner{gap:.5rem}.studio-banner b{font-size:.5rem}.showcase-stage{padding-top:126px}.stage-meta{top:116px}.number-strip{grid-template-columns:1fr}.dark-cv-title h1{font-size:18vw}.cv-portrait-wrap{height:56vh}.cv-portrait-wrap img{border-radius:22px 22px 0 0}.dark-section h2{font-size:13vw}.dark-timeline:before,.timeline-dot{display:none}.dark-timeline article{grid-template-columns:1fr}.media-cards article{min-height:360px}.dark-cv-cta{padding:7rem 1.2rem}}
@media print{.studio-banner,.cv-dark .showcase-nav,.scroll-cue,.dark-cv-cta,.dark-footer{display:none}.cv-dark{background:#fff;color:#111}.dark-cv-wrap{padding:0}.dark-cv-hero{min-height:auto;padding:1cm;grid-template-columns:4cm 1fr}.cv-portrait-wrap{height:6cm}.cv-portrait-wrap img{border-radius:0}.dark-cv-title h1{font-size:45pt;margin:1cm 0}.dark-cv-title h1 em{color:#111;-webkit-text-stroke:0}.dark-section{padding:1cm;grid-template-columns:3cm 1fr;break-inside:avoid}.dark-section h2{font-size:28pt;margin-bottom:1cm}.number-strip{break-inside:avoid}.number-strip strong{font-size:24pt}.dark-timeline h3{font-size:20pt}.dark-timeline p,.about-block p,.skill-rows p,.media-cards p{color:#333}.media-cards article{min-height:0;background:#fff;border-color:#999}.portrait-glow{display:none}}

/* Detailed CV content */
.dark-timeline ul,.detailed-media ul,.clean-list{list-style:none;margin:1.6rem 0 0;padding:0}.dark-timeline li,.detailed-media li,.clean-list li{position:relative;padding:.48rem 0 .48rem 1.35rem;color:#aaa}.dark-timeline li:before,.detailed-media li:before,.clean-list li:before{content:"";position:absolute;left:0;top:1.05rem;width:5px;height:5px;border-radius:50%;background:#ff554c}.job-note{margin-top:1.5rem;padding:1rem 1.2rem;border-left:2px solid #ff554c;background:#111;color:#ccc!important}.detailed-media{align-items:stretch}.detailed-media article{min-height:620px}.detailed-media h3{margin:3rem 0 .3rem}.detailed-media h4{font-size:.9rem;color:#ccc;margin:0 0 1.4rem}.detailed-media ul{margin-bottom:2rem}.detailed-media b{margin-top:auto}.detailed-media small{display:block;margin-top:.7rem;color:#555}.skill-panels{display:grid;gap:1rem}.skill-panels article{display:grid;grid-template-columns:55px 1fr;gap:1.5rem;padding:2.2rem;border:1px solid #2b2b2b;border-radius:24px;background:linear-gradient(140deg,#121212,#080808)}.skill-panels article>span{color:#ff554c;font:700 .62rem "Manrope"}.skill-panels h3{font:700 clamp(1.8rem,3vw,3.2rem) "Manrope";letter-spacing:-.05em;margin:0 0 1rem}.skill-panels p{color:#999;line-height:1.75}.skill-panels h4{margin:1.7rem 0 .5rem;color:#666;font:700 .58rem "Manrope";letter-spacing:.15em}.skill-panels b{color:#ddd;font-size:.85rem}.ai-block .big-copy{font-size:1.35rem;color:#ddd}.chip-list{display:flex;flex-wrap:wrap;gap:.65rem;margin:2rem 0}.chip-list span{border:1px solid #3a3a3a;border-radius:100px;padding:.65rem 1rem;color:#bbb;font:600 .58rem "Manrope";letter-spacing:.1em}.ai-block>div:last-child>p:last-child,.equipment-block>div:last-child>p{color:#888;max-width:720px}.equipment-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#333;border:1px solid #333;margin-top:3rem}.equipment-grid div{background:#0a0a0a;padding:2rem;color:#aaa;font:700 .62rem "Manrope";letter-spacing:.12em}.clean-list{display:grid;grid-template-columns:1fr 1fr;gap:.3rem 2rem;max-width:800px}.extras-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#2b2b2b;border:1px solid #2b2b2b}.extras-grid span{background:#080808;padding:1.5rem;color:#aaa;font-size:.9rem}.privacy-clause{display:grid;grid-template-columns:.7fr 2fr;gap:6vw;padding:3rem 5vw;border-top:1px solid #242424;color:#555;font-size:.7rem}.privacy-clause strong{font:700 .58rem "Manrope";letter-spacing:.15em}.privacy-clause p{max-width:850px;margin:0}.about-block>div:last-child>p{max-width:900px}
@media(max-width:900px){.detailed-media article{min-height:0}.clean-list,.extras-grid{grid-template-columns:1fr}.privacy-clause{grid-template-columns:1fr;padding:2rem 1.2rem}.skill-panels article{padding:1.5rem}.equipment-grid{grid-template-columns:1fr}}@media(max-width:560px){.skill-panels article{grid-template-columns:1fr}.detailed-media h3{margin-top:2rem}.dark-timeline li,.detailed-media li,.clean-list li{font-size:.9rem}}
@media print{.privacy-clause{display:grid;color:#555}.detailed-media article{min-height:0}.skill-panels article{background:#fff;border-color:#bbb}.dark-timeline li,.detailed-media li,.clean-list li,.skill-panels p,.extras-grid span{color:#333}.extras-grid,.extras-grid span,.equipment-grid,.equipment-grid div{background:#fff;border-color:#bbb}.chip-list span{color:#333;border-color:#999}}

/* Real project gallery inside a single category slide */
.has-gallery{background:#080808}.has-gallery .inner-shot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.035);transition:opacity 1s ease,transform 3.2s ease;filter:saturate(.9) contrast(1.04) brightness(.9)}.has-gallery .inner-shot.active{opacity:1;transform:scale(1)}.has-gallery:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.62))}.real-badge,.shot-name,.shot-count{position:absolute;z-index:3;color:#fff;font:700 .58rem "Manrope";letter-spacing:.13em;text-shadow:0 2px 8px #000}.real-badge{top:1.3rem;left:1.3rem;padding:.58rem .78rem;background:rgba(0,0,0,.62);border:1px solid rgba(255,255,255,.22);border-radius:100px;backdrop-filter:blur(12px)}.real-badge i{display:inline-block;width:6px;height:6px;margin-right:.45rem;border-radius:50%;background:#4dff7a;box-shadow:0 0 10px #4dff7a}.shot-name{left:1.5rem;bottom:1.35rem}.shot-count{right:1.5rem;bottom:1.35rem;color:#bbb}.demo-label.is-real{color:#62ff8a!important;font-weight:700!important;letter-spacing:.08em!important}
@media(max-width:560px){.real-badge{top:.8rem;left:.8rem;font-size:.48rem}.shot-name,.shot-count{bottom:.9rem}.shot-name{left:1rem}.shot-count{right:1rem}}

/* Cinematic portfolio reveal after the intro */
.portfolio-reveal{position:fixed;inset:0;z-index:45;overflow:hidden;pointer-events:none;perspective:1500px;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.055),transparent 42%)}
.reveal-card{position:absolute;left:50%;top:50%;width:clamp(150px,19vw,330px);aspect-ratio:1.5;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.24);box-shadow:0 25px 75px rgba(0,0,0,.8);opacity:0;will-change:transform,opacity;transform-style:preserve-3d}
.reveal-card img,.reveal-focus img{width:100%;height:100%;display:block;object-fit:cover}
.portfolio-reveal.is-running .reveal-card{animation:projectRush 1.8s cubic-bezier(.16,.72,.22,1) both;animation-delay:var(--delay)}
.reveal-focus{position:fixed;border-radius:32px;overflow:hidden;border:1px solid rgba(255,255,255,.22);box-shadow:0 40px 120px #000;opacity:0;will-change:transform,opacity}
.portfolio-reveal.is-running .reveal-focus{animation:focusProject 1.72s 1.08s cubic-bezier(.18,.82,.16,1) both}
.intro-open .showcase-stage,.showcase-revealing .carousel-shell,.showcase-revealing .project-copy,.showcase-revealing .stage-meta,.showcase-revealing .swipe-note{opacity:0}
.showcase-revealing.reveal-settle .carousel-shell,.showcase-revealing.reveal-settle .project-copy,.showcase-revealing.reveal-settle .stage-meta,.showcase-revealing.reveal-settle .swipe-note{opacity:1;transform:none;transition:opacity .85s ease,transform .95s cubic-bezier(.18,.8,.2,1)}
@keyframes projectRush{0%{opacity:0;transform:translate3d(var(--start-x),var(--start-y),-500px) rotateY(52deg) rotate(var(--tilt)) scale(.45)}18%{opacity:.88}58%{opacity:1;transform:translate3d(var(--mid-x),var(--mid-y),120px) rotateY(-14deg) rotate(var(--tilt)) scale(.82)}100%{opacity:0;transform:translate3d(var(--end-x),var(--end-y),-260px) rotateY(-48deg) rotate(var(--tilt-end)) scale(.38)}}
@keyframes focusProject{0%{opacity:0;transform:translate3d(var(--hero-x),var(--hero-y),-600px) rotateY(22deg) scale(.14);filter:blur(12px)}32%{opacity:1;filter:blur(0)}82%{opacity:1;transform:translate3d(0,0,0) rotateY(0) scale(1)}100%{opacity:0;transform:translate3d(0,0,0) scale(1)}}
@media(max-width:900px){.reveal-focus{border-radius:24px}.reveal-card{width:30vw}.portfolio-reveal.is-running .reveal-card{animation-duration:1.6s}}
@media(max-width:560px){.reveal-focus{border-radius:20px}.reveal-card{width:45vw}}
@media(prefers-reduced-motion:reduce){.portfolio-reveal{display:none}.showcase-revealing .carousel-shell,.showcase-revealing .project-copy,.showcase-revealing .stage-meta{opacity:1;transform:none}}

/* Contact */
.contact-page{margin:0;background:#050505;color:#f5f5f5;min-height:100vh;overflow-x:hidden}.contact-page .contact-nav{top:34px}.contact-main{min-height:100vh;padding:150px 5vw 4vh;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;isolation:isolate}.contact-intro{position:relative;z-index:2}.contact-intro>p{margin:0 0 4vh;color:#777;font:700 .66rem "Manrope";letter-spacing:.18em}.contact-intro h1{max-width:1200px;margin:0;font:700 clamp(4rem,9.5vw,10.5rem)/.82 "Manrope";letter-spacing:-.08em;text-transform:uppercase}.contact-intro h1 em{display:inline-block;color:#ff554c;font-family:Georgia,serif;font-weight:400;text-transform:none}.contact-cards{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #333;border-bottom:1px solid #333;margin-top:8vh}.contact-cards a{min-width:0;min-height:180px;padding:2rem;display:grid;grid-template-columns:1fr auto;align-content:space-between;gap:1.5rem;border-right:1px solid #333;color:#f5f5f5;text-decoration:none;transition:.35s ease}.contact-cards a:last-child{border-right:0}.contact-cards a:hover{background:#ff382f;color:#050505}.contact-cards span{grid-column:1/-1;color:#777;font:700 .6rem "Manrope";letter-spacing:.16em}.contact-cards a:hover span{color:#05050599}.contact-cards strong{font:600 clamp(1.15rem,2vw,2rem) "Manrope";letter-spacing:-.045em;overflow-wrap:anywhere}.contact-cards i{align-self:end;font-size:1.5rem;font-style:normal;transition:transform .3s}.contact-cards a:hover i{transform:rotate(45deg)}.contact-foot{position:relative;z-index:2;display:flex;justify-content:space-between;padding-top:3vh;color:#555;font:700 .56rem "Manrope";letter-spacing:.14em}.contact-orb{position:absolute;border-radius:50%;filter:blur(120px);z-index:-1}.contact-orb-a{width:45vw;height:45vw;right:-7vw;top:5vh;background:#ff382f;opacity:.17}.contact-orb-b{width:30vw;height:30vw;left:-12vw;bottom:-15vh;background:#5445ff;opacity:.12}
@media(max-width:900px){.contact-main{padding:130px 1.2rem 2rem}.contact-intro h1{font-size:13vw}.contact-cards{grid-template-columns:1fr;margin-top:6vh}.contact-cards a{min-height:125px;border-right:0;border-bottom:1px solid #333;padding:1.35rem 1rem}.contact-cards a:last-child{border-bottom:0}.contact-foot{gap:2rem}.contact-foot span:last-child{text-align:right}}
@media(max-width:560px){.showcase-tabs{gap:0}.showcase-tabs a{padding:.35rem .6rem;font-size:.64rem}.contact-main{padding-top:116px}.contact-intro>p{font-size:.55rem;margin-bottom:2rem}.contact-intro h1{font-size:14.5vw;line-height:.9}.contact-cards{margin-top:3rem}.contact-cards a{min-height:108px}.contact-foot{font-size:.48rem}}

/* Video / YouTube portfolio */
.video-page{height:auto;min-height:100vh;overflow-x:hidden;overflow-y:auto}.video-showcase{min-height:100vh;position:relative;overflow:hidden;padding-top:72px}.video-stage{min-height:calc(100vh - 72px);padding:6.2rem 3vw 3rem;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,.7fr);gap:4vw;align-items:center;position:relative}.video-heading{position:absolute;left:3vw;top:2rem;z-index:3}.video-heading p{color:#777;font:700 .62rem "Manrope";letter-spacing:.18em;margin:0 0 .45rem}.video-heading h1{font:700 clamp(1.7rem,3vw,3rem)/.95 "Manrope";letter-spacing:-.055em;margin:0}.video-heading h1 i{color:var(--accent);font-family:Georgia,serif;font-weight:400}.video-carousel-shell{min-width:0;perspective:1600px}.video-carousel{height:min(57vh,620px);position:relative;transform-style:preserve-3d;touch-action:pan-y;cursor:grab}.video-card{position:absolute;left:50%;top:50%;width:min(59vw,900px);aspect-ratio:16/9;border-radius:34px;overflow:hidden;background:#121212;border:1px solid rgba(255,255,255,.14);box-shadow:0 35px 100px rgba(0,0,0,.7);transition:transform .8s cubic-bezier(.18,.8,.2,1),opacity .6s,filter .6s}.video-card[data-pos=active]{z-index:10;transform:translate(-50%,-50%) translateZ(100px);opacity:1}.video-card[data-pos=prev]{z-index:4;transform:translate(-108%,-50%) rotateY(38deg) translateZ(-150px) scale(.73);opacity:.34;filter:brightness(.45)}.video-card[data-pos=next]{z-index:4;transform:translate(8%,-50%) rotateY(-38deg) translateZ(-150px) scale(.73);opacity:.34;filter:brightness(.45)}.video-card[data-pos=far]{z-index:0;transform:translate(-50%,-50%) translateZ(-500px) scale(.5);opacity:0;pointer-events:none}.video-media,.video-media img,.video-media iframe{width:100%;height:100%;display:block}.video-media img{object-fit:cover}.video-media iframe{border:0}.video-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.4));pointer-events:none}.video-play{position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-50%);width:78px;height:78px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(5,5,5,.66);backdrop-filter:blur(14px);color:white;cursor:pointer;transition:.3s}.video-play:hover{background:var(--accent);color:#050505;border-color:var(--accent);transform:translate(-50%,-50%) scale(1.08)}.video-play span{margin-left:4px;font-size:1.15rem}.video-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 60% 35%,rgba(246,200,0,.19),transparent 40%),#111;text-transform:uppercase}.video-placeholder span{font:700 .62rem "Manrope";letter-spacing:.2em;color:var(--accent)}.video-placeholder strong{font:800 clamp(2.5rem,6vw,6rem) "Manrope";letter-spacing:-.07em}.video-controls{width:min(59vw,900px);margin:1.2rem auto 0;display:grid;grid-template-columns:48px auto 1fr 48px;gap:1rem;align-items:center}.video-controls button{width:48px;height:48px;border:1px solid #444;border-radius:50%;background:rgba(255,255,255,.04);color:#fff;font-size:1.1rem;cursor:pointer}.video-controls button:hover{background:var(--accent);border-color:var(--accent);color:#050505}.video-controls>span{font:700 .62rem "Manrope";letter-spacing:.15em;color:#777}.video-progress{height:2px;background:#292929}.video-progress i{display:block;height:100%;background:var(--accent);transition:width .6s}.video-copy{max-width:430px;position:relative;z-index:20}.video-label{font:700 .62rem "Manrope";letter-spacing:.18em;color:var(--accent)}.video-copy h2{font:700 clamp(2.5rem,4.3vw,5rem)/.9 "Manrope";letter-spacing:-.065em;margin:1.4rem 0 1.8rem}.video-copy>p:not(.video-label){color:#aaa}.video-role{margin:2.3rem 0 1.6rem;padding-top:1.1rem;border-top:1px solid #333;color:#777;font:600 .62rem "Manrope";letter-spacing:.12em;line-height:1.8}.video-copy>a{display:inline-block;color:#fff;text-decoration:none;border-bottom:1px solid var(--accent);font:700 .7rem "Manrope";letter-spacing:.1em;padding-bottom:.4rem}.video-copy>a[hidden]{display:none}
@media(max-width:900px){.video-stage{grid-template-columns:1fr;padding-top:7.5rem;gap:1rem}.video-heading{top:1.5rem}.video-carousel{height:42vh}.video-card{width:76vw}.video-controls{width:76vw}.video-copy{width:76vw;max-width:none;margin:auto}.video-copy h2{font-size:2.1rem;margin:.4rem 0 .7rem}.video-copy>p:not(.video-label){font-size:.88rem;margin:.4rem 0}.video-role{margin:.7rem 0;padding-top:.6rem}.video-label{margin:0}}
@media(max-width:560px){.showcase-tabs a{padding:.35rem .46rem;font-size:.58rem}.video-showcase{padding-top:64px}.video-stage{min-height:calc(100vh - 64px);padding:7rem 0 1rem}.video-heading{left:1rem;top:1.2rem}.video-heading h1{font-size:1.55rem}.video-carousel{height:32vh}.video-card{width:82vw;border-radius:21px}.video-card[data-pos=prev]{transform:translate(-104%,-50%) rotateY(34deg) scale(.7)}.video-card[data-pos=next]{transform:translate(4%,-50%) rotateY(-34deg) scale(.7)}.video-controls{width:82vw;grid-template-columns:42px auto 1fr 42px;margin-top:.3rem}.video-controls button{width:42px;height:42px}.video-copy{width:100%;padding:0 1.2rem}.video-copy h2{font-size:1.65rem}.video-copy>p:not(.video-label){font-size:.79rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.video-play{width:62px;height:62px}}
