*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#080808;color:#f5f5f4;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #b5ef86;outline-offset:5px}.shell{max-width:1790px;margin:auto;padding:40px 60px 30px}header{display:flex;align-items:center;gap:34px}.logo{display:block}nav{margin-left:auto;display:flex;gap:36px;font-size:13px;color:#aaa}nav a:hover,footer a:hover{color:white}nav span{margin-left:8px}.email{background:#282828;border-radius:12px;padding:16px 23px;font-size:13px;font-weight:500;letter-spacing:-.26px}.email:hover{background:#383838}.hero{padding:65px 0 40px}.hero h1{font-size:62px;line-height:1.12;margin:17px 0 22px}.hero p{font-size:16px;font-weight:400;line-height:1.4;color:#777;margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:0 5px}.dot{display:inline-block;width:7px;height:7px;flex:none;border-radius:50%;background:#b5ef86;box-shadow:0 0 0 5px #b5ef8625,0 0 10px #b5ef8630;margin:0 12px 0 6px}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 24px 24px;gap:20px}.filters{display:flex;gap:8px}.filters button{background:none;border:1px solid #303030;border-radius:30px;padding:12px 17px;color:#999;font-size:12px;white-space:nowrap;min-height:40px}.filters button[aria-pressed=true]{border-color:#e7e7e7;color:white}.filters button:hover{border-color:#777}.filters small{font-size:9px;color:#777;margin-left:9px}#work-count{font-size:9px;letter-spacing:1.2px;color:#626262;white-space:nowrap}.gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16.5px;align-items:start}.column{display:flex;flex-direction:column;gap:16.5px}.card{display:block;width:100%;text-align:left;border:0;background:#1c1c1c;border-radius:36px;padding:14.85px;transition:background .2s,transform .2s;overflow:hidden}.card:hover{background:#252525;transform:translateY(-3px)}.art{position:relative;width:100%;overflow:hidden;border-radius:24px;background:#252525;aspect-ratio:275.1/var(--height)}.art>img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover}.card-info{display:flex;align-items:center;gap:8.25px;padding:16.5px .825px 4.95px;min-height:56px}.badge{flex:none;width:31.35px;height:31.35px;border-radius:50%;display:grid;place-items:center;font-weight:bold;font-size:9.9px;background:var(--badge);color:#232323}.card h3{margin:0;font-size:15.67px;line-height:1.25;letter-spacing:-.165px}.card-info p{margin:2px 0 0;color:#858585;font-size:9.9px;line-height:1.4}.personal .art{background:none;overflow:visible}.collage{position:absolute;inset:0}.photo{position:absolute;overflow:hidden;border-radius:24px}.photo img{position:absolute;max-width:none}.p1{left:5%;top:3%;width:48.3%;height:63.3%;transform:rotate(-8.88deg)}.p1 img{width:120.85%;height:125.03%;left:-9.48%;top:-25.03%}.p2{left:44%;top:9%;width:44.95%;height:57.1%;transform:rotate(13.33deg)}.p2 img{width:137.6%;height:147.01%;left:-16.37%;top:-23.57%}.p3{left:15%;top:47%;width:72.68%;height:49.3%;transform:rotate(-3.06deg)}.p3 img{width:177.5%;height:177.5%;left:-36.78%;top:-34.01%}.bet-logo{position:absolute;inset:0}.bet-logo img{position:absolute}.bet-symbol{left:29.23%;top:41.41%}.bet-word1{left:42.22%;top:41.54%}.bet-word2{left:42.22%;top:50.37%}.note{font-size:14px;text-align:center;color:#686868;margin:25px 0 0}.about{display:grid;grid-template-columns:2fr 1fr;gap:48px;padding:80px 0 150px}.eyebrow{font-size:10px;font-weight:bold;letter-spacing:1.8px;color:#777;margin:0 0 25px}.about h2{font-size:48px;font-weight:600;line-height:1.05;margin:0}.about h2 span{color:#777}.bio{max-width:500px;padding-top:36px;font-size:16px;line-height:23.8px;color:#777}.bio p{margin:0 0 24px}.bio a{display:inline-block;color:white;border-bottom:1px solid #666;padding-bottom:6px;font-size:14px;margin-top:16px}.bio a span{margin-left:14px}footer{border-top:1px solid #252525;padding-top:24px;display:flex;align-items:center;justify-content:space-between;font-size:14px;color:#707070}.skip{position:fixed;top:-100px;left:20px;background:#b5ef86;color:#080808;padding:15px;z-index:10}.skip:focus{top:15px}dialog{width:min(1000px,calc(100% - 32px));max-height:90vh;border:1px solid #383838;padding:24px;background:#141414;color:white;border-radius:24px}dialog::backdrop{background:#000c;backdrop-filter:blur(8px)}.viewer-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:15px}.viewer-bar h2{font-size:24px;margin:0 0 8px}.viewer-bar p{color:#999;font-size:13px;margin:0}#close{width:44px;height:44px;border-radius:50%;border:1px solid #555;background:#222;font-size:28px;flex:none}#viewer-art>img{width:100%;height:auto;border-radius:12px;display:block}#viewer-art .art{max-width:550px;margin:auto}#viewer-art .personal-images{display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.personal-images img{width:100%;height:300px;object-fit:cover;border-radius:15px}.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:13px;color:#999;margin-top:20px}.viewer-bottom a{white-space:nowrap;color:white}body:has(dialog[open]){overflow:hidden}@media(min-width:1500px){.gallery{gap:16.5px}}@media(max-width:1200px){.shell{padding:30px}.gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.about{grid-template-columns:1.2fr 1fr}.about h2{font-size:40px}.card h3{font-size:14px}}@media(max-width:900px){.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.hero h1{font-size:52px}.hero p{font-size:16px}.about{grid-template-columns:1fr;gap:10px;padding-bottom:80px}.bio{max-width:600px}.toolbar{padding-left:0;padding-right:0}#work-count{display:none}}@media(max-width:640px){.shell{padding:24px 18px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.column{gap:12px}header{gap:14px;flex-wrap:wrap}nav{gap:20px;font-size:12px}.email{margin-left:auto;font-size:11px;padding:12px 15px}.hero{padding:40px 0 30px}.hero h1{font-size:clamp(30px,7.3vw,44px);margin:12px 0 20px}.hero p{display:block;font-size:14px;line-height:1.65}.hero p>span:last-child{display:block;padding-left:25px}.dot{margin-right:12px}.filters{gap:6px;flex-wrap:wrap}.filters button{font-size:11px;padding:11px 12px}.card{padding:9px;border-radius:24px}.art{border-radius:17px}.card-info{gap:7px;padding-top:12px;min-height:52px}.badge{width:24px;height:24px;font-size:8px}.card h3{font-size:12px}.card-info p{font-size:9px}.note{font-size:12px;line-height:1.6}.about{padding-top:60px}.about h2{font-size:clamp(28px,7vw,40px)}.bio{font-size:15px}footer{gap:20px;flex-wrap:wrap;font-size:12px}footer>.logo{width:90px}.personal-images{grid-template-columns:1fr!important}.personal-images img{height:auto}dialog{padding:18px}.viewer-bar h2{font-size:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.bet-logo{inset:auto;left:50%;top:50%;width:275.105px;height:154.747px;transform-origin:center;transform:translate(-50%,-50%) scale(var(--logo-scale,1))}

