@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght,SOFT,WONK@9..144,700,100,1&display=swap');
:root{--ink:#171717;--paper:#f5f2e9;--lilac:#cbbbeb;--accent:#a887de;--muted:#aaa7ae;--line:#ffffff29;--radius:32px;--max:1380px;--space:clamp(24px,5vw,80px);font-family:'DM Sans',Arial,sans-serif;color:var(--paper);background:var(--ink);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:var(--lilac);color:var(--ink)}.skip{position:fixed;top:-100px;z-index:100;background:var(--paper);color:var(--ink);padding:15px}.skip:focus{top:10px}.header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:16px var(--space);background:#171717f5;border-bottom:1px solid var(--line);backdrop-filter:blur(15px)}.wordmark{font:bold 42px/1 'Fraunces',Georgia,serif;letter-spacing:-4px}.wordmark span{font:28px Arial;color:var(--lilac);margin-left:6px}.header nav{display:flex;align-items:center;gap:36px;font-size:14px}.header nav a:hover{color:var(--lilac)}.nav-contact{border:1px solid #777;border-radius:30px;padding:12px 21px}.nav-contact span{margin-left:20px}.menu-toggle{display:none}.hero{padding:30px var(--space) 0;max-width:1540px;margin:auto}.hero-top,.hero-foot{display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.8px}.hero-top{color:var(--muted)}h1,h2,h3,p{margin-top:0}.hero h1{font-family:'Fraunces',Georgia,serif;font-size:clamp(80px,13.7vw,210px);line-height:1.13;letter-spacing:-.075em;margin:19px 0 28px;font-weight:700;position:relative}.name-star{display:inline-block;font:clamp(50px,9vw,140px)/1 Arial;color:var(--lilac);margin-left:3vw;vertical-align:middle;animation:turn 30s linear infinite}.hero-bottom{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center;padding-bottom:42px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600}.hero h2{font-size:clamp(36px,4.25vw,64px);font-weight:500;line-height:1.05;letter-spacing:-2.5px;margin-bottom:20px}.hero h2 em{color:var(--lilac);font-style:normal}.hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.65;color:#c0bec2}.actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:28px}.button{border:0;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border-radius:50px;padding:17px 25px;font-size:14px;font-weight:600;transition:transform .25s,background .25s}.button:hover{transform:translateY(-4px)}.primary{background:var(--lilac);color:var(--ink)}.text-link{font-size:13px;border-bottom:1px solid #888;padding-bottom:5px}.portrait-wrap{position:relative;margin-right:34px}.portrait{height:400px;border-radius:170px 170px 28px 28px;overflow:hidden;position:relative;transform:rotate(3deg);background:var(--lilac)}.portrait img{height:100%;width:100%;object-fit:cover}.portrait-caption{position:absolute;bottom:24px;left:0;right:0;text-align:center;color:#171717;font-size:10px;letter-spacing:2px}.portrait-sticker{position:absolute;right:-40px;top:40px;background:var(--paper);color:var(--ink);padding:24px 22px;border-radius:50%;font-size:16px;line-height:1.1;transform:rotate(12deg);font-weight:600}.portrait-note{position:absolute;left:-25px;bottom:32px;padding:13px 20px;border:1px solid var(--ink);border-radius:40px;color:var(--ink);background:var(--lilac);transform:rotate(-7deg);font-size:13px}.hero-foot{border-top:1px solid var(--line);padding:20px 0}.section{padding:95px var(--space)}.light{background:var(--paper);color:var(--ink)}.intro{display:grid;grid-template-columns:1fr 2fr;gap:60px}.intro h2{font:700 clamp(32px,4vw,56px)/1.1 'Fraunces',Georgia,serif;letter-spacing:-2px}.intro p{font-size:clamp(23px,2.5vw,36px);line-height:1.4;letter-spacing:-.8px;max-width:900px;margin:0}.intro p span{color:#78737f}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.section-heading h2,.about h2{font-size:clamp(38px,5vw,70px);line-height:1.05;letter-spacing:-3px;font-weight:500;margin-bottom:0}.section-heading h2 em,.about em{font-family:'Fraunces',Georgia,serif;font-style:normal}.section-heading>p{max-width:280px;line-height:1.6;font-size:15px;color:#706b73}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.filter{border:1px solid #c4bfc8;color:var(--ink);background:transparent;border-radius:30px;padding:10px 17px;font-size:13px}.filter.active,.filter:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 28px}.project-card:nth-child(even){margin-top:65px}.project-cover{display:flex;min-height:340px;border-radius:24px;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:40px;background:var(--lilac);transition:transform .4s}.project-card:hover .project-cover{transform:translateY(-6px)}.project-cover .demo-tag{position:absolute;left:22px;top:20px;font:10px 'DM Sans',Arial;letter-spacing:1.4px;border:1px solid currentColor;padding:7px 10px;border-radius:20px}.project-art{font:700 clamp(40px,5.7vw,86px)/.95 'Fraunces',Georgia,serif;text-align:center;letter-spacing:-4px}.cover-social{background:#d3dfad}.cover-brand{background:#eca585}.cover-content{background:#aabed0}.cover-arrow{position:absolute;bottom:20px;right:20px;background:var(--paper);border-radius:50%;width:44px;height:44px;display:grid;place-items:center;font-size:24px}.project-info{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding-top:19px}.project-info h3{font-size:23px;font-weight:500;letter-spacing:-.7px;margin:0}.project-info span{font-size:12px}.project-card p{font-size:14px;color:#706b73;margin-top:8px}.services{background:var(--lilac);color:var(--ink)}.services .section-heading>p{color:#4b425b}.service{border-top:1px solid #17171740}.service:last-child{border-bottom:1px solid #17171740}.service summary{list-style:none;display:flex;align-items:center;gap:28px;padding:26px 0;cursor:pointer}.service summary::-webkit-details-marker{display:none}.service-number{font-size:13px}.service h3{font-size:clamp(25px,4.4vw,60px);font-weight:500;letter-spacing:-2px;flex:1;margin:0}.service-plus{font-size:34px;font-weight:400;transition:transform .3s}.service[open] .service-plus{transform:rotate(45deg)}.service-content{padding:0 70px 28px;max-width:800px;line-height:1.7}.service-content p{margin-bottom:14px}.service-chips{display:flex;gap:8px;flex-wrap:wrap}.service-chips span{border:1px solid #17171750;border-radius:20px;padding:5px 12px;font-size:12px}.about{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.about h2{max-width:520px}.about em{color:var(--lilac)}.about-copy{font-size:17px;line-height:1.8;color:#c3bfc6}.process{border-top:1px solid var(--line);padding:15px 0;font-size:14px;display:flex;gap:25px;color:var(--paper)}.process span{color:var(--lilac)}.contact{border-radius:48px 48px 0 0;background:var(--lilac);color:var(--ink)}.contact-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #17171740;padding-bottom:45px;margin-bottom:45px}.contact h2{font:700 clamp(48px,7vw,104px)/1 'Fraunces',Georgia,serif;letter-spacing:-5px;margin:0}.contact-head>span{font-size:100px}.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:10%}.contact-copy p{font-size:24px;line-height:1.5;max-width:390px}.contact-copy>a{display:block;margin-top:15px;font-size:18px;text-decoration:underline;text-underline-offset:5px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:13px;margin-bottom:22px}input,select,textarea{display:block;width:100%;border:0;border-bottom:1px solid #17171765;background:transparent;border-radius:0;color:var(--ink);padding:12px 0;outline-offset:4px;font-size:16px}textarea{resize:vertical;min-height:90px}select option{background:var(--paper)}.dark-button{background:var(--ink);color:var(--paper)}.form-note{font-size:12px;line-height:1.5}.form-status{font-size:14px;line-height:1.5;margin-top:14px}footer{padding:50px var(--space) 22px;display:grid;grid-template-columns:1.3fr 1fr .6fr;gap:35px;font-size:14px;line-height:1.8}.footer-name{font:700 44px 'Fraunces',Georgia;letter-spacing:-2px}#social-links span,#social-links a{display:block}.pending-social{color:#a5a0ac;font-size:12px}.copyright{grid-column:1/-1;border-top:1px solid var(--line);display:flex;justify-content:space-between;padding-top:22px;color:#aaa;font-size:12px}.reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.js-motion .reveal.visible{opacity:1;transform:none}.case-study{min-height:80vh;padding:60px var(--space) 90px;background:var(--paper);color:var(--ink)}.case-study h1{font:700 clamp(50px,8vw,100px)/1.05 'Fraunces',Georgia;letter-spacing:-3px;margin:35px 0 20px}.case-study .project-cover{margin:40px 0;min-height:400px}.case-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-top:1px solid #ccc;padding-top:25px}.case-block{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding:32px 0;border-bottom:1px solid #ccc}.case-block p{line-height:1.8;margin:0}.case-notice{border-left:3px solid var(--accent);padding-left:18px;line-height:1.6}.case-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px}.case-gallery .project-cover{min-height:260px;margin:15px 0}.case-back{font-size:14px;text-decoration:underline;text-underline-offset:5px}@keyframes turn{to{transform:rotate(360deg)}}@media(min-width:1600px){.section,footer{padding-left:max(var(--space),calc((100vw - 1380px)/2));padding-right:max(var(--space),calc((100vw - 1380px)/2))}}@media(max-width:900px){.header nav{gap:20px}.hero-bottom{gap:5%}.portrait{height:360px}.portrait-sticker{right:-25px}.actions{gap:18px}.intro{grid-template-columns:1fr;gap:20px}.project-cover{min-height:280px}.section{padding-top:70px;padding-bottom:70px}.about{gap:6%}.contact-grid{gap:6%}.contact h2{letter-spacing:-3px}}@media(max-width:640px){.header{padding-top:14px;padding-bottom:14px}.wordmark{font-size:35px}.menu-toggle{display:flex;flex-direction:column;gap:6px;background:transparent;border:0;padding:12px;z-index:22}.menu-toggle span{width:26px;height:2px;background:var(--paper);transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.header nav{display:none;position:absolute;top:66px;left:0;right:0;background:var(--ink);padding:30px var(--space);flex-direction:column;align-items:stretch;font-size:23px;border-bottom:1px solid var(--line)}.header nav.open{display:flex}.nav-contact{font-size:18px}.hero{padding-top:23px}.hero-top{font-size:9px;letter-spacing:1px}.edition{display:none}.hero h1{font-size:clamp(60px,15.2vw,98px);letter-spacing:-.08em;margin:26px 0}.name-star{font-size:11vw;margin-left:3vw}.hero-bottom{grid-template-columns:1fr;gap:45px}.hero h2{font-size:43px;letter-spacing:-2px}.hero-copy>p:not(.eyebrow){font-size:16px}.portrait-wrap{max-width:380px;width:calc(100% - 20px);margin:0 auto}.portrait{height:340px}.portrait-sticker{right:-18px;top:35px;font-size:14px}.portrait-note{left:-10px}.hero-foot{font-size:8px;letter-spacing:.7px;gap:15px}.section-heading{display:block}.section-heading h2,.about h2{letter-spacing:-2px}.section-heading>p{margin-top:22px}.project-grid{grid-template-columns:1fr;gap:35px}.project-card:nth-child(even){margin-top:0}.project-cover{min-height:310px}.project-art{font-size:65px}.project-info h3{font-size:21px}.filters{gap:6px}.filter{font-size:12px;padding:9px 12px}.service summary{gap:17px}.service h3{letter-spacing:-1px}.service-content{padding-left:30px;padding-right:0;font-size:15px}.about{grid-template-columns:1fr;gap:35px}.contact{border-radius:30px 30px 0 0}.contact-head{gap:15px}.contact h2{font-size:51px;letter-spacing:-3px}.contact-head>span{font-size:60px}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-copy p{font-size:22px}.form-row{grid-template-columns:1fr;gap:0}footer{grid-template-columns:1fr;gap:24px}.copyright{gap:15px;flex-direction:column}.case-facts{grid-template-columns:1fr}.case-block{grid-template-columns:1fr;gap:12px}.case-gallery{grid-template-columns:1fr}.case-study .project-cover{min-height:280px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}
@media(max-width:640px){.hero h1{position:relative;padding-right:16px}.name-star{position:absolute;right:0;top:-10px;font-size:26px;margin:0}}
/* Real projects and experience */
.portrait img{object-position:50% 46%;transform:scale(1.32);transform-origin:44% 54%}.portrait{border:7px solid var(--lilac)}
.project-cover.has-image{min-height:0;aspect-ratio:1.55;padding:22px;align-items:center}.project-cover.has-image img{display:block;width:100%;height:auto;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 15px 35px #17171730;transition:transform .5s}.project-card:hover .has-image img{transform:scale(1.025)}.project-cover.has-image .cover-arrow{bottom:12px;right:12px}.case-study .project-cover.has-image{aspect-ratio:auto;max-width:1100px;min-height:0;padding:28px}.case-study .project-cover.has-image img{max-height:none}.project-info{align-items:flex-start}.project-info h3{max-width:78%}.project-info>span{white-space:nowrap}.project-visit{display:inline-block;font-size:13px;border-bottom:1px solid;padding-bottom:3px;margin-top:3px}.project-visit:hover{color:#68488e}.filters[hidden]{display:none}.ongoing-work{margin-top:80px;border-top:1px solid #17171740;padding-top:42px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.ongoing-work h3{font-size:clamp(35px,4.5vw,60px);line-height:1.06;letter-spacing:-2px;font-weight:500;margin:0}.ongoing-work h3 em{font-family:'Fraunces',Georgia,serif;font-style:normal}.ongoing-work p:not(.eyebrow){font-size:20px;line-height:1.6;max-width:540px;margin:22px 0}.collaboration-label{font-size:12px;border:1px solid #918799;border-radius:30px;padding:8px 12px;display:inline-block}.experience-note strong{color:var(--lilac);font-weight:500}@media(max-width:640px){.ongoing-work{grid-template-columns:1fr;gap:25px;margin-top:50px}.project-cover.has-image{padding:13px;aspect-ratio:1.4}.project-cover.has-image .cover-arrow{width:34px;height:34px;font-size:21px}.portrait img{transform:scale(1.22);object-position:45% 48%}.project-info h3{font-size:20px}.case-study .project-cover.has-image{padding:12px}}

.contribution-label{display:inline-block;margin-top:13px;padding:6px 11px;border:1px solid #93859f;border-radius:30px;font-size:12px;color:#51425e}.copyright{flex-wrap:wrap;gap:12px 25px}
.contact-copy a.whatsapp-link,footer a.whatsapp-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:16px;font-weight:600;margin-top:12px}.whatsapp-link svg{flex-shrink:0}.whatsapp-link:hover span{text-decoration:underline;text-underline-offset:4px}
.ui-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0}.wordmark .ui-icon,.name-star .ui-icon{vertical-align:0}.hero-copy>.eyebrow{line-height:1.6}.whatsapp-link svg.ui-icon{width:1em;height:1em}
.legal-links{grid-column:1/-1;padding-top:16px;font-size:14px}.legal-links>a{display:inline-block;padding:8px 0;text-decoration:underline;text-underline-offset:4px}
