@font-face{font-family:DM;src:url(assets/font-1.ttf)}@font-face{font-family:Editorial;src:url(assets/font-0.ttf);font-style:italic}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:#22251d;background:#f5f2e9;font-family:DM,Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;background:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #d3332c;outline-offset:6px}button,a,summary{touch-action:manipulation}em{font-family:Editorial,Georgia,serif;font-weight:400}.skip{position:absolute;top:-60px}.skip:focus{top:10px;z-index:100;background:white;padding:15px}header{height:86px;padding:0 3%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #22251d40;background:#f5f2e9;position:relative;z-index:3}.brand{font-size:17px;letter-spacing:-.5px}.brand span{display:block;font-size:10px;letter-spacing:.3px;margin-top:3px}nav{display:flex;gap:35px;font-size:13px}sup{font-size:9px}#motion{font-size:11px;border-bottom:1px solid;padding:5px 0}.hero{padding:0 3%;overflow:hidden}.topline{display:flex;justify-content:space-between;font-size:11px;padding:20px 0}.composition{height:min(770px,75vw);min-height:620px;position:relative}.hero-intro{position:absolute;top:32px;left:0;z-index:2}.tiny,.section-label{font-size:10px;letter-spacing:1.4px}.hero-intro p{font-size:21px;line-height:1.25;letter-spacing:-.5px;margin-top:16px}.hero-intro em{font-size:27px}h1{margin:0;font-weight:400;line-height:.75;letter-spacing:-1.4vw;position:absolute;inset:50px 0 auto;z-index:1;pointer-events:none}.first{display:block;margin-left:31%;font-family:Editorial,Georgia,serif;font-style:italic;font-size:21vw;letter-spacing:-1vw;position:relative;z-index:2}.last{font-size:19.4vw;display:block;margin-left:1%;margin-top:1.2vw}.last .star{font-size:10vw;display:inline-block;vertical-align:top;animation:turn 28s linear infinite;margin:3vw 0 0 1vw;color:#d3332c}.art{position:absolute;padding:0;overflow:hidden;box-shadow:0 12px 25px #1d261620;will-change:transform}.art img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.art:hover img{transform:scale(1.1)}.art span{position:absolute;bottom:10px;left:12px;color:white;font-size:10px;text-shadow:0 1px 6px black}.art-one{width:16.5%;height:290px;left:23%;top:0;transform:rotate(-11deg);z-index:0;animation:floatone 9s ease-in-out infinite}.art-two{width:18%;height:210px;right:4%;top:40px;transform:rotate(9deg);z-index:0;animation:floattwo 10s ease-in-out infinite}.art-two img{object-position:70%}.note{position:absolute;left:17%;top:66%;padding:22px;background:#d5ed3f;transform:rotate(-7deg);font-size:17px;text-align:left;line-height:1.1;z-index:2;box-shadow:3px 4px 0 #22251d}.note span{display:inline-block;margin-left:20px;font-size:30px}.note:hover{transform:rotate(0deg) translateY(-8px)}.orbit{position:absolute;right:19%;top:65%;border:1px solid #d3332c;color:#d3332c;border-radius:50%;width:110px;height:110px;display:grid;place-items:center;font-size:10px;text-align:center;line-height:1.5;padding:20px;transform:rotate(12deg)}.intro-bottom{position:absolute;bottom:28px;left:0;right:0;display:flex;justify-content:space-between;align-items:end;font-size:12px;line-height:1.5}.intro-bottom a{display:flex;gap:30px;align-items:center}.intro-bottom a span{font-size:35px}.quickwork{display:flex;align-items:center;justify-content:space-between;border-top:1px solid;padding:22px 0 28px;gap:15px}.quickwork button{font-size:14px;padding:10px 0}.quickwork button:hover{color:#d3332c}.about{padding:100px 6%;background:#dde4ec;display:grid;grid-template-columns:1fr 4fr;gap:50px}.about-copy h2{font-size:clamp(42px,6.1vw,94px);font-weight:400;letter-spacing:-3px;line-height:1.02;margin:0 0 50px}.bio{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:780px;font-size:16px;line-height:1.55}.bio p{margin:0}.textlink{grid-column:2;text-align:left;border-bottom:1px solid;padding:12px 0;display:flex;justify-content:space-between}.practice{grid-column:2;max-width:850px;margin-top:25px}.practice>.tiny{display:block;margin-bottom:25px}details{border-top:1px solid #22251d70}details:last-child{border-bottom:1px solid #22251d70}summary{list-style:none;cursor:pointer;padding:20px 0;display:flex;justify-content:space-between;font-size:26px;letter-spacing:-.8px}summary::-webkit-details-marker{display:none}summary span{font-size:12px}details p{max-width:500px;font-size:15px;line-height:1.5;padding:0 0 22px;margin:0}.work{padding:90px 6% 70px}.work-head{display:grid;grid-template-columns:1fr 3fr 1fr;gap:30px;align-items:start;margin-bottom:70px}.work-head h2{font-size:clamp(35px,4.5vw,70px);font-weight:400;line-height:1.05;letter-spacing:-2px;margin:0}.work-head p{font-size:12px;line-height:1.5}.project-list button{width:100%;display:grid;grid-template-columns:.3fr 3.5fr 1.2fr .3fr;align-items:center;text-align:left;padding:32px 0;border-top:1px solid #22251d70;transition:padding .4s,color .4s,background .4s}.project-list button:last-child{border-bottom:1px solid #22251d70}.project-list button:hover{padding-left:25px;padding-right:25px;background:#d5ed3f}.num{font-size:11px}.project-title{font-size:clamp(40px,5.3vw,80px);letter-spacing:-2px}.project-type{font-size:9px;line-height:1.6;letter-spacing:.7px}.arrow{font-size:40px;transition:transform .4s}.project-list button:hover .arrow{transform:rotate(45deg)}.credit{font-size:10px;margin-top:24px}.play{display:grid;grid-template-columns:1fr 1fr;background:#d3332c;color:#f5f2e9;overflow:hidden}.play-art{margin:7vw 4vw 7vw 7vw;position:relative;transform:rotate(-6deg)}.play-art img{width:100%;height:100%;object-fit:cover;max-height:600px;display:block}.play-caption{position:absolute;bottom:14px;left:14px;background:#f5f2e9;color:#22251d;font-size:9px;padding:8px}.play-copy{padding:7vw 6vw 7vw 0;position:relative;align-self:center}.play h2{font-size:clamp(70px,10vw,155px);line-height:.8;font-weight:400;letter-spacing:-5px;margin:60px 0 35px}.play h2 .star{position:absolute;font-size:70px;right:8%;top:30%;animation:turn 20s linear infinite}.play p{font-size:17px;line-height:1.5}.pill{border:1px solid;border-radius:40px;padding:16px 24px;font-size:13px;margin-top:20px}.pill:hover{background:#f5f2e9;color:#d3332c}footer{padding:75px 6% 30px}.hello{display:flex;font-size:clamp(70px,14vw,220px);letter-spacing:-7px;line-height:1.2;gap:2vw;padding:35px 0 55px}.hello>span{margin-left:auto;transition:transform .4s}.hello:hover>span{transform:rotate(45deg)}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid;padding-top:24px;font-size:11px;line-height:1.6}dialog{border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:95px 7% 70px;color:#22251d;background:#f5f2e9;overflow:auto}dialog[open]{animation:enter .5s cubic-bezier(.2,.8,.2,1)}dialog::backdrop{background:#22251d99}.close{position:fixed;right:3%;top:25px;padding:13px 22px;border:1px solid;border-radius:30px;background:#f5f2e9;z-index:10}dialog h2{font-size:clamp(50px,8vw,110px);line-height:1;letter-spacing:-3px;font-weight:400;margin:30px 0}.project-context{display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:1000px;font-size:17px;line-height:1.5;margin:35px 0 55px}.project-context .tiny{display:block;margin-bottom:12px}.project-image{width:100%;height:auto;display:block;border:1px solid #22251d30}.project-footer{display:flex;justify-content:space-between;align-items:center;margin-top:30px;font-size:12px}.info-content{max-width:1000px;margin:auto}.info-content p{font-size:20px;line-height:1.6;max-width:750px}.info-content ul{padding-left:20px;font-size:17px;line-height:1.8}.studies{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:50px}.studies img{width:100%;aspect-ratio:3/4;object-fit:cover}.studies figcaption{font-size:11px;margin-top:15px}.studies figure{margin:0}.dialog-open{overflow:hidden}.paused *{animation-play-state:paused!important}.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}@keyframes turn{to{transform:rotate(360deg)}}@keyframes floatone{50%{transform:translateY(15px) rotate(-5deg)}}@keyframes floattwo{50%{transform:translateY(-12px) rotate(3deg)}}@keyframes enter{from{transform:translateY(100%)}}@media(min-width:1600px){.composition{height:800px}h1{inset:40px 0 auto}.first{font-size:330px}.last{font-size:310px}.art-one{height:320px}}@media(max-width:800px){header{height:75px;padding:0 5%}.brand{font-size:15px}.brand span{font-size:8px}nav{gap:16px;font-size:11px}nav a:first-child{display:none}#motion{position:absolute;right:5%;top:92px;font-size:9px;z-index:4}.hero{padding:0 5%}.topline{font-size:9px;padding-top:25px}.topline>span:last-child{display:none}.composition{height:720px;min-height:0}.hero-intro{top:24px}.hero-intro .tiny{font-size:8px}.hero-intro p{font-size:19px}.first{font-size:32vw;margin-left:5%;letter-spacing:-2vw}.last{font-size:22vw;letter-spacing:-1.7vw;margin-top:14px;margin-left:0}.last .star{font-size:10vw;margin:2vw 0 0 0}h1{top:245px}.art-one{width:30%;height:210px;left:56%;top:25px;z-index:0}.art-two{width:35%;height:160px;right:7%;top:420px;z-index:0}.art span{font-size:8px;left:8px}.note{left:4%;top:445px;font-size:15px;padding:17px}.note span{font-size:25px;margin-left:10px}.orbit{display:none}.intro-bottom{bottom:15px;font-size:10px;align-items:center}.intro-bottom>span:last-child{display:none}.quickwork{display:grid;grid-template-columns:1fr 1fr;gap:0 15px;padding:20px 0}.quickwork>.tiny{grid-column:1/-1;margin-bottom:15px}.quickwork button{text-align:left;font-size:13px}.about{padding:65px 6%;display:block}.about>.section-label{margin-bottom:35px}.about-copy h2{font-size:44px;letter-spacing:-2px;margin-bottom:35px}.bio{display:block;font-size:15px}.bio p{margin-bottom:20px}.textlink{width:100%;margin:20px 0 40px}.practice{margin-top:35px}summary{font-size:24px}.work{padding:60px 6%}.work-head{display:block;margin-bottom:40px}.work-head h2{font-size:41px;margin:30px 0 20px}.work-head p{font-size:13px}.project-list button{grid-template-columns:.3fr 3fr .4fr;gap:5px;padding:25px 0}.project-title{font-size:37px;letter-spacing:-1.6px}.project-type{grid-column:2;grid-row:2;font-size:8px;margin-top:10px}.arrow{grid-column:3;grid-row:1/3;font-size:30px}.project-list button:hover{padding-left:10px;padding-right:10px}.credit{line-height:1.6}.play{grid-template-columns:1fr;position:relative}.play-art{margin:50px 18% 0 8%;height:300px}.play-copy{padding:55px 8% 65px}.play h2{font-size:110px;letter-spacing:-4px;margin:40px 0 30px}.play h2 .star{top:30%;right:12%}footer{padding:55px 6% 30px}.hello{font-size:20vw;letter-spacing:-3px;padding:30px 0 40px}.footer-bottom{flex-wrap:wrap;gap:25px}.footer-bottom>a:last-child{width:100%}dialog{padding:90px 6% 40px}dialog h2{font-size:56px;letter-spacing:-2px}.project-context{display:block;font-size:16px;margin:25px 0}.project-context>div{margin-bottom:25px}.project-footer{align-items:start;gap:25px;line-height:1.6}.studies{display:block}.studies figure{margin-bottom:30px}.info-content p{font-size:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