/* A gentle photo tilt on hover and keyboard focus. */
.personal .photo{transition:transform 280ms ease;will-change:transform}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.personal:hover .p1{transform:rotate(-13deg) translateY(-2px)}.personal:hover .p2{transform:rotate(17deg) translateY(-2px)}.personal:hover .p3{transform:rotate(1deg) translateY(-3px)}}
@media(prefers-reduced-motion:no-preference){.personal:focus-visible .p1{transform:rotate(-13deg) translateY(-2px)}.personal:focus-visible .p2{transform:rotate(17deg) translateY(-2px)}.personal:focus-visible .p3{transform:rotate(1deg) translateY(-3px)}}

.empty-state{grid-column:1/-1;text-align:center;padding:80px 24px;margin:0;color:#858585;font-size:16px}.filters{flex-wrap:wrap}
html[data-theme=light] body{background:#f6f5f2;color:#202020}
html[data-theme=light] .logo{filter:invert(1)}
html[data-theme=light] nav,html[data-theme=light] .hero p,html[data-theme=light] .bio,html[data-theme=light] .eyebrow,html[data-theme=light] .about h2 span,html[data-theme=light] .note,html[data-theme=light] .empty-state{color:#666}
html[data-theme=light] nav a:hover,html[data-theme=light] footer a:hover{color:#111}
html[data-theme=light] .email{background:#e7e6e2;color:#202020}html[data-theme=light] .email:hover{background:#dcdad5}
html[data-theme=light] .filters button{border-color:#d3d0ca;color:#62605b}html[data-theme=light] .filters button[aria-pressed=true]{border-color:#242424;color:#202020}html[data-theme=light] .filters button:hover{border-color:#888}
html[data-theme=light] #work-count,html[data-theme=light] .filters small{color:#6c6963}
html[data-theme=light] .card{background:#e9e7e2}html[data-theme=light] .card:hover{background:#dfddd7}html[data-theme=light] .card-info p{color:#64615c}
html[data-theme=light] .bio a{color:#202020;border-color:#999}html[data-theme=light] footer{border-color:#d7d4ce;color:#666}
html[data-theme=light] .dot{background:#5b8e39;box-shadow:0 0 0 5px #5b8e391a,0 0 10px #5b8e3920}
html[data-theme=light] :is(button,a):focus-visible{outline-color:#557f36}
html[data-theme=light] dialog{background:#f6f5f2;color:#202020;border-color:#d3d0ca}html[data-theme=light] .viewer-bar p,html[data-theme=light] .viewer-bottom{color:#666}html[data-theme=light] .viewer-bottom a{color:#202020}html[data-theme=light] #close{background:#e7e6e2;color:#202020;border-color:#ccc9c2}
@media(max-width:900px){header{gap:18px}nav{gap:20px}}
@media(max-width:640px){header{gap:12px}.email{order:3}nav{gap:16px}}

.designer{display:inline-flex;align-items:center;gap:6px;font-size:20px;font-weight:650;letter-spacing:-.05em;white-space:nowrap}
.designer img{width:34px;height:34px;border-radius:50%;object-fit:cover}
.hero h1{font-family:inherit;font-weight:600}
.hero h1,.about h2{letter-spacing:-.02em}
@media(max-width:640px){.designer{font-size:16px}.designer img{width:26px;height:26px}}

.art video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#viewer-art video{display:block;max-width:100%;max-height:75vh;margin:auto}

.composition{display:block;width:100%;background-size:100% 100%;background-repeat:no-repeat}.art .composition{height:100%}
.column{position:relative}

.card.personal .art{aspect-ratio:275.1/270.6}
.personal .photo img{inset:0;width:100%;height:100%;object-fit:cover}
@media(prefers-reduced-motion:reduce){.personal .photo{transition:none}}


.art .full-page-art{height:auto}
.card[data-project="ingenia"] .art{background:#8700ff}
#viewer-art figure{margin:24px 0}
#viewer-art figure img{display:block;width:100%;height:auto;border-radius:12px}
#viewer-art figcaption{margin-top:8px;font-size:14px}

.original-art{display:block;width:100%;height:auto;pointer-events:none}
.art>.original-art{height:100%}

#viewer-art>.original-art{border-radius:12px;overflow:hidden}

.campaign-motion{position:relative;overflow:hidden;border-radius:inherit}
.campaign-video-panel{position:absolute;z-index:1;inset:0 0 auto;height:62.65%;overflow:hidden}
.campaign-video-panel video,#viewer-art .campaign-video-panel video{display:block;width:100%;height:100%;max-height:none;object-fit:cover}

#viewer-art video[data-project="ingenia-identity"]{width:100%;aspect-ratio:16/9;object-fit:contain}
