@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#111;--muted:#666;--line:#d8d8d8;--paper:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.6}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #777;outline-offset:5px}a,button{touch-action:manipulation}.wrap{width:min(1200px,calc(100% - 96px));margin:auto}.section{padding-top:108px;padding-bottom:108px}header{position:sticky;top:0;z-index:20;background:#fffffff5;border-bottom:1px solid #eee;backdrop-filter:blur(12px)}.nav{height:92px;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo{font-size:43px;font-weight:800;letter-spacing:-3px;line-height:1;display:inline-flex;align-items:center;gap:8px}.logo span{font-size:35px;display:inline-block;transition:transform .7s}.logo:hover span{transform:rotate(180deg)}nav{display:flex;gap:34px;font-size:14px;font-weight:700}nav a{position:relative}nav a:after{content:'';height:1px;width:0;background:currentColor;position:absolute;left:0;bottom:-5px;transition:width .25s}nav a:hover:after{width:100%}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 24px;background:#111;border:1px solid #111;color:white;border-radius:3px;font-size:14px;font-weight:800;transition:background .25s,color .25s,transform .25s}.button:hover{background:#fff;color:#111;transform:translateY(-3px)}.button.small{min-height:44px;padding:10px 20px}.menu{display:none}.hero{position:relative;display:grid;grid-template-columns:1.1fr 1fr;padding-top:95px;padding-bottom:30px;align-items:center;column-gap:0}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;margin:0 0 25px;display:flex;align-items:center;gap:10px}.mini-star{font-size:22px}.hero h1{font-size:clamp(32px,3.65vw,53px);font-weight:400;line-height:1.38;letter-spacing:-2px;margin:0;white-space:nowrap}.hero strong{font-weight:800}.outline{-webkit-text-stroke:1.2px #111;color:white;font-weight:800}.intro{color:var(--muted);margin:25px 0 28px;font-size:16px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:28px}.text-link{font-weight:700;font-size:14px;border-bottom:1px solid;padding-bottom:3px}.hero-note{font-size:10px;font-weight:700;letter-spacing:1.5px;margin-top:42px}.hero-note span{margin:0 12px}.hero-art{position:relative;align-self:center;min-width:0}.hero-art img{display:block;width:100%;max-width:100%;height:auto;margin-left:0;mix-blend-mode:multiply;animation:float 7s ease-in-out infinite}.baseline{height:1px;background:#111;margin-top:-13px;position:relative;width:100%}.tag{position:absolute;z-index:2;padding:8px 13px;border:1px solid #222;background:#fff;font-size:11px;font-weight:700}.tag-one{top:7%;left:2%;transform:rotate(-8deg);animation:tag-float 6s ease-in-out infinite}.tag-two{bottom:13%;right:-1%;transform:rotate(6deg)}.art-star{position:absolute;top:12%;right:0;font-size:60px;line-height:1;animation:spin 24s linear infinite}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid #ddd;padding-top:24px;margin-top:70px;color:#777;font-size:12px}.hero-bottom a{font-size:10px;letter-spacing:1.5px;font-weight:700}.hero-bottom a span{display:inline-block;margin-left:15px;font-size:17px;animation:bob 2s infinite}.section-heading{text-align:center}.section-heading .eyebrow{justify-content:center}h2{font-size:clamp(30px,3.5vw,46px);line-height:1.25;letter-spacing:-1.8px;font-weight:400;margin:0 0 25px}h2 strong{font-weight:800}.section-heading>p:last-child{color:var(--muted);font-size:15px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:48px}.service{padding:30px 24px;border:1px solid #222;position:relative;min-height:265px;transition:transform .3s,box-shadow .3s}.service:hover{transform:translateY(-8px);box-shadow:7px 7px 0 #ddd}.service-icon{font-size:38px;line-height:1;font-weight:800;display:block;margin-bottom:35px;letter-spacing:-3px}.code-icon{letter-spacing:-5px}h3{font-size:18px;line-height:1.4}.service h3{margin:0 0 10px}.service p{font-size:13px;color:#666;margin:0;line-height:1.7}.service-number{position:absolute;top:25px;right:20px;font-size:10px;color:#777}.dark{background:#111;color:#fff}.dark p{color:#aaa}.dark .service-number{color:#aaa}.work-head{display:flex;justify-content:space-between;align-items:flex-end}.work-head>p{font-size:14px;margin-bottom:26px}.work .eyebrow{color:#aaa}.filters{display:flex;gap:8px;margin:23px 0 36px;flex-wrap:wrap}.filters button{background:transparent;color:#aaa;border:1px solid #444;border-radius:30px;padding:8px 17px;font-size:12px;transition:.25s}.filters button.active,.filters button:hover{background:#fff;color:#111;border-color:#fff}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px 28px}.project{padding:0;text-align:left;border:none;background:transparent;color:#fff;width:100%}.project[hidden]{display:none}.project-art{height:330px;position:relative;overflow:hidden;transition:filter .3s;border-radius:2px}.project:hover .project-art{filter:brightness(.91)}.project-caption{display:flex;justify-content:space-between;align-items:center;padding-top:19px}.project-caption h3{font-size:20px;margin:0 0 5px}.project-caption p{font-size:12px;margin:0}.project-plus{border:1px solid #555;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:22px;transition:transform .3s}.project:hover .project-plus{transform:rotate(90deg);background:white;color:#111}.aura{background:#dce8ce;color:#202c1d;display:flex;flex-direction:column;justify-content:space-between;padding:28px}.mock-meta,.mock-bottom{font-size:9px;letter-spacing:2px;font-weight:700}.aura-word{font-family:Georgia,serif;font-size:126px;letter-spacing:-12px;text-align:center;line-height:1.1}.aura-word span{font:16px Arial;vertical-align:top;letter-spacing:0;display:inline-block;margin:30px 0 0 10px}.forma{background:#dddddf;padding:36px 34px 0}.browser-mock{height:100%;background:#f6f5f0;color:#252722;padding:20px 25px;position:relative;border:1px solid #bdbfbb;transform:translateY(12px);transition:transform .5s}.project:hover .browser-mock{transform:translateY(0)}.mock-nav{display:flex;justify-content:space-between;border-bottom:1px solid #d1d1ca;padding-bottom:12px;align-items:center}.mock-nav b{font-size:24px;letter-spacing:-1px}.mock-nav span{font-size:7px;letter-spacing:1px}.mock-body{padding-top:30px;position:relative;z-index:1}.mock-body>span{font-size:7px;letter-spacing:1px}.mock-body strong{font-family:Georgia,serif;display:block;font-size:34px;font-weight:400;line-height:1.1;margin-top:12px}.mock-line{width:70%;height:1px;background:#aaa;margin-top:21px}.mock-body small{font-size:6px;letter-spacing:1px}.mock-index{position:absolute;bottom:-27px;right:15px;font-family:Georgia,serif;font-size:155px;color:#deded5;line-height:1}.wide{grid-column:1/-1}.ritmo{background:#b9a3f5;color:#19121e;padding:30px;display:flex;flex-direction:column;justify-content:space-between}.ritmo-word{font-weight:800;font-size:150px;line-height:1;letter-spacing:-11px;transform:rotate(-4deg);text-align:center;transition:transform .5s}.ritmo-word span{font-size:26px;vertical-align:top;letter-spacing:0}.project:hover .ritmo-word{transform:rotate(0)}.ritmo-foot{display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px}.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:center}.about-mark{text-align:center;border:1px solid #222;position:relative;padding:35px 20px 28px}.huge-star{font-size:220px;line-height:1.1;display:inline-block;animation:spin 50s linear infinite}.mark-label{font-size:12px;letter-spacing:2px;line-height:1.7;margin-top:20px}.about-copy>p:not(.eyebrow){color:#666;font-size:15px}.values{display:flex;flex-wrap:wrap;gap:15px;font-size:13px;font-weight:800;padding-top:16px}.process{background:#f7f7f7;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:58px}.steps article{border-top:1px solid #bbb;padding-top:20px}.steps article>span{font-size:36px;font-weight:800;letter-spacing:-2px}.steps h3{margin:24px 0 10px;font-size:17px}.steps p{font-size:13px;color:#666;line-height:1.8}.contact{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact h2{font-size:46px}.contact p{color:#666;font-size:15px}.contact-star{display:block;font-size:85px;line-height:1;margin-top:32px;width:max-content;animation:spin 25s linear infinite}form{display:grid;gap:10px;align-content:start}label{font-size:12px;font-weight:800}input,select,textarea{width:100%;background:white;border:1px solid #aaa;border-radius:0;padding:13px;color:#111;font-size:14px;margin-bottom:8px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #111;outline-offset:2px}form .button{justify-self:start}.form-note{font-size:12px!important;margin:0}footer{padding:38px 0}.footer-content{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer-content p,.footer-content>a:last-child{font-size:11px}.footer-content .logo{font-size:36px}.footer-content .logo span{font-size:30px}dialog{border:1px solid #111;border-radius:4px;padding:50px;max-width:580px;width:calc(100% - 36px);max-height:90vh;overflow:auto}dialog::backdrop{background:#0009;backdrop-filter:blur(4px)}.close-dialog{position:absolute;right:17px;top:12px;border:0;background:none;font-size:30px;line-height:1.4}dialog>p{color:#666;font-size:15px}#dialog-tags{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}#dialog-tags span{border:1px solid #ddd;padding:5px 10px;font-size:12px}.skip{position:fixed;top:-100px;left:15px;background:#111;color:white;padding:12px;z-index:100}.skip:focus{top:10px}.reveal{opacity:1}.motion-ready .reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.motion-ready .reveal.visible{opacity:1;transform:translateY(0)}@keyframes float{50%{transform:translateY(-9px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bob{50%{transform:translateY(5px)}}@keyframes tag-float{50%{transform:translateY(-7px) rotate(-5deg)}}
@media(min-width:1500px){.hero{padding-top:110px;padding-bottom:35px}}@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.nav{gap:20px}nav{gap:20px}.hero h1{font-size:37px}.hero{padding-top:65px}.hero-actions{gap:18px}.hero-actions .button{padding:13px 17px}.hero-art img{width:100%;margin-left:0}.art-star{font-size:45px;top:7%}.tag{font-size:9px}.service-grid{gap:13px}.service{padding:25px 17px}.service h3{font-size:16px}.about,.contact{gap:55px}.aura-word{font-size:100px}.project-art{height:290px}.ritmo-word{font-size:130px}.contact h2{font-size:38px}}@media(max-width:760px){.wrap{width:calc(100% - 40px)}.section{padding-top:68px;padding-bottom:68px}.nav{height:74px}.logo{font-size:36px}.nav>.small{margin-left:auto;padding:8px 13px;font-size:11px;min-height:40px}.menu{display:block;border:1px solid #ddd;background:white;width:40px;height:40px;font-size:20px}nav{display:none;position:absolute;top:74px;left:0;right:0;background:#fff;border-bottom:1px solid #aaa;padding:20px;flex-direction:column}nav.open{display:flex}.hero{padding-top:50px;grid-template-columns:1fr}.hero h1{font-size:clamp(30px,6.8vw,48px);line-height:1.4;letter-spacing:-1.5px;white-space:normal}.hero .eyebrow{font-size:9px;margin-bottom:22px;letter-spacing:1.5px}.intro{font-size:14px;margin-top:20px}.hero-note{margin-top:26px;font-size:9px}.hero-art{max-width:500px;width:100%;margin:12px auto 0}.hero-art img{width:100%;margin:0}.tag-one{left:0;top:12%}.tag-two{bottom:10%;right:0}.art-star{right:2%;top:10%}.hero-bottom{margin-top:35px;font-size:10px}.hero-bottom a{font-size:8px;letter-spacing:.7px}.hero-bottom a span{margin-left:7px}.service-grid{grid-template-columns:1fr 1fr;gap:15px;margin-top:32px}.service{min-height:240px;padding:22px 18px}.service-icon{margin-bottom:28px}.section-heading h2{font-size:33px}.work-head{display:block}.work-head>p{font-size:13px}.project-grid{grid-template-columns:1fr;gap:30px}.wide{grid-column:auto}.project-art{height:300px}.ritmo-word{font-size:90px;letter-spacing:-7px}.ritmo-foot{font-size:7px;letter-spacing:1px}.aura-word{font-size:120px}.about{grid-template-columns:1fr;gap:42px}.about-mark{max-width:320px;width:100%;margin:auto}.huge-star{font-size:165px}.about-copy h2{font-size:36px}.steps{grid-template-columns:1fr 1fr;gap:27px 22px;margin-top:30px}.contact{grid-template-columns:1fr;gap:35px}.contact h2{font-size:37px}.contact-star{display:none}.footer-content{flex-wrap:wrap;gap:20px}.footer-content p{order:3;width:100%;margin:0}.footer-content>a:last-child{margin-left:auto}dialog{padding:45px 25px 30px}.desktop{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}}
.skills{padding-bottom:100px}.skills-grid{list-style:none;margin:42px 0 0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}.skill-card{min-height:156px;border:1px solid #111;border-radius:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;background:#fff;color:#111;transition:background .25s,color .25s,transform .3s}.skill-card img{display:block;object-fit:contain;transition:filter .25s,transform .3s}.skill-card h3{margin:0;font-size:14px;font-weight:800;letter-spacing:-.25px}.skill-featured,.skill-card:hover{background:#111;color:#fff}.skill-featured img,.skill-card:hover img{filter:invert(1)}.skill-card:hover img{transform:translateY(-4px) rotate(-5deg)}.skills-grid .skill-card:nth-child(2){transition-delay:.04s}.skills-grid .skill-card:nth-child(3){transition-delay:.08s}.skills-grid .skill-card:nth-child(4){transition-delay:.12s}.skills-grid .skill-card:nth-child(5){transition-delay:.16s}.skills-grid .skill-card:nth-child(6){transition-delay:.2s}@media(max-width:1000px){.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:740px;margin:36px auto 0;gap:20px}}@media(max-width:760px){.skills{padding-bottom:68px}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.skill-card{min-height:146px;gap:20px}}
.instagram-link{display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:700;transition:opacity .2s}.instagram-link:hover{opacity:.65}.instagram-link svg{flex-shrink:0}.contact-social{margin-top:22px}.footer-content .instagram-link{font-size:13px}@media(max-width:760px){.footer-content .instagram-link{margin-left:auto}.footer-content>a:last-child{margin-left:0}}

.hero-projects{display:block;background:transparent;overflow:hidden;border-radius:3px;transition:transform .3s;isolation:isolate}.hero-projects img{display:block;width:100%;max-width:100%;height:auto;margin:0;mix-blend-mode:normal;animation:none;transition:transform .6s}.hero-projects:hover img{transform:scale(1.025)}@media(max-width:760px){.hero-projects{margin-top:30px}}

/* Commercial portfolio */
.hero .intro{max-width:510px;line-height:1.8}.hero h1{font-size:clamp(32px,3.65vw,53px)}.hero .hero-art{margin-left:18px}.portfolio-card{min-width:0}.site-preview{display:block;position:relative;overflow:hidden;border:1px solid #454545;border-radius:5px;background:#242424}.preview-bar{height:30px;display:flex;align-items:center;gap:22px;padding:0 13px;font-size:9px;color:#bbb}.preview-bar span:first-child{font-size:8px;letter-spacing:3px}.preview-bar span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-preview img{display:block;width:100%;height:auto;aspect-ratio:1240/610;object-fit:cover;object-position:top;transition:transform .55s}.site-preview:hover img{transform:scale(1.025)}.preview-visit{position:absolute;bottom:16px;right:16px;background:#111;color:white;border:1px solid #777;padding:8px 13px;font-size:12px;font-weight:700;opacity:0;transform:translateY(5px);transition:.25s}.site-preview:hover .preview-visit,.site-preview:focus-visible .preview-visit{opacity:1;transform:none}.portfolio-info{padding:23px 0 10px}.portfolio-info .eyebrow{font-size:10px;margin-bottom:10px;letter-spacing:1.5px}.portfolio-info h3{font-size:25px;margin:0 0 12px;letter-spacing:-.8px}.portfolio-info .portfolio-description{font-size:14px;line-height:1.8;color:#bbb;margin:0;max-width:520px}.project-features{padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.project-features li{font-size:11px;padding:5px 9px;border:1px solid #444;border-radius:3px;color:#ddd}.project-visit{display:inline-block;border-bottom:1px solid #888;padding:4px 0;font-size:13px;font-weight:800}.project-visit:hover{border-color:#fff}.portfolio-cta{border-top:1px solid #444;margin-top:50px;padding-top:34px;display:flex;justify-content:space-between;gap:24px;align-items:center}.portfolio-cta h3{font-size:25px;margin:0 0 8px}.portfolio-cta p{font-size:14px;margin:0}.portfolio-cta .button{background:white;color:#111;flex-shrink:0}.portfolio-cta .button:hover{background:#ddd}.faq{padding-bottom:15px}.faq-list{max-width:800px;margin:38px auto 0}.faq-list details{border-bottom:1px solid #d8d8d8}.faq-list summary{cursor:pointer;padding:22px 30px 22px 0;font-size:16px;font-weight:700;list-style:none;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:3px;top:18px;font-size:24px;font-weight:400}.faq-list details[open] summary:after{content:'−'}.faq-list p{font-size:15px;color:#666;line-height:1.8;margin:0 0 22px}.faq-list summary:focus-visible{outline:2px solid #111;outline-offset:3px}.service p{font-size:14px}.project-grid{row-gap:40px}@media(max-width:760px){.hero .hero-art{margin-left:auto}.portfolio-cta{display:block}.portfolio-cta .button{margin-top:24px;width:100%;font-size:12px}.portfolio-info h3{font-size:23px}.portfolio-info .portfolio-description{font-size:14px}.preview-visit{opacity:1;transform:none;font-size:10px;padding:6px 10px;bottom:10px;right:10px}.hero h1{font-size:clamp(30px,6.8vw,48px)}.hero .hero-actions{flex-wrap:wrap}.faq{padding-bottom:0}}
