body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}img{max-width:100%}:root{--type-small: 13px;--type-body: 16px;--type-title: 48px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--ink: #252523;--secondary: #696962;--line: #e7e7e1;--paper: #ffffff}html{scroll-behavior:smooth;scroll-padding-top:30px}body{background:var(--paper);color:var(--ink);font-size:var(--type-body);font-weight:var(--weight-regular)}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button,input{border:0}button:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #565f54;outline-offset:5px}::-moz-selection{background:#e8ebe3}::selection{background:#e8ebe3}.portfolio{width:min(100% - 64px,1080px);margin:0 auto}.skip-link{position:absolute;top:12px;left:12px;background:var(--ink);color:#fff;padding:12px;transform:translateY(-150%);z-index:5;font-size:var(--type-small)}.skip-link:focus{transform:translateY(0)}.site-header{display:flex;justify-content:space-between;align-items:center;padding:34px 0;gap:24px}.site-name{font-size:var(--type-body);font-weight:var(--weight-semibold);letter-spacing:-.4px}.site-header nav{display:flex;align-items:center;gap:28px;font-size:var(--type-small);font-weight:var(--weight-medium)}.site-header a,.social-links a,.other-work a,.site-footer a{transition:color .18s ease}.site-header nav a:hover,.social-links a:hover,.other-work a:hover,.site-footer a:hover{color:#39704c}.arrow{width:16px;height:16px;vertical-align:-3px;display:inline-block;flex-shrink:0;transition:transform .18s ease}.intro{padding:40px 0 66px;max-width:610px;margin:0 auto;text-align:center}.portrait{width:64px;height:64px;border-radius:50%;-o-object-fit:cover;object-fit:cover;margin:0 auto 24px;display:block}h1{font-size:var(--type-title);font-weight:var(--weight-semibold);line-height:1.12;letter-spacing:-2px;margin:0 0 22px}.intro p{font-size:var(--type-body);line-height:1.7;color:var(--secondary);max-width:505px;margin:0 auto;text-wrap:pretty}.social-links{margin-top:24px;display:flex;flex-wrap:wrap;justify-content:center;gap:16px 25px;font-size:var(--type-small);font-weight:var(--weight-medium)}.social-links .arrow{width:13px;height:13px;vertical-align:-2px}.section-heading{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-bottom:22px}h2,h3{font-size:var(--type-body);font-weight:var(--weight-semibold);line-height:1.4;letter-spacing:-.25px;margin:0}.section-heading>span{color:var(--secondary);font-size:var(--type-small)}.catalogue-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.platform-filters{display:grid;grid-template-columns:repeat(4,1fr);width:312px;padding:4px;border-radius:7px;background:#f2f3ee;position:relative}.platform-filters:before{content:"";position:absolute;left:4px;top:4px;bottom:4px;width:calc((100% - 8px)/4);transform:translate(calc(var(--filter-index)*100%));border-radius:4px;background:#fff;box-shadow:0 1px 3px #2525230b;transition:transform .22s cubic-bezier(.2,.7,.3,1)}.platform-filters button{position:relative;background:transparent;font-size:var(--type-small);font-weight:var(--weight-regular);padding:8px 6px;min-height:36px;color:var(--secondary);border-radius:4px}.platform-filters button[aria-pressed=true]{color:var(--ink);font-weight:var(--weight-medium)}.search-box{display:flex;align-items:center;gap:8px;width:220px;border-bottom:1px solid var(--line);padding:9px 0;color:var(--secondary);transition:border-color .18s ease}.search-box:focus-within{border-color:var(--secondary)}.search-box>svg,.clear-search svg{width:16px;height:16px;flex-shrink:0}.search-box input{width:100%;min-width:0;background:transparent;font-size:var(--type-small);color:var(--ink);outline-offset:1px}.search-box input::-webkit-search-cancel-button{display:none}.search-box input::-moz-placeholder{color:var(--secondary);opacity:1}.search-box input::placeholder{color:var(--secondary);opacity:1}.clear-search{background:none;padding:0;min-width:28px;min-height:28px;display:grid;place-items:center}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;position:relative}.project-card{border:1px solid var(--line);border-radius:12px;min-height:257px;background:var(--paper);transition:border-color .2s ease,box-shadow .2s ease}.card-content{display:flex;flex-direction:column;height:100%;padding:26px;position:relative;border-radius:inherit}.card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.project-logo{width:48px;height:48px;-o-object-fit:contain;object-fit:contain;display:block;flex-shrink:0}.logo-koala,.logo-lanes,.logo-musi,.logo-hourlane,.logo-sonhos,.logo-fotosia,.logo-textoia,.logo-pdfia{border-radius:11px}.logo-marcomail,.logo-voxy,.logo-curriculosia{width:65px}.card-top .arrow{color:#73776a;margin-top:4px}.project-description{margin:9px 0 20px;color:var(--secondary);font-size:var(--type-small);line-height:1.7;text-wrap:pretty}.project-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;color:var(--secondary);font-size:var(--type-small);line-height:1.4;margin-top:auto;padding-top:6px}.project-meta span+span{color:#846b40}.results{color:var(--secondary);font-size:var(--type-small);margin:18px 0 0}.empty-state{padding:42px 24px;border:1px dashed var(--line);border-radius:12px;text-align:center;font-size:var(--type-body)}.empty-state p{margin:0 0 14px}.text-button{background:none;font-size:var(--type-small);font-weight:var(--weight-medium);text-decoration:underline;text-underline-offset:4px;padding:4px}.archive{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:42px}.archive summary{list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 0;font-size:var(--type-body);font-weight:var(--weight-medium);cursor:pointer}.archive summary::-webkit-details-marker{display:none}.archive summary span{color:var(--secondary);font-size:var(--type-small);font-weight:var(--weight-regular);display:inline-flex;align-items:center;gap:15px}.chevron{width:16px;height:16px;transition:transform .18s ease}.archive[open] .chevron{transform:rotate(180deg)}.archive-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 48px;padding:5px 0 30px}.archive[open] .archive-grid{animation:reveal-archive .2s ease both}.archive-project{display:flex;align-items:flex-start;gap:18px}.archive-project .project-logo{width:40px;height:40px}.archive-project .logo-marcomail,.archive-project .logo-voxy{width:65px}.archive-project h3{font-weight:var(--weight-medium)}.archive-project p{color:var(--secondary);font-size:var(--type-small);line-height:1.7;margin:7px 0}.archive-year{font-size:var(--type-small);color:var(--secondary)}.about{margin:60px 0;padding:52px;background:#f5f3ed;border-radius:16px}.about-copy{max-width:680px}.about h2{font-size:var(--type-title);line-height:1.12;letter-spacing:-2px;margin-bottom:28px}.about-copy p{font-size:var(--type-body);color:#60605a;line-height:1.8;margin:0 0 18px;text-wrap:pretty}.about-copy p:last-child{margin-bottom:0}.other-work{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:38px}.other-work a{display:flex;flex-direction:column;gap:10px;padding:20px 0 4px;border-top:1px solid #dcdad2}.other-work-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:var(--type-body);font-weight:var(--weight-medium);line-height:1.5}.other-work-description{color:#60605a;font-size:var(--type-small);font-weight:var(--weight-regular);line-height:1.7;text-wrap:pretty}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:25px 0 32px;font-size:var(--type-small);color:var(--secondary)}@keyframes reveal-archive{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(hover:hover){.project-card.has-link:hover{border-color:#c5cabe;box-shadow:0 5px 18px #25252308}.has-link .card-content{transition:transform .2s ease}.project-card.has-link:hover .card-content{transform:translateY(-2px)}.project-card.has-link:hover .card-top .arrow,.social-links a:hover .arrow,.other-work a:hover .arrow{transform:translate(2px,-2px)}}@media(max-width:900px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.about{padding:36px}.other-work{grid-template-columns:1fr;gap:20px}}@media(max-width:600px){.portfolio{width:calc(100% - 40px)}.site-header{padding:24px 0;gap:15px}.site-header nav{gap:16px}.site-header nav a:last-child{display:none}.intro{padding:30px 0 50px}h1{letter-spacing:-1.8px}.intro p{max-width:430px}.catalogue-controls{flex-wrap:wrap;gap:16px}.platform-filters,.search-box{width:100%}.project-grid{grid-template-columns:1fr;gap:14px}.project-card{min-height:233px}.card-content{padding:23px}.card-top{margin-bottom:16px}.archive-grid{grid-template-columns:1fr;gap:25px}.archive{margin-top:30px}.social-links{-moz-column-gap:18px;column-gap:18px}.about{margin:42px 0;padding:30px 24px}.about h2{letter-spacing:-1.8px}.other-work{margin-top:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
