:root{--paper:#ebe7f2;--ink:#302139;--muted:#685c70;--line:#c9bfd2;--accent:#ffb694;--white:#fcfafc;--violet:#74608c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{background:var(--paper);color:var(--ink);margin:0;font:16px/1.5 Segoe UI,Arial,sans-serif}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline-offset:6px;outline:3px solid}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}button{border:0}::selection{background:var(--accent);color:var(--ink)}.wrap{width:min(1440px,100% - 100px);margin-inline:auto}.mono{letter-spacing:.07em;text-transform:uppercase;font:11px/1.6 Consolas,Courier New,monospace}.display{letter-spacing:-.025em;font-family:Impact,Arial Narrow,Arial Black,sans-serif;font-weight:400;line-height:.89}.skip{background:var(--accent);z-index:20;padding:12px;position:absolute;top:-100px;left:20px}.skip:focus{top:10px}.proposal{text-align:center;background:var(--ink);color:var(--paper);letter-spacing:.07em;padding:7px 20px;font-size:10px}.nav{justify-content:space-between;align-items:center;gap:24px;height:94px;display:flex}.brand{letter-spacing:-.08em;font-size:25px;font-weight:800}.brand span{color:var(--violet);display:inline-block}.nav-links{align-items:center;gap:35px;font-size:13px;display:flex}.nav-links a{position:relative}.nav-links a:after{content:"";transform-origin:0;background:currentColor;width:100%;height:1px;transition:transform .25s;position:absolute;bottom:-5px;left:0;transform:scaleX(0)}.nav-links a:hover:after{transform:scaleX(1)}.nav-contact{background:var(--ink);color:var(--paper);border-radius:30px;padding:10px 17px}.hero{min-height:720px;padding-top:44px;padding-bottom:35px;position:relative}.hero-top{align-items:center;gap:10px;margin-bottom:22px;display:flex}.cross{font-size:22px;line-height:1}.hero h1{z-index:2;pointer-events:none;width:fit-content;font-size:clamp(95px,11.8vw,184px);position:relative}.name-line{padding-bottom:9px;padding-right:12px;display:block;overflow:hidden}.name-line>span{animation:.9s cubic-bezier(.2,.7,.2,1) both name-in;display:block}.name-line:nth-child(2)>span{animation-delay:.12s}.name-last{color:var(--violet);margin-left:5px}.hero-description{z-index:4;max-width:360px;margin:24px 0 0 5px;font-size:17px;line-height:1.65;position:relative}.hero-description b{font-weight:600}.hero-bottom{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-top:80px;padding-top:22px;display:flex}.scroll-link{align-items:center;gap:13px;font-size:12px;display:flex}.circle-arrow{border:1px solid var(--line);border-radius:50%;place-items:center;width:34px;height:34px;transition:transform .25s;display:grid}.scroll-link:hover .circle-arrow{transform:translateY(4px)}.hero-bottom>span{color:var(--muted)}.scene{perspective:1200px;z-index:3;width:53%;height:500px;position:absolute;top:48px;right:0}.scene-orbit{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transform-style:preserve-3d;transition:transform .3s ease-out;position:absolute;inset:0}.object{text-align:left;background:var(--white);will-change:transform;border:1px solid #30213920;border-radius:10px;width:80%;height:310px;padding:0;transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .7s,box-shadow .3s;position:absolute;top:80px;left:4%;overflow:hidden;box-shadow:0 25px 55px #3021392c}.object[data-slot="0"]{z-index:3;filter:brightness();transform:translateY(40px)rotate(-9deg)}.object[data-slot="1"]{z-index:2;filter:brightness(.94);transform:translate(60px,-35px)rotate(9deg)scale(.94)}.object[data-slot="2"]{z-index:1;filter:brightness(.84);transform:translate(110px,45px)rotate(21deg)scale(.86)}.object[data-slot="0"]:hover{transform:translateY(27px)rotate(-6deg);box-shadow:0 30px 65px #30213940}.object:focus-visible{outline-offset:3px;outline-color:var(--ink)}.object-bar{letter-spacing:.05em;border-bottom:1px solid #30213920;justify-content:space-between;align-items:center;height:40px;padding:0 17px;font-size:10px;display:flex}.object-bar>span:first-child{align-items:center;gap:8px;display:flex}.object-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.object img{object-fit:cover;object-position:center;width:100%;height:calc(100% - 40px)}.object[data-project=tou]{color:#ecf0e6;background:#273f35}.object[data-project=tou] img{object-fit:contain;background:#17251e}.object[data-project=undercover]{color:#efc97c;background:#17251e}.scene-label{color:var(--muted);pointer-events:none;font:italic 20px Georgia,serif;position:absolute;top:10px;right:25px;transform:rotate(9deg)}.scene-label span{margin-top:5px;font:30px Georgia,serif;display:block;transform:rotate(15deg)}.scene-controls{align-items:center;gap:10px;display:flex;position:absolute;bottom:0;left:35px;right:0}.scene-controls>button{border:1px solid var(--ink);background:0 0;border-radius:50%;width:38px;height:38px;transition:background .2s}.scene-controls>button:hover{background:var(--accent)}.scene-controls>p{margin-left:8px;font-size:12px}.scene-controls strong{font-weight:600}.scene-controls small{color:var(--muted);font-size:10px;display:block}.scene-count{color:var(--muted);margin-left:auto;font:11px Consolas,monospace}.work-link{border-bottom:1px solid;margin-top:24px;padding-bottom:4px;font-size:12px;display:inline-block}.work-link:hover{color:var(--violet)}.work-section{padding:66px 0 100px}.section-heading{justify-content:space-between;align-items:end;gap:35px;margin-bottom:45px;display:flex}.section-heading h2{font-size:clamp(58px,7vw,100px)}.section-heading h2>span{color:var(--violet)}.section-heading p{max-width:280px;color:var(--muted);font-size:13px}.work-grid{grid-template-columns:1.1fr 1fr;align-items:start;gap:64px 60px;display:grid}.work-card{text-align:left;background:0 0;width:100%;padding:0;display:block}.project-cover{aspect-ratio:1.3;isolation:isolate;border-radius:3px;place-items:center;display:grid;position:relative;overflow:hidden}.cover-checkcar{background:#c5b6df}.cover-undercover{background:#33473e}.cover-tou{background:#e8b499}.cover-europe{background:#8497c3}.cover-word{color:#30213960;letter-spacing:-.02em;font-family:Impact,Arial Narrow,sans-serif;font-size:clamp(40px,5.5vw,78px);line-height:1;transition:transform .7s cubic-bezier(.2,.8,.2,1);position:absolute;top:23px;left:23px;right:23px}.cover-undercover .cover-word{color:#edce9560}.cover-europe .cover-word{color:#22345c85;font-size:clamp(35px,4.5vw,65px)}.project-cover>img{border-radius:3px;width:87%;margin-top:65px;transition:transform .7s cubic-bezier(.2,.8,.2,1);transform:rotate(-6deg)translateY(16px);box-shadow:0 18px 35px #30213922}.cover-undercover>img{margin-top:45px;transform:rotate(6deg)translateY(16px)}.cover-tou>img{object-fit:contain;width:auto;max-width:85%;height:72%;margin-top:50px;transform:rotate(-9deg);box-shadow:15px 15px #30213914}.cover-europe{align-content:end;justify-items:start;padding:100px 35px 30px}.eu-document{background:var(--white);width:92%;padding:24px;transition:transform .7s;transform:rotate(5deg);box-shadow:0 18px 30px #30213920}.eu-document .mono{font-size:9px}.eu-document strong{letter-spacing:-.03em;margin:14px 0;font-size:29px;line-height:1.2;display:block}.eu-document p{color:var(--muted);border-top:1px solid var(--line);padding-top:13px;font-size:10px}.eu-document>span{color:var(--muted);font-size:11px}.cover-action{background:var(--ink);color:var(--white);z-index:2;border-radius:50%;place-items:center;width:42px;height:42px;font-size:21px;transition:transform .3s,background .3s;display:grid;position:absolute;bottom:18px;right:18px}.work-card:hover .project-cover>img{transform:rotate(0)translateY(0)}.work-card:hover .cover-word{transform:translate(9px)}.work-card:hover .eu-document{transform:rotate(0)}.work-card:hover .cover-action{background:var(--violet);transform:rotate(45deg)}.project-info{justify-content:space-between;align-items:start;gap:15px;margin-top:18px;display:flex}.project-info h3{letter-spacing:-.035em;font-size:23px;font-weight:500}.project-info p{color:var(--muted);margin-top:4px;font-size:12px}.project-info>.mono{color:var(--muted);padding-top:6px;font-size:10px}.work-tail{color:var(--muted);margin-top:40px;font-size:13px}.work-tail a{text-underline-offset:5px;text-decoration:underline}.about-section{background:var(--ink);color:var(--paper);padding:95px 0;overflow:hidden}.about-layout{grid-template-columns:1fr 1.2fr;align-items:center;gap:90px;display:grid}.portrait-scene{max-width:370px;margin:25px auto;position:relative}.portrait-scene:before{content:"";background:var(--accent);position:absolute;inset:-15px 20px 20px -20px;transform:rotate(-8deg)}.portrait-scene>img{aspect-ratio:.83;object-fit:cover;border:8px solid var(--paper);width:100%;position:relative;transform:rotate(3deg)}.portrait-caption{background:var(--paper);color:var(--ink);padding:10px 18px;font:italic 19px Georgia,serif;position:absolute;bottom:20px;right:-25px;transform:rotate(-6deg)}.about-copy>.mono{color:#c5b6d3}.about-copy h2{margin:24px 0;font-size:clamp(55px,6vw,88px)}.about-copy h2>span{color:var(--accent)}.about-copy>p:not(.mono){color:#d0c7d8;max-width:430px;font-size:16px;line-height:1.8}.stack{color:#ded5e7;border-block:1px solid #ffffff30;flex-wrap:wrap;gap:10px 25px;margin:30px 0;padding:20px 0;font-size:12px;display:flex}.about-copy a{text-underline-offset:5px;font-size:12px;text-decoration:underline}.about-section a:focus-visible{outline-color:var(--accent)}.contact{padding:95px 0 45px}.contact-top{justify-content:space-between;align-items:center;gap:25px;margin-bottom:30px;display:flex}.contact-top>p{max-width:280px;color:var(--muted);font-size:13px}.contact-title{justify-content:space-between;align-items:center;gap:30px;display:flex;position:relative}.contact-title h2{font-size:clamp(65px,10.5vw,150px)}.contact-title h2>span{color:var(--violet)}.contact-arrow{background:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;width:130px;height:130px;font-size:70px;transition:transform .35s;display:grid}.contact-title:hover .contact-arrow{transform:rotate(45deg)}.contact-email{overflow-wrap:anywhere;border-bottom:1px solid;margin-top:30px;padding-bottom:6px;font-size:14px;display:inline-block}.footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:25px;margin-top:25px;padding:23px 0 30px;font-size:11px;display:flex}.footer-links{gap:25px;display:flex}.footer-links a:hover{text-decoration:underline}.dialog{background:var(--paper);color:var(--ink);border:0;border-radius:5px;width:min(900px,100% - 32px);max-height:88vh;padding:0;box-shadow:0 20px 100px #0005}.dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#24162bd9}.dialog-bar{z-index:2;background:var(--paper);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 25px;display:flex;position:sticky;top:0}.dialog-close{border:1px solid var(--ink);background:0 0;border-radius:25px;padding:7px 14px;font-size:12px}.dialog-body{padding:32px}.dialog h2{margin:10px 0 18px;font-size:70px}.dialog-description{max-width:680px;font-size:16px;line-height:1.8}.dialog-image{object-fit:contain;background:#3021390a;width:100%;max-height:430px;margin-top:28px}.dialog-image[hidden]{display:none}.dialog dl{grid-template-columns:130px 1fr;gap:16px;margin:28px 0;font-size:13px;line-height:1.7;display:grid}.dialog dt{font-weight:600}.dialog dd{color:var(--muted);margin:0}.dialog-link{border-bottom:1px solid;padding-bottom:4px;font-size:13px;display:inline-block}.dialog-link[hidden]{display:none}.dialog[open]{animation:.3s ease-out dialog-in}.reveal{opacity:1}.motion-ready .reveal{opacity:0;transition:opacity .7s,transform .9s cubic-bezier(.2,.7,.2,1);transform:translateY(35px)}.motion-ready .reveal.in-view{opacity:1;transform:none}.noscript-note{text-align:center;padding:15px;font-size:13px}@keyframes name-in{0%{transform:translateY(110%)rotate(3deg)}to{transform:translateY(0)rotate(0)}}@keyframes dialog-in{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media (min-width:1550px){.hero{min-height:780px}.scene{height:540px;top:65px}.object{height:350px}.hero-bottom{margin-top:105px}}@media (max-width:1100px){.wrap{width:calc(100% - 64px)}.hero{min-height:670px}.scene{height:450px;top:75px}.object{height:265px}.object[data-slot="1"]{transform:translate(35px,-35px)rotate(9deg)scale(.94)}.object[data-slot="2"]{transform:translate(70px,35px)rotate(21deg)scale(.86)}.hero-description{max-width:310px;font-size:15px}.hero-bottom{margin-top:100px}.work-grid{column-gap:35px}.about-layout{gap:55px}.contact-arrow{width:100px;height:100px;font-size:50px}}@media (max-width:800px){.wrap{width:calc(100% - 40px)}.nav{height:77px}.nav-links{gap:20px;font-size:11px}.nav-links .about-nav{display:none}.nav-contact{padding:8px 12px}.hero{min-height:0;padding-top:30px}.hero h1{font-size:clamp(89px,20vw,155px)}.hero-top{margin-bottom:20px;font-size:10px}.hero-description{max-width:360px;margin-top:14px;font-size:15px}.scene{width:100%;max-width:520px;height:415px;margin:25px auto 0;position:relative;top:auto;right:auto}.object{width:77%;height:250px;top:60px;left:3%}.object[data-slot="0"]{transform:translateY(35px)rotate(-8deg)}.object[data-slot="1"]{transform:translate(40px,-20px)rotate(9deg)scale(.94)}.object[data-slot="2"]{transform:translate(65px,35px)rotate(19deg)scale(.86)}.scene-label{font-size:18px;top:-12px;right:20px}.scene-controls{bottom:0;left:0}.hero-bottom{margin-top:35px;padding-top:20px}.hero-bottom>span{text-align:right;font-size:9px}.work-section{padding:40px 0 65px}.section-heading{gap:20px;margin-bottom:30px}.section-heading h2{font-size:62px}.section-heading>p{max-width:150px;font-size:11px}.work-grid{gap:35px 22px}.work-card:nth-child(2n){margin-top:65px}.project-cover{aspect-ratio:.9}.cover-word{font-size:38px;top:18px;left:15px}.project-info{display:block}.project-info h3{font-size:21px}.project-info>.mono{font-size:9px;display:block}.project-info p{font-size:11px}.cover-europe{padding:80px 15px 30px}.cover-europe .cover-word{font-size:32px}.eu-document{width:100%;padding:15px}.eu-document strong{font-size:23px}.cover-action{width:33px;height:33px;bottom:12px;right:12px}.about-section{padding:65px 0}.about-layout{grid-template-columns:.85fr 1fr;gap:40px}.portrait-scene{max-width:240px;margin:25px auto}.portrait-caption{font-size:15px;bottom:10px;right:-12px}.about-copy h2{font-size:55px}.about-copy>p:not(.mono){font-size:14px}.contact{padding:65px 0 35px}.contact-title h2{font-size:clamp(62px,11vw,90px)}.contact-arrow{width:75px;height:75px;font-size:42px}.contact-top{margin-bottom:25px}.contact-top>p{max-width:210px;font-size:11px}.dialog h2{font-size:55px}}@media (max-width:480px){.wrap{width:calc(100% - 36px)}.proposal{font-size:9px}.hero h1{font-size:21.5vw}.nav-links{gap:17px}.brand{font-size:24px}.hero-description{max-width:300px}.scene{height:360px;margin-top:32px}.object{width:78%;height:205px;top:55px}.object-bar{height:31px;padding:0 10px;font-size:9px}.object img{height:calc(100% - 31px)}.object[data-slot="1"]{transform:translate(27px,-20px)rotate(9deg)scale(.94)}.object[data-slot="2"]{transform:translate(47px,30px)rotate(19deg)scale(.86)}.scene-label{top:-15px;right:17px}.scene-label span{font-size:22px}.scene-controls{bottom:0}.scene-controls>button{width:34px;height:34px}.scene-controls>p{margin-left:4px;font-size:11px}.scene-count{font-size:10px}.section-heading{display:block}.section-heading>p{max-width:260px;margin-top:18px;font-size:12px}.work-grid{grid-template-columns:1fr;gap:36px}.work-card:nth-child(2n){margin-top:0}.project-cover{aspect-ratio:1.2}.cover-word{font-size:53px;top:21px;left:20px}.cover-europe .cover-word{font-size:44px}.cover-europe{padding:100px 25px 30px}.eu-document strong{font-size:28px}.project-info{display:flex}.project-info>.mono{font-size:9px}.about-layout{grid-template-columns:1fr;gap:40px}.portrait-scene{width:220px;margin:10px auto}.about-copy h2{font-size:64px}.about-copy>p:not(.mono){font-size:15px}.about-copy>.mono{font-size:10px}.stack{gap:12px 20px}.contact-top{display:block}.contact-top>p{max-width:260px;margin-top:15px;font-size:12px}.contact-title{gap:10px}.contact-arrow{width:57px;height:57px;font-size:35px}.contact-email{font-size:13px}.footer{font-size:10px}.footer-links{gap:20px}.dialog-body{padding:24px}.dialog-bar{padding:13px 19px}.dialog h2{font-size:52px}.dialog dl{grid-template-columns:1fr;gap:6px}.dialog dt{margin-top:13px}.dialog-description{font-size:14px}.contact-title h2{font-size:13.5vw}.section-heading h2{font-size:14vw}}.work-grid>article:nth-child(2n){margin-top:120px}.work-card:nth-child(2n){margin-top:0}.language-link{font:11px Consolas,monospace}.extra-projects{flex-wrap:wrap;gap:10px 25px;margin:0 0 20px;display:flex}.dialog-link{margin-top:5px}.project-page{padding-top:30px;padding-bottom:65px}.project-kind{color:var(--muted);margin-top:40px}.project-title{overflow-wrap:anywhere;margin:20px 0 28px;font-size:clamp(60px,9vw,130px)}.project-description{max-width:820px;font-size:clamp(17px,2vw,23px);line-height:1.7}.project-assignment{color:var(--muted);margin-top:15px;font-size:14px}.project-stack{border-color:var(--line);color:var(--muted);margin:25px 0}.project-links{align-items:center;gap:25px;margin:25px 0;display:flex}.project-links .work-link{margin-top:0}.project-main-image{background:#c5b6df;border-radius:5px;margin-top:40px;padding:35px}.project-main-image img{width:100%;height:auto}.project-main-image.portrait-image{background:#e8b499}.project-main-image.portrait-image img{width:auto;max-width:100%;max-height:650px;margin:auto}.project-features{max-width:1000px;margin-top:65px}.project-features>h2,.other-projects h2{margin-bottom:30px;font-size:clamp(40px,5vw,65px)}.feature{border-top:1px solid var(--line)}.feature:last-child{border-bottom:1px solid var(--line)}.feature summary{cursor:pointer;align-items:center;gap:25px;padding:25px 0;list-style:none;display:flex}.feature summary::-webkit-details-marker{display:none}.feature summary h3{flex:1;font-size:18px;font-weight:500}.feature summary>.mono{color:var(--muted);font-size:11px}.feature[open] summary>span:last-child{transform:rotate(45deg)}.feature-content{max-width:850px;color:var(--muted);padding:0 0 30px 48px;line-height:1.8}.feature-content p{margin:0 0 20px}.feature-content a{text-underline-offset:4px;text-decoration:underline}.feature-images{flex-wrap:wrap;gap:20px;display:flex}.feature-images figure{max-width:100%;margin:10px 0}.feature-images img{object-fit:contain;border-radius:4px;width:auto;max-width:100%;height:auto;max-height:600px}.feature-images figcaption{margin-top:8px;font-size:12px}.other-projects{border-top:1px solid var(--line);margin-top:65px;padding-top:40px}.other-projects>div{flex-wrap:wrap;gap:10px 30px;display:flex}.other-projects .work-link{margin-top:0}.contact-form-toggle{border-top:1px solid var(--line);max-width:650px;margin-top:30px;padding-top:20px;font-size:14px}.contact-form-toggle summary{cursor:pointer}.contact-form{flex-direction:column;gap:10px;margin-top:22px;display:flex}.contact-form input,.contact-form textarea{font:inherit;background:var(--white);border:1px solid var(--line);color:var(--ink);border-radius:4px;width:100%;padding:12px}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--violet);outline-offset:2px}.contact-form button{align-self:start;margin-top:10px}.contact-form button:disabled{opacity:.65;cursor:wait}.form-status{margin-top:25px}.not-found{padding-top:100px;padding-bottom:100px}.not-found h1{margin:25px 0;font-size:clamp(50px,9vw,120px)}.not-found a{margin-right:30px}@media (max-width:800px){.work-grid>article:nth-child(2n){margin-top:65px}.project-main-image{padding:20px}.feature summary{gap:15px}.feature-content{padding-left:0}.feature summary h3{font-size:16px}.nav-links{gap:16px}}@media (max-width:480px){.work-grid>article:nth-child(2n){margin-top:0}.nav-links{gap:12px}.nav-contact,.language-link{font-size:10px}.contact-title h2{font-size:12.5vw}.project-main-image{padding:12px}.project-page{padding-top:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.motion-ready .reveal{opacity:1;transform:none}.scene-orbit{transform:none!important}}