.star{font-family:Arial,sans-serif}h1{transform:translate(var(--px,0px),var(--py,0px));transition:transform .6s ease-out}

.star svg{width:1em;height:1em;display:block}.play h2 .star{width:1em;height:1em}
/* Color-led revision: original identity artwork, no decorative stock imagery. */
:root{--ink:#17151b;--paper:#fff;--orange:#ff693a;--lilac:#bba8f9}body{color:var(--ink);background:var(--paper)}header{background:var(--paper);height:100px;padding:0 4%;border-bottom:0}nav{gap:45px;font-size:22px;letter-spacing:-.7px}.brand{font-size:20px}.hero{position:relative;padding:0 4%;background:#fff;isolation:isolate}.color-cloud{position:absolute;pointer-events:none;z-index:-1;border-radius:45%;filter:blur(45px);opacity:.9;animation:cloudmove 12s ease-in-out infinite alternate}.cloud-one{width:55vw;height:45vw;top:-20vw;left:24%;background:radial-gradient(ellipse at 25% 60%,#ff65db 5%,transparent 60%),radial-gradient(ellipse at 75% 45%,#ffd82d 15%,#ff975d 40%,transparent 70%)}.cloud-two{width:48vw;height:45vw;top:200px;left:-15vw;background:radial-gradient(ellipse at 40% 70%,#a48cfb 10%,#8dd4ff 45%,transparent 70%);animation-delay:-4s}.cloud-three{width:45vw;height:40vw;top:350px;right:-15vw;background:radial-gradient(ellipse at 45% 45%,#f1ef51 10%,#cce950 40%,transparent 70%);animation-delay:-8s}.hero:after{content:"";position:absolute;inset:0;opacity:.045;z-index:-1;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='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.35' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.topline{border-top:1px solid #17151b60;padding:18px 0;font-size:9px;letter-spacing:1px}.composition{height:810px;min-height:0}.composition h1{top:12px;left:0;right:0;line-height:.82;letter-spacing:-1.5vw;transform:none}.first{display:inline;font-size:17vw;margin:0;font-family:Editorial,Georgia,serif;letter-spacing:-1.2vw}.last{display:inline;font-size:14.5vw;letter-spacing:-1vw;margin:0 0 0 1vw}.spark{font-size:9vw;color:var(--ink);vertical-align:top;display:inline-block;animation:turn 24s linear infinite;margin-left:1vw;line-height:1}.hero-intro{top:300px;left:3%}.hero-intro>.tiny{font-size:12px}.hero-intro p{font-size:clamp(33px,4vw,60px);letter-spacing:-1.8px;line-height:1.13;margin:20px 0 10px}.hero-intro em{font-size:1.13em}.hero-intro .textlink{font-size:13px;max-width:220px;margin-top:30px}.identity-stack{position:absolute;right:7%;top:230px;width:300px;height:360px;padding:0;perspective:1400px;transform:translateY(var(--scroll-y,0px)) rotate(var(--scroll-rotate,0deg));transition:transform .1s linear;z-index:2}.identity-card{position:absolute;inset:0;border:1px solid #17151b;box-shadow:5px 8px 0 #17151b18;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.card-front{background:var(--orange);display:flex;flex-direction:column;justify-content:space-between;text-align:left;padding:20px;transform:rotate(-6deg) rotateX(var(--rx,0deg)) rotateY(calc(var(--ry,0deg) + var(--scroll-flip,0deg)));animation:cardbreath 7s ease-in-out infinite}.card-front strong{font-family:Editorial,Georgia,serif;font-style:italic;font-size:230px;letter-spacing:-21px;line-height:.7;font-weight:400;margin-left:2px}.card-front strong span{color:#5025b8}.card-kicker{font-size:8px;letter-spacing:1.3px}.card-foot{font-size:9px;letter-spacing:1px;display:flex;justify-content:space-between;align-items:center}.card-foot>span{font-size:27px}.card-mid{background:#c7b4ff;transform:rotate(7deg) translate(12px,5px);padding:50px 20px;font-size:56px;line-height:1;text-align:left}.card-back{background:#dbf465;transform:rotate(14deg) translate(20px,10px);padding:30px 20px;font-size:42px;line-height:1;font-weight:bold;text-align:left}.identity-stack:hover .card-front{transform:rotate(-16deg) translate(-30px,-15px) rotateY(-15deg)}.identity-stack:hover .card-mid{transform:rotate(10deg) translate(30px,0)}.identity-stack:hover .card-back{transform:rotate(22deg) translate(55px,5px)}.hero-bottom{position:absolute;bottom:25px;left:0;right:0;display:flex;justify-content:space-between;align-items:end;gap:30px;font-size:12px;line-height:1.5}.hero-bottom>span{font-size:8px;letter-spacing:1px;max-width:230px}.hero-bottom p{margin:0}.hero-bottom a{border-bottom:1px solid;padding-bottom:6px}.quickwork{border-top:1px solid #17151b60}.quickwork button:hover{color:#5025b8}.about{background:#d3bafd;position:relative}.about-copy h2 em{color:#4b258b}.practice{margin-top:0}details{border-color:#17151b70}details[open]{color:#452480}summary{font-size:30px}.work{background:#18161b;color:#f1eee8}.project-list button{border-color:#f1eee860}.project-list button:last-child{border-color:#f1eee860}.project-list button:hover{color:#17151b;background:#bba8f9}.project-list button:nth-child(2):hover{background:#ed9dc4}.project-list button:nth-child(3):hover{background:#ffbd7a}.project-list button:nth-child(4):hover{background:#dcf18b}.project-list button .project-title{transition:transform .5s}.project-list button:hover .project-title{transform:translateX(12px)}.play{background:#f5c6dd;color:#17151b;isolation:isolate;position:relative}.cloud-four{width:600px;height:600px;right:-150px;top:-100px;background:radial-gradient(circle,#ffb657,#ff76bc 50%,transparent 70%)}.play-art{transform:none;margin:5vw 4vw 5vw 6vw;height:480px}.type-lab{--lab-0:#a5b9ff;--lab-1:#ff6b31;--lab-2:#dafb6c;display:flex;flex-direction:column;justify-content:space-between}.type-composition{height:330px;position:relative;isolation:isolate}.type-composition>span{position:absolute;transition:transform .8s,color .8s,background .8s}.lab-good{font-family:Editorial,Georgia,serif;font-style:italic;font-size:120px;top:0;left:0;z-index:2;line-height:1}.lab-ideas{font-size:105px;top:90px;left:8%;letter-spacing:-8px;background:var(--lab-0);transform:rotate(-6deg);padding:0 12px;line-height:1.1;z-index:3}.lab-happen{font-family:Editorial,Georgia,serif;font-style:italic;font-size:82px;top:210px;left:20%;letter-spacing:-3px;z-index:5}.lab-star{color:var(--lab-1);font-size:140px;right:0;top:0;z-index:0;animation:turn 20s linear infinite}.lab-circle{width:130px;height:130px;border:23px solid var(--lab-2);border-radius:50%;left:5%;bottom:0}.lab-controls{display:flex;gap:15px;margin-top:20px}.lab-controls button{border:1px solid;padding:12px 15px;border-radius:24px;font-size:11px;background:#f1eee850}.lab-controls button:hover{background:var(--lab-2)}.type-composition.mixed .lab-good{transform:translate(80px,15px) rotate(-12deg)}.type-composition.mixed .lab-ideas{transform:translate(-25px,30px) rotate(7deg)}.type-composition.mixed .lab-happen{transform:translate(-25px,10px) rotate(-5deg)}.type-composition.mixed .lab-circle{transform:translate(200px,-100px)}.play-copy{padding:6vw 6vw 6vw 0}.play-copy h2{font-size:9vw;letter-spacing:-4px}.lab-note{font-size:11px!important;max-width:230px}footer{background:#d6f58b}.hello em{transition:color .4s}.hello:hover em{color:#592cc0}dialog{background:#fff}.close{background:#d6f58b}.project-image{background:white}.info-content h2 em{color:#632abb}.paused .identity-stack,.paused h1{transform:none!important}@keyframes cloudmove{to{translate:30px 35px;scale:1.12}}@keyframes cardbreath{50%{box-shadow:15px 22px 0 #17151b14}}@media(max-width:1000px) and (min-width:801px){.identity-stack{right:5%;width:260px;height:320px}.card-front strong{font-size:200px}.composition{height:760px}.hero-intro{top:290px}}@media(max-width:800px){header{height:85px;padding:0 5%}.brand{font-size:15px}nav{font-size:15px;gap:20px}#motion{top:99px;font-size:9px}.hero{padding:0 5%}.topline{padding:17px 0;font-size:8px}.topline>span:first-child{max-width:220px}.composition{height:920px}.composition h1{top:15px;line-height:.76}.first{display:block;font-size:30vw;letter-spacing:-2vw}.last{display:block;font-size:23vw;margin:15px 0 0;letter-spacing:-1.5vw}.spark{font-size:13vw;margin-left:5px;vertical-align:middle}.hero-intro{top:270px;left:0}.hero-intro>.tiny{font-size:10px}.hero-intro p{font-size:34px;letter-spacing:-1px}.hero-intro .textlink{margin:15px 0 0;width:180px}.identity-stack{width:185px;height:220px;top:520px;right:10%;}.card-front{padding:13px}.card-front strong{font-size:148px;letter-spacing:-13px}.card-kicker{font-size:6px;letter-spacing:.7px}.card-foot{font-size:6px}.card-foot>span{font-size:20px}.card-mid{font-size:38px;padding:25px 15px}.card-back{font-size:28px;padding:20px 15px}.hero-bottom{bottom:25px;display:grid;grid-template-columns:1fr 1fr;font-size:11px;gap:20px;align-items:end}.hero-bottom>span{display:none}.hero-bottom a{font-size:10px;text-align:right}.cloud-one{width:130vw;height:100vw;top:-25vw;left:0;filter:blur(30px)}.cloud-two{width:100vw;height:100vw;top:320px;left:-50vw;filter:blur(30px)}.cloud-three{width:110vw;height:110vw;top:500px;right:-50vw;filter:blur(30px)}.quickwork>.tiny{font-size:8px}.about{padding:60px 6%}.about-copy h2{font-size:43px}.practice{margin-top:40px}.play-art{height:430px;margin:50px 7% 0}.type-composition{height:310px}.lab-good{font-size:100px}.lab-ideas{font-size:84px;letter-spacing:-6px;top:90px}.lab-happen{font-size:70px;left:10%;top:200px}.lab-star{font-size:100px;top:10px;right:0}.lab-circle{width:100px;height:100px;border-width:18px}.type-composition.mixed .lab-good{transform:translate(40px,15px) rotate(-12deg)}.type-composition.mixed .lab-circle{transform:translate(160px,-100px)}.lab-controls{gap:8px}.lab-controls button{font-size:10px;padding:12px}.play-copy{padding:60px 7%}.play-copy h2{font-size:105px;letter-spacing:-4px;margin:35px 0}.play-copy>p{font-size:16px}.cloud-four{width:500px;height:500px;right:-240px;top:400px}.hello{font-size:19vw}.project-list button:hover .project-title{transform:none}}

.marquee{overflow:hidden;background:#ff693a;color:#17151b;border-top:1px solid;border-bottom:1px solid;padding:24px 0;white-space:nowrap}.marquee>div{display:inline-block;font-size:clamp(35px,5vw,75px);letter-spacing:-2px;animation:marquee 30s linear infinite}.marquee i{font-style:normal;padding:0 30px;font-size:.85em}.marquee:hover>div{animation-play-state:paused}.composition h1 .first{animation:headingin 1s cubic-bezier(.2,.8,.2,1) both}.composition h1 .last{animation:headingin 1s .12s cubic-bezier(.2,.8,.2,1) both}.identity-stack{animation:stackin 1.2s .2s both}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes headingin{from{opacity:0;filter:blur(7px)}to{opacity:1;filter:blur(0)}}@keyframes stackin{from{opacity:0;translate:0 60px}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:reduce){.color-cloud,.identity-stack,.identity-card,.marquee>div{animation:none!important;transform:none!important}.reveal{opacity:1;transform:none}}
/* Portrait and dedicated capability pages */
.headshot{width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:50%;display:block;max-height:265px}.practice-link{display:flex;justify-content:space-between;align-items:start;gap:25px;border-top:1px solid #17151b70;padding:24px 0;font-size:30px;letter-spacing:-.8px;transition:padding .25s,color .25s}.practice-link:last-child{border-bottom:1px solid #17151b70}.practice-link span{font-size:12px;white-space:nowrap;padding-top:10px}.practice-link:hover{padding-left:12px;color:#452480}.discipline-hero{padding:30px 6% 85px;background:var(--accent);position:relative;overflow:hidden}.back-link{font-size:13px;display:block;margin-bottom:65px}.discipline-hero>.section-label{display:block}.discipline-hero h1{position:relative;inset:auto;transform:none;font-size:clamp(60px,9vw,140px);font-weight:400;line-height:.95;letter-spacing:-.055em;margin:35px 0 65px;max-width:1100px;pointer-events:auto;z-index:1}.discipline-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;position:relative;z-index:1;max-width:1050px}.discipline-intro h2{font-size:38px;line-height:1.1;letter-spacing:-1.5px;font-weight:400;margin:0}.discipline-intro p{font-size:18px;line-height:1.6;margin:0}.discipline-mark{position:absolute;right:-40px;bottom:-150px;font-size:500px;line-height:1;opacity:.12;pointer-events:none}.approach-section{padding:80px 6%}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:45px}.approach-card{border-top:1px solid;padding-top:22px}.approach-card h3{font-size:27px;font-weight:400;letter-spacing:-1px}.approach-card p{font-size:16px;line-height:1.6;max-width:330px}.discipline-work{background:#18161b;color:white;padding:75px 6%}.discipline-project{margin-top:55px;display:grid;grid-template-columns:1fr 1.7fr;gap:50px;align-items:start;border-top:1px solid #ffffff50;padding-top:40px}.discipline-project h3{font-family:Editorial,Georgia,serif;font-style:italic;font-size:58px;font-weight:400;line-height:1;margin:22px 0}.discipline-project p{line-height:1.6;font-size:16px}.discipline-project .credit{font-size:11px;opacity:.7}.discipline-project img{width:100%;height:auto;display:block}.more-practice{padding:75px 6%;background:#fff}.more-practice>.section-label{display:block;margin-bottom:35px}.more-practice a{display:flex;justify-content:space-between;gap:20px;padding:25px 0;border-top:1px solid;font-size:30px;letter-spacing:-.8px}.more-practice a[aria-current]{color:#6431a6}.more-practice a:hover{background:var(--accent)}.discipline-page footer{background:var(--accent)}
@media(max-width:800px){.headshot{max-height:160px}.practice-link{font-size:25px}.practice-link span{padding-top:6px}.discipline-page nav{font-size:13px}.discipline-hero{padding:25px 6% 55px}.back-link{margin-bottom:45px}.discipline-hero h1{font-size:clamp(48px,11vw,80px);margin:30px 0 45px;letter-spacing:-2.8px}.discipline-intro{grid-template-columns:1fr;gap:25px}.discipline-intro h2{font-size:32px}.discipline-intro p{font-size:16px}.discipline-mark{font-size:350px;bottom:-110px;right:-90px}.approach-section,.discipline-work,.more-practice{padding:55px 6%}.approach-grid{grid-template-columns:1fr;gap:25px;margin-top:30px}.approach-card h3{margin:18px 0}.approach-card p{max-width:none}.discipline-project{grid-template-columns:1fr;gap:25px;margin-top:35px}.discipline-project h3{font-size:48px}.more-practice a{font-size:25px}}
.brand{position:relative;padding-left:48px}.brand-mark{position:absolute;left:0;top:50%;transform:translateY(-50%);width:35px;height:35px;object-fit:contain}.discipline-mark{width:380px;height:380px;object-fit:contain;bottom:-80px;right:-40px;opacity:.1;transform:rotate(-15deg)}.practice-link:hover span{transform:rotate(-12deg)}.practice-link span{transition:transform .3s}.card-front .headshot{outline:1px solid #17151b30;outline-offset:4px}@media(max-width:800px){.brand{padding-left:34px}.brand-mark{width:25px;height:25px}.discipline-mark{width:270px;height:270px;right:-70px;bottom:-70px}}
.footer-invite{display:flex;justify-content:space-between;align-items:center;gap:30px}.little-idea{--idea-color:#bba8f9;width:150px;flex-shrink:0;padding:0;transform:rotate(8deg);transition:transform .3s}.little-idea svg{display:block;width:100%;height:auto;overflow:visible}.idea-body{transform-origin:90px 140px;animation:idea-bob 4s ease-in-out infinite}.idea-shape{fill:var(--idea-color);transition:fill .4s}.idea-eyes{transform-origin:90px 70px;animation:idea-blink 6s infinite}.idea-caption{display:block;font-size:9px;letter-spacing:.3px;margin-top:8px;white-space:nowrap}.little-idea:hover,.little-idea:focus-visible{transform:rotate(-8deg) scale(1.06)}.idea-happy .idea-smile{stroke-width:7}.idea-happy .idea-body{animation-duration:1.5s}@keyframes idea-bob{50%{transform:translateY(-5px) rotate(-5deg)}}@keyframes idea-blink{0%,44%,48%,100%{transform:scaleY(1)}46%{transform:scaleY(.1)}}@media(max-width:800px){.little-idea{width:110px}.footer-invite>.section-label{max-width:180px;line-height:1.6}.idea-caption{font-size:8px}}@media(prefers-reduced-motion:reduce){.idea-body,.idea-eyes{animation:none!important}.little-idea{transition:none}}
.quickwork>a{font-size:14px;padding:10px 0}.quickwork>a:hover{color:#5025b8}.discipline-list>a{display:grid;width:100%;grid-template-columns:.3fr 3.5fr 1.2fr .3fr;align-items:center;gap:15px;padding:35px 0;border-top:1px solid #ffffff60;transition:padding .4s,background .4s,color .4s}.discipline-list>a:last-child{border-bottom:1px solid #ffffff60}.discipline-list>a:hover{background:#bba8f9;color:#17151b;padding-left:25px;padding-right:25px}.discipline-list>a:nth-child(2):hover{background:#ed9dc4}.discipline-list>a:nth-child(3):hover{background:#dcf18b}.discipline-list .project-title{font-size:clamp(30px,4.1vw,66px);line-height:1.13;letter-spacing:-1.8px}.discipline-list>a:hover .arrow{transform:rotate(45deg)}.personal-hero{padding:30px 6% 80px;background:#d3bafd}.personal-hero h1{position:static;inset:auto;font-size:clamp(65px,9vw,140px);line-height:.95;font-weight:400;letter-spacing:-.05em;margin:30px 0 65px;transform:none}.personal-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:8%;align-items:start}.about-portrait{width:100%;height:auto}.personal-grid p,.resume-section p{font-size:18px;line-height:1.6;margin-top:0}.personal-grid .textlink{display:block}.resume-download{display:inline-block;margin:0 0 60px;background:white}.resume-section{display:grid;grid-template-columns:1fr 3fr;gap:40px;border-top:1px solid;padding-top:35px;margin-bottom:45px}.resume-section h2{font-size:30px;line-height:1.15;font-weight:400;letter-spacing:-1px;margin:0 0 25px}.resume-section h3{font-size:19px;margin:25px 0 10px}.resume-section h2:not(:first-child){margin-top:45px}.little-idea{width:68px;transform:rotate(5deg)}.idea-caption{font-size:9px}.cat-body{transform-origin:50px 70px;animation:cat-sway 6s ease-in-out infinite}.cat-eyes{transform-origin:50px 49px;animation:cat-blink 7s infinite}.cat-happy .cat-eyes{transform:scaleY(.2);animation:none}.cat-happy .cat-body{animation-duration:1s}@keyframes cat-sway{50%{transform:rotate(-7deg)}}@keyframes cat-blink{0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.1)}}@media(max-width:800px){.discipline-list>a{grid-template-columns:20px 1fr 25px;gap:10px;padding:25px 0}.discipline-list .project-title{font-size:29px;letter-spacing:-1px}.discipline-list .project-type{grid-column:2;grid-row:2}.discipline-list .arrow{grid-column:3;grid-row:1/3}.discipline-list>a:hover{padding-left:8px;padding-right:8px}.personal-hero{padding:25px 6% 55px}.personal-hero h1{font-size:60px;letter-spacing:-3px;margin:35px 0}.personal-grid{grid-template-columns:1fr;gap:35px}.about-portrait{width:70%;max-width:300px}.personal-grid p,.resume-section p{font-size:16px}.resume-section{grid-template-columns:1fr;gap:25px}.resume-section h2{font-size:27px}.little-idea{width:58px}}@media(prefers-reduced-motion:reduce){.cat-body,.cat-eyes{animation:none!important}}
/* An asymmetric editorial composition, rather than a full-width name banner. */
.brand-mark{border-radius:50%}.composition{height:780px}.composition h1{top:38px;left:2%;right:auto;width:62%;line-height:.82}.composition h1 .first{display:block;font-family:DM,Arial,sans-serif;font-style:normal;font-size:13.5vw;letter-spacing:-1vw;animation:headingin 1s both}.composition h1 .last{display:block;font-family:Editorial,Georgia,serif;font-style:italic;font-size:12.8vw;letter-spacing:-.7vw;margin:12px 0 0 7%}.hero-intro{top:405px;left:3%}.hero-intro p{font-size:32px;letter-spacing:-1px;line-height:1.25}.hero-intro em{font-size:1.2em}.identity-stack{top:95px;right:5%;width:275px;height:340px}.hero-bottom{bottom:35px}.cloud-one{left:2%;top:-21vw;width:65vw}.cloud-two{left:-20vw;top:290px}.cloud-three{right:-10vw;top:160px}.hero-intro>.tiny{font-size:10px}.discipline-mark{border-radius:50%}
@media(min-width:1600px){.composition{height:860px}.identity-stack{top:90px;right:7%;width:320px;height:390px}.hero-intro{top:505px}.hero-intro p{font-size:40px}}
@media(max-width:1000px) and (min-width:801px){.identity-stack{width:220px;height:280px;right:3%;top:100px}.hero-intro{top:350px}.composition{height:710px}}
@media(max-width:800px){.composition{height:920px}.composition h1{top:30px;left:0;width:100%;line-height:.84}.composition h1 .first{font-size:30vw;letter-spacing:-2vw}.composition h1 .last{font-size:28vw;letter-spacing:-1.6vw;margin:8px 0 0 8%}.hero-intro{top:285px;left:0}.hero-intro p{font-size:25px;letter-spacing:-.7px}.hero-intro em{font-size:1.12em}.identity-stack{top:525px;right:15%;width:185px;height:220px}.cloud-one{left:-20vw;top:-20vw;width:140vw}.cloud-two{left:-60vw;top:300px}.cloud-three{right:-50vw;top:520px}.hero-bottom{bottom:30px}}
@media(max-width:800px){.composition h1 .last{font-size:23vw;letter-spacing:-1.2vw;margin-left:4%;margin-top:16px}}
@font-face{font-family:Bebas;src:url(assets/BebasNeue-Regular.ttf);font-display:swap}@font-face{font-family:Cormorant;src:url(assets/CormorantGaramond-Variable.ttf);font-weight:300 700;font-display:swap}.type-composition{container-type:inline-size}.type-composition>span{transition:transform .85s cubic-bezier(.2,.8,.2,1),left .85s,top .85s,right .85s,bottom .85s,width .85s,height .85s,color .6s,background .6s,font-size .75s,letter-spacing .75s;transform-origin:center}.lab-controls{flex-wrap:wrap;gap:8px}.layout-status{font-size:9px;letter-spacing:.8px;margin-top:14px;display:block}.type-composition[data-layout]:not([data-layout="0"]) .lab-star{animation:lab-spin 20s linear infinite}@keyframes lab-spin{from{rotate:0deg}to{rotate:360deg}}.type-composition[data-layout]:not([data-layout="0"]) .lab-good,.type-composition[data-layout]:not([data-layout="0"]) .lab-ideas,.type-composition[data-layout]:not([data-layout="0"]) .lab-happen{line-height:1;margin:0;padding:0}
.type-composition[data-layout="1"] .lab-good{font-family:Bebas,sans-serif;font-style:normal;text-transform:uppercase;font-size:32cqw;left:2%;top:0;transform:rotate(-14deg)}.type-composition[data-layout="1"] .lab-ideas{font-family:Bebas,sans-serif;text-transform:uppercase;font-size:38cqw;letter-spacing:-1px;left:23%;top:25%;padding:0 12px!important;transform:rotate(12deg);background:var(--lab-2)}.type-composition[data-layout="1"] .lab-happen{font-family:Bebas,sans-serif;font-style:normal;text-transform:uppercase;font-size:28cqw;letter-spacing:0;left:2%;top:69%;transform:rotate(-8deg)}.type-composition[data-layout="1"] .lab-star{font-size:32cqw;right:0;top:-4%;transform:rotate(40deg)}.type-composition[data-layout="1"] .lab-circle{width:40%;height:auto;aspect-ratio:1;left:60%;bottom:-3%;border-width:16px}
.type-composition[data-layout="2"] .lab-good{font-family:Cormorant,Georgia,serif;font-style:italic;font-weight:300;font-size:31cqw;left:40%;top:0;transform:rotate(13deg)}.type-composition[data-layout="2"] .lab-ideas{font-family:Cormorant,Georgia,serif;font-style:normal;font-weight:600;font-size:35cqw;letter-spacing:-2px;left:0;top:25%;background:none;transform:rotate(-17deg)}.type-composition[data-layout="2"] .lab-happen{font-family:Cormorant,Georgia,serif;font-style:italic;font-weight:300;font-size:28cqw;letter-spacing:-1px;left:13%;top:68%;transform:rotate(8deg)}.type-composition[data-layout="2"] .lab-star{font-size:23cqw;right:72%;top:0;transform:rotate(-30deg)}.type-composition[data-layout="2"] .lab-circle{width:48%;height:auto;aspect-ratio:1;left:49%;bottom:15%;border-width:10px}
.type-composition[data-layout="3"] .lab-good{font-family:monospace;font-style:normal;font-weight:bold;font-size:18cqw;left:0;top:5%;transform:rotate(0deg);background:var(--lab-2)}.type-composition[data-layout="3"] .lab-ideas{font-family:monospace;font-weight:bold;font-size:22cqw;letter-spacing:-2px;left:25%;top:34%;transform:rotate(-90deg);background:var(--lab-0)}.type-composition[data-layout="3"] .lab-happen{font-family:monospace;font-style:normal;font-weight:bold;font-size:17cqw;letter-spacing:-1px;left:5%;top:77%;transform:rotate(0deg)}.type-composition[data-layout="3"] .lab-star{font-size:21cqw;right:0;top:8%;transform:rotate(45deg)}.type-composition[data-layout="3"] .lab-circle{width:25%;height:auto;aspect-ratio:1;left:0;bottom:25%;border-width:14px;border-radius:0;transform:rotate(15deg)}
.type-composition[data-layout="4"] .lab-good{font-family:DM,Arial,sans-serif;font-style:normal;font-weight:900;font-size:22cqw;left:2%;top:28%;transform:rotate(-90deg)}.type-composition[data-layout="4"] .lab-ideas{font-family:Bebas,sans-serif;font-size:40cqw;letter-spacing:0;left:35%;top:0;transform:rotate(8deg);background:none}.type-composition[data-layout="4"] .lab-happen{font-family:DM,Arial,sans-serif;font-style:normal;font-weight:900;font-size:20cqw;letter-spacing:-2px;left:14%;top:73%;transform:rotate(-9deg);background:var(--lab-0)}.type-composition[data-layout="4"] .lab-star{font-size:25cqw;right:0;top:35%;transform:rotate(95deg)}.type-composition[data-layout="4"] .lab-circle{width:42%;height:auto;aspect-ratio:1;left:18%;bottom:18%;border-width:20px;border-radius:50%}
.paused .type-composition>span{transition:none!important}.paused .portrait-ring{translate:0 0}@media(prefers-reduced-motion:reduce){.type-composition>span{transition:none!important}.portrait-ring{translate:0 0!important}}

/* Preserve the concise, spacious personal section. */
.about{padding-top:110px;padding-bottom:120px;row-gap:65px}.about-copy h2{max-width:850px;margin-bottom:60px}.about .bio{display:block;max-width:540px;line-height:1.7}.about .practice{margin-top:15px}.practice-link{transition:padding .35s,background .35s}.practice-link:hover{padding-left:18px;background:#ffffff25}@media(max-width:800px){.about{padding-top:75px;padding-bottom:80px}.about-copy h2{margin-bottom:35px}.about .practice{margin-top:55px}}

/* Decorative letters never intercept clicks; controls have their own clear layer. */
.type-composition,.type-composition *{pointer-events:none}.lab-controls{position:relative;z-index:20;isolation:isolate;margin-top:30px}.lab-controls button{min-height:44px;background:#f5d4e4}.lab-controls button:focus-visible{outline:3px solid var(--ink);outline-offset:4px}.type-composition[data-layout]:not([data-layout="0"]){height:auto;aspect-ratio:1.04;overflow:hidden}.type-composition[data-layout="1"] .lab-circle{border-color:var(--lab-0)}
.type-composition[data-layout="5"] .lab-good{font-family:Bebas,sans-serif;font-style:normal;font-size:34cqw;left:0;top:0;transform:rotate(0);color:transparent;-webkit-text-stroke:2px var(--ink)}.type-composition[data-layout="5"] .lab-ideas{font-family:DM,sans-serif;font-weight:900;font-size:29cqw;letter-spacing:-2px;left:4%;top:35%;transform:rotate(-12deg);background:var(--lab-0)}.type-composition[data-layout="5"] .lab-happen{font-family:Bebas,sans-serif;font-style:normal;font-size:28cqw;left:5%;top:70%;letter-spacing:0;transform:rotate(6deg)}.type-composition[data-layout="5"] .lab-circle{left:60%;bottom:4%;width:35%;height:auto;aspect-ratio:1;border-color:var(--lab-2)}.type-composition[data-layout="5"] .lab-star{font-size:22cqw;right:0;top:2%}
.type-composition[data-layout="6"] .lab-good{font-family:Cormorant,serif;font-size:29cqw;font-style:italic;left:3%;top:2%;transform:rotate(-15deg)}.type-composition[data-layout="6"] .lab-ideas{font-family:Cormorant,serif;font-size:32cqw;font-weight:700;letter-spacing:-2px;left:20%;top:33%;transform:rotate(13deg);background:var(--lab-2)}.type-composition[data-layout="6"] .lab-happen{font-family:monospace;font-size:17cqw;letter-spacing:-1px;left:1%;top:75%;transform:rotate(0)}.type-composition[data-layout="6"] .lab-circle{left:0;bottom:15%;width:35%;height:auto;aspect-ratio:1;border-color:var(--lab-0);border-radius:0;transform:rotate(-18deg)}.type-composition[data-layout="6"] .lab-star{font-size:24cqw;right:0;top:0}
.type-composition[data-layout="7"] .lab-good{font-family:DM,sans-serif;font-style:normal;font-weight:900;font-size:26cqw;left:8%;top:5%;transform:rotate(10deg);background:var(--lab-0)}.type-composition[data-layout="7"] .lab-ideas{font-family:Bebas,sans-serif;font-size:39cqw;letter-spacing:1px;left:0;top:27%;transform:rotate(-9deg);background:none}.type-composition[data-layout="7"] .lab-happen{font-family:Cormorant,serif;font-style:italic;font-size:29cqw;letter-spacing:-2px;left:2%;top:68%;transform:rotate(6deg)}.type-composition[data-layout="7"] .lab-circle{left:58%;bottom:20%;width:37%;height:auto;aspect-ratio:1;border-color:var(--lab-2)}.type-composition[data-layout="7"] .lab-star{font-size:24cqw;right:2%;top:45%}

.type-frame{position:relative;width:100%;padding:0;margin:0;overflow:visible}.type-frame:has(.type-composition:not([data-layout="0"])){aspect-ratio:1/1.12}.type-frame .type-composition:not([data-layout="0"]){position:absolute;width:100%;inset:0 auto auto 0;overflow:visible;transform-origin:0 0;transition:none}.type-frame .type-composition[data-layout="0"]{transform:none!important}.lab-controls{margin-top:28px}

.work-head h2 em{font-family:DM,Arial,sans-serif;font-style:normal}

/* A real double-sided portrait card, linked to scroll. */
.card-front{padding:0;background:transparent;animation:none;transform:rotate(-6deg) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));border:0;box-shadow:none}.identity-stack:hover .card-front{transform:rotate(-9deg) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}.flip-inner{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateY(var(--portrait-flip,0deg));transition:transform .1s linear}.card-face{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:20px;border:1px solid var(--ink);background:var(--orange);backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:5px 8px 0 #17151b18}.card-face-back{transform:rotateY(180deg);background:#bba8f9}.alternate-headshot{width:100%;height:76%;object-fit:cover;object-position:50% 43%;border-radius:45% 45% 4px 4px}.paused .flip-inner{transform:none;transition:none}.paused .card-face-back{display:none}.discipline-shapes{position:absolute;right:4%;bottom:20px;width:230px;height:200px;pointer-events:none;z-index:0}.shape-spark{position:absolute;font-family:Arial,sans-serif;font-size:130px;color:#ff693a;right:0;top:-35px;animation:turn 35s linear infinite}.shape-ring{position:absolute;width:135px;height:135px;border:24px solid #b9a3fa;border-radius:50%;left:0;bottom:0}.shape-tile{position:absolute;width:85px;height:90px;background:#d6f58b;right:0;bottom:0;transform:rotate(-14deg);border:1px solid var(--ink)}.discipline-hero h1,.discipline-intro{position:relative;z-index:1}.discipline-intro{padding-right:160px}
@media(max-width:800px){.card-face{padding:13px}.discipline-shapes{position:relative;right:auto;bottom:auto;width:160px;height:145px;margin:45px 0 0 auto}.shape-spark{font-size:90px;top:-10px}.shape-ring{width:95px;height:95px;border-width:17px}.shape-tile{width:60px;height:65px}.discipline-intro{padding-right:0}}
@media(prefers-reduced-motion:reduce){.flip-inner{transform:none!important;transition:none!important}.card-face-back{display:none}}

.brand-experience{background:#fff;padding:60px 6% 70px}.brand-wordmarks{display:flex;align-items:center;justify-content:space-around;gap:45px;margin-top:40px}.brand-wordmarks>span{text-align:center;color:var(--ink)}.wordmark-miami{font:26px Georgia,serif;letter-spacing:2px;line-height:1.2}.wordmark-miami small{font-size:12px}.wordmark-soho{font:italic 38px Georgia,serif}.wordmark-winky{font:35px DM,Arial,sans-serif;letter-spacing:5px}@media(max-width:800px){.brand-experience{padding:45px 6%}.brand-wordmarks{flex-wrap:wrap;gap:35px}.wordmark-miami{font-size:20px}.wordmark-soho{font-size:29px}.wordmark-winky{font-size:25px}}

.shape-tile{background:#f4b8d7}

.brand-wordmarks>img{width:230px;max-width:28%;height:auto;object-fit:contain}.logo-soho{display:flex;align-items:center;gap:15px}.logo-soho img{width:48px;height:48px}.logo-soho span{font:23px DM,Arial,sans-serif;white-space:nowrap}@media(max-width:800px){.brand-wordmarks>img{width:190px;max-width:75%}.brand-wordmarks{flex-direction:column;gap:40px}.logo-soho img{width:40px;height:40px}.logo-soho span{font-size:21px}}
/* Give both portraits room; preserve every pixel of the alternate portrait. */
.identity-stack{width:350px;height:450px;right:6%;top:85px}.alternate-headshot{height:78%;width:100%;object-fit:contain;object-position:center;border-radius:0}.card-face-back{align-items:center}.card-face-back .card-kicker,.card-face-back .card-foot{width:100%}.card-face-front .headshot{max-height:315px}
@media(min-width:801px) and (max-width:1100px){.identity-stack{width:280px;height:375px;right:4%}.card-face-front .headshot{max-height:255px}}
@media(max-width:800px){.identity-stack{width:220px;height:310px;top:515px;right:13%}.composition{height:1000px}.card-face-front .headshot{max-height:210px}.alternate-headshot{height:80%}.card-face-back .card-foot{font-size:8px}}
@media(max-width:360px){.identity-stack{width:200px;height:290px;right:13%}}

.brand-wordmarks{gap:30px;flex-wrap:wrap}.brand-wordmarks>img{width:200px;max-width:23%}.brand-wordmarks .logo-david{width:160px}@media(max-width:800px){.brand-wordmarks>img{max-width:75%;width:190px}.brand-wordmarks .logo-david{width:160px}}

.brand-wordmarks>img{width:170px;max-width:18%}.work{padding-top:140px;padding-bottom:140px}@media(max-width:800px){.brand-wordmarks>img{width:190px;max-width:75%}.work{padding-top:90px;padding-bottom:95px}}

.logo-banish{filter:brightness(0)}
/* Fixed control rail, fluid artwork column: no fixed-height parent can hide it. */
.play-art.type-lab{height:auto;min-height:480px;overflow:visible;justify-content:flex-start}.type-frame,.type-frame:has(.type-composition:not([data-layout="0"])){height:clamp(340px,32vw,650px);aspect-ratio:auto;flex:none}.lab-controls{flex:none;position:relative;z-index:30;pointer-events:auto}.layout-status{flex:none;margin-bottom:0}.play-copy{align-self:center}@media(max-width:800px){.play-art.type-lab{height:auto;min-height:0}.type-frame,.type-frame:has(.type-composition:not([data-layout="0"])){height:350px}.lab-controls{margin-top:24px}}

.card-face-back{background:#f6c8dd}

/* Center the original lettering cluster horizontally without changing its vertical composition. */
.type-composition[data-layout="0"]>span:not(.lab-star){translate:var(--default-x,0px) 0}

@media(max-width:800px){header nav{gap:16px;font-size:14px}}

/* The same navigation on every page, with every link available on mobile. */
header.site-header-unified{height:auto;min-height:100px;padding:25px 4%;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;background:#fff}header.site-header-unified nav{display:flex;flex-wrap:wrap;gap:32px;font-size:18px;letter-spacing:-.4px}header.site-header-unified nav a:first-child{display:block}header.site-header-unified nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}@media(max-width:800px){header.site-header-unified{padding:20px 5%;gap:22px;min-height:120px}header.site-header-unified nav{width:100%;justify-content:space-between;gap:10px;font-size:14px}header.site-header-unified .brand{font-size:17px}}

.campaign-index{padding:90px 6%;background:#f5c9df}.campaign-cards{display:grid;grid-template-columns:1fr 1fr;gap:55px 35px;margin-top:40px}.campaign-card{display:block}.campaign-card img{display:block;width:100%;height:340px;object-fit:contain;background:#eee8e3;margin-bottom:24px;transition:transform .35s}.campaign-card:hover img{transform:translateY(-7px)}.campaign-card h3{font-size:32px;font-weight:400;letter-spacing:-1px;margin:14px 0}.campaign-card .tiny{line-height:1.6}.campaign-heading{padding:60px 6% 85px;background:#e2f688}.campaign-heading h1{position:relative;inset:auto;font:400 clamp(55px,7vw,110px)/1 DM,sans-serif;letter-spacing:-.05em;margin:40px 0}.campaign-heading .section-label{margin-top:45px;line-height:1.7}.campaign-context{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;max-width:1100px;line-height:1.7;font-size:19px}.campaign-context .credit{font-size:13px}.campaign-gallery{padding:60px 6%;display:grid;gap:35px;background:#fff}.campaign-gallery figure{margin:0}.campaign-gallery img{display:block;width:100%;max-height:1000px;object-fit:contain;background:#f6f3ee}.campaign-video-links{display:flex;flex-wrap:wrap;gap:20px}.campaign-return{display:block;padding:40px 6%;font-size:27px;background:#bba8f9}@media(max-width:800px){.campaign-index{padding:60px 6%}.campaign-cards{grid-template-columns:1fr;gap:40px}.campaign-card img{height:250px}.campaign-card h3{font-size:30px}.campaign-heading{padding:40px 6% 55px}.campaign-heading h1{font-size:14vw}.campaign-context{grid-template-columns:1fr;gap:10px;font-size:17px}.campaign-gallery{padding:30px 4%;gap:20px}}

/* A brief first-visit hello. CSS alone dismisses it, even if other scripts/assets fail. */
.creative-preloader{display:none;position:fixed;inset:0;z-index:1000;pointer-events:none;background:#bba8f9;overflow:hidden;isolation:isolate}.show-creative-intro .creative-preloader{display:block;animation:pre-exit 3.5s cubic-bezier(.7,0,.2,1) forwards}.pre-orbit{position:absolute;width:min(60vw,650px);height:min(60vw,650px);border-radius:50%;filter:blur(18px);left:50%;top:50%;z-index:-1}.pre-orbit-one{background:#f5c9df;animation:pre-pink 3.2s ease-in-out both}.pre-orbit-two{background:#e2f688;animation:pre-lime 3.2s ease-in-out both}.pre-cat{position:absolute;left:50%;top:46%;width:110px;height:100px;animation:pre-cat 3.1s cubic-bezier(.2,.7,.2,1) both}.pre-cat svg{width:100%;height:100%;filter:drop-shadow(0 8px 0 #17151b15)}.pre-cat .cat-eyes{transform-origin:50px 49px;animation:pre-blink 3.1s linear both}.pre-spark{position:absolute;left:calc(50% + 80px);top:calc(46% - 75px);font:80px Arial;color:#ff693a;animation:pre-spark 3.1s ease-out both}.pre-mark{position:absolute;width:34px;height:34px;left:calc(50% - 17px);bottom:14%;border-radius:50%}.pre-message{position:absolute;top:calc(46% + 90px);left:0;width:100%;text-align:center;font-size:17px;letter-spacing:-.4px}@keyframes pre-exit{0%,72%{transform:translateY(0);visibility:visible}100%{transform:translateY(-105%);visibility:hidden}}@keyframes pre-pink{0%{transform:translate(-120%,-100%) scale(.4)}65%,100%{transform:translate(-85%,-70%) scale(1)}}@keyframes pre-lime{0%{transform:translate(40%,10%) scale(.4)}65%,100%{transform:translate(-15%,-30%) scale(1)}}@keyframes pre-cat{0%{transform:translate(-50%,100px) rotate(-18deg);opacity:0}35%{transform:translate(-50%,-58%) rotate(9deg);opacity:1}65%,100%{transform:translate(-50%,-50%) rotate(-5deg);opacity:1}}@keyframes pre-spark{0%{transform:rotate(-80deg) scale(0)}70%,100%{transform:rotate(15deg) scale(1)}}@keyframes pre-blink{0%,45%,65%,100%{transform:scaleY(1)}55%{transform:scaleY(.1)}}@media(prefers-reduced-motion:reduce){.show-creative-intro .creative-preloader{display:none}}

@keyframes pre-cat{0%{transform:translate(-50%,100px) rotate(-18deg);opacity:0}20%{transform:translate(-50%,-58%) rotate(9deg);opacity:1}38%{transform:translate(-50%,-50%) rotate(-5deg)}58%{transform:translate(-40%,-56%) rotate(12deg)}78%,100%{transform:translate(-50%,-50%) rotate(-5deg);opacity:1}}@keyframes pre-blink{0%,28%,40%,65%,78%,100%{transform:scaleY(1)}34%,71%{transform:scaleY(.1)}}

.story-intro{padding:75px 7% 90px;display:grid;grid-template-columns:1fr 1.15fr;gap:70px;background:#f5c9df}.story-intro h1{position:relative;inset:auto;font:400 clamp(45px,5.5vw,88px)/1.05 DM,sans-serif;letter-spacing:-.045em;margin:50px 0 30px}.story-intro .section-label{line-height:1.8}.story-intro-copy{padding-top:75px;font-size:20px;line-height:1.65}.story-content{max-width:1140px;margin:auto;padding:100px 45px}.story-content h2{font-size:clamp(28px,3vw,43px);font-weight:400;line-height:1.15;letter-spacing:-1px;margin:60px 0 30px}.story-content figure{margin:0 0 35px}.story-content img{display:block;width:100%;height:auto;object-fit:contain}.story-content figcaption{font-size:13px;line-height:1.65;margin-top:15px}.story-row{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin:80px 0}.story-row h2{margin-top:0}.story-row p{font-size:17px;line-height:1.65}.video-pair{display:grid;grid-template-columns:1fr 1fr;gap:35px}.video-figure iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#17151b}.post-trio{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:25px}.post-trio img{height:320px;object-fit:contain}.story-credits{border-top:1px solid;margin-top:70px;padding-top:30px;font-size:14px;line-height:1.8}.campaign-carousel>img{width:100%;aspect-ratio:16/9;object-fit:contain;background:#eee}.deck-controls{display:flex;justify-content:space-between;align-items:center;margin:20px 0}.deck-controls button{border:1px solid;border-radius:50%;width:50px;height:50px;font-size:25px}.deck-thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.slide-thumb{padding:4px;opacity:.6}.slide-thumb[aria-pressed=true]{opacity:1;outline:2px solid #17151b}.slide-thumb img{width:100%;aspect-ratio:16/9;object-fit:contain}@media(max-width:800px){.story-intro{display:block;padding:45px 6%}.story-intro h1{font-size:13vw;margin-top:35px}.story-intro-copy{padding-top:15px;font-size:17px}.story-content{padding:45px 6%}.story-row,.video-pair,.post-trio{grid-template-columns:1fr;gap:25px}.story-row{margin:55px 0}.post-trio img{height:auto;max-height:520px}.deck-thumbs{grid-template-columns:repeat(4,1fr)}}

@media(prefers-reduced-motion:reduce){.type-composition .lab-star,.type-composition[data-layout] .lab-star{animation:none!important}}

/* Shared luminous colorway from Joelle's approved portfolio identity. */
:root{--identity-wash:radial-gradient(ellipse at 50% 52%,#ffffff 30%,#fffffff5 43%,#ffffff00 72%),radial-gradient(ellipse at 6% 0%,#c891ff 0%,#c891ff00 48%),radial-gradient(ellipse at 55% 0%,#ff48e6 0%,#ff48e600 40%),radial-gradient(ellipse at 80% 4%,#ff797a 0%,#ff797a00 35%),radial-gradient(ellipse at 100% 15%,#ffdc38 0%,#ffdc3800 42%),radial-gradient(ellipse at 0% 78%,#8bdcff 0%,#8bdcff00 42%),radial-gradient(ellipse at 100% 100%,#dfff59 0%,#dfff5900 48%)}
.hero{background-color:#fff;background-image:var(--identity-wash)}
.hero .color-cloud{opacity:.07}
.resume-page{background-color:#fff;background-image:var(--identity-wash);background-size:100% 850px;background-repeat:no-repeat}
.resume-page,.resume-page h1,.resume-page h2,.resume-page h3{font-family:DM,Arial,sans-serif}
.resume-page h1 em{font-family:Editorial,Georgia,serif;font-style:italic;font-weight:400}
@media(max-width:800px){.resume-page{background-size:100% 620px}}

.card-face-front{background:#f6c8dd}.identity-stack .card-mid{background:var(--orange)}

.brand-experience .logo-miami{filter:brightness(0)}

.card-face-back{background:#bde4ff}
