:root{--color-surface-primary:#fff;--color-surface-inverse:#111;--color-surface-editorial:#f3f0e8;--color-text-primary:#111;--color-text-inverse:#fff;--color-text-secondary:#666;--color-border:#11111114;--color-border-strong:#111;--color-signal:#f2385a;--color-system:#456ef5;--color-evidence:#52a675;--font-sans:var(--font-geist), Arial, sans-serif;--font-editorial:var(--font-newsreader), Georgia, serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;--space-11:160px;--space-12:240px;--radius-small:4px;--radius-medium:8px;--radius-large:12px;--container:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{background:var(--color-surface-primary);color:var(--color-text-primary);font-family:var(--font-sans);margin:0;font-size:20px;line-height:1.45}.skip-link{z-index:20000;background:var(--color-surface-inverse);color:#fff;padding:12px 16px;transition:transform .2s;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}#page-content:focus{outline:none}a{color:inherit;text-decoration:none}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--color-signal);outline-offset:4px}button{color:inherit;font:inherit}.site-header,.site-footer{width:min(100% - 40px, var(--container));justify-content:space-between;align-items:center;margin-inline:auto;display:flex}.site-header{border-bottom:1px solid var(--color-border);min-height:96px}.site-footer{padding-block:var(--space-8);border-top:1px solid var(--color-border);gap:var(--space-5);font-size:16px}.site-footer img{width:180px;height:auto;display:block}.brand{letter-spacing:-.05em;font-weight:700;line-height:.9}.brand-signal{color:var(--color-signal)}.site-nav{gap:var(--space-5);align-items:center;font-size:16px;display:flex}.site-nav a:hover{text-underline-offset:4px;text-decoration:underline}.page-shell{width:min(100% - 40px, var(--container));margin-inline:auto}.hero{min-height:72vh;padding-block:var(--space-12);align-items:center;gap:var(--space-8);grid-template-columns:minmax(0,1fr) minmax(280px,38%);display:grid}.hero-copy-block{z-index:1;position:relative}.hero-portrait{background:var(--color-surface-editorial);border-radius:20px;justify-self:end;width:100%;max-width:560px;position:relative;overflow:hidden}.hero-portrait img{width:100%;height:auto;display:block}.signal-disc{aspect-ratio:1;background:var(--color-signal);border-radius:50%;width:clamp(110px,16vw,220px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero h1{max-width:1000px;margin:var(--space-6) 0;letter-spacing:-.08em;font-size:clamp(56px,9vw,144px);line-height:.9}.hero h1 em,h2 em{font-family:var(--font-editorial);letter-spacing:-.04em;font-weight:400}.hero-copy{max-width:640px;color:var(--color-text-secondary)}.section{padding-block:var(--space-12)}.section-heading{justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-7);display:flex}.section-heading>:last-child{max-width:360px;color:var(--color-text-secondary)}.work-list{border-top:1px solid var(--color-border-strong)}.work-row{gap:var(--space-5);padding:var(--space-5) 0;border-bottom:1px solid var(--color-border);grid-template-columns:1fr 2fr 1fr;transition:padding .2s;display:grid}.work-row:hover{padding-left:var(--space-3);padding-right:var(--space-3)}.work-row span{color:var(--color-text-secondary);font-size:14px}.work-row strong{letter-spacing:-.04em;font-size:clamp(20px,3vw,32px)}.editorial{background:var(--color-surface-editorial);width:100%;padding-inline:max(20px, calc((100% - var(--container)) / 2))}.editorial h2,.contact-block h2{letter-spacing:-.07em;margin:var(--space-7) 0 var(--space-9);font-size:clamp(44px,7vw,96px);line-height:.92}.principles{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}.principles span{gap:var(--space-2);align-items:center;font-size:16px;display:flex}.contact-block{padding-block:var(--space-12);min-height:60vh}.text-link{text-underline-offset:6px;text-decoration:underline}.button-link{cursor:pointer;background:0 0;border:0;padding:0}.about-page .hero{min-height:68vh}.about-grid{gap:var(--space-10);grid-template-columns:1fr 1fr;display:grid}.about-grid p{max-width:560px;color:var(--color-text-secondary)}.timeline{gap:var(--space-7);border-top:1px solid var(--color-border-strong);padding-top:var(--space-5);grid-template-columns:repeat(3,1fr);display:grid}.timeline strong{color:var(--color-text-secondary);font-size:14px}.timeline h3{letter-spacing:-.05em;margin:var(--space-4) 0;font-size:32px}.timeline p{color:var(--color-text-secondary);font-size:16px}.projects-page .hero{min-height:auto;padding-block:120px 140px;display:block}.projects-page .hero h1{max-width:100%;margin:28px 0 36px;font-size:clamp(64px,9vw,128px);line-height:.9}.projects-page .hero-copy{max-width:680px}.about-page .hero{position:relative;overflow:hidden}.about-page .hero:after{content:"";aspect-ratio:1;width:min(28vw,360px);margin-top:var(--space-7);filter:grayscale();background:url(/assets/profile/jhonatan-rafael.webp) 50%/cover;border-radius:50%;display:block}.profile-home{align-items:center;gap:var(--space-8);background:var(--color-paper);grid-template-columns:1fr minmax(280px,420px);display:grid}.profile-home img{border-radius:20px;width:100%;display:block}.project-grid{background:var(--color-border);border:1px solid var(--color-border);grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.project-card{background:var(--color-surface-primary);min-height:360px;padding:var(--space-7);flex-direction:column;align-items:flex-start;transition:background .2s;display:flex}.project-card:hover{background:var(--color-surface-editorial)}.project-card h2{letter-spacing:-.06em;margin:var(--space-6) 0 var(--space-4);font-size:clamp(28px,4vw,56px);line-height:.95}.project-card p{color:var(--color-text-secondary);max-width:420px;margin-bottom:auto}.project-card-media{aspect-ratio:16/8;width:100%;margin-bottom:var(--space-5);background:var(--color-surface-editorial);place-items:center;display:grid;overflow:hidden}.project-card-media img{object-fit:contain;width:100%;height:100%;transition:transform .3s;display:block}.project-card:hover .project-card-media img{transform:scale(1.025)}.case-page{padding-bottom:var(--space-10)}.case-hero{padding-block:var(--space-8) var(--space-10);border-bottom:1px solid var(--color-border-strong)}.back-link{margin-bottom:var(--space-10);text-underline-offset:4px;font-size:16px;text-decoration:underline;display:inline-block}.case-hero h1{letter-spacing:-.08em;max-width:900px;margin:var(--space-5) 0;font-size:clamp(52px,8vw,128px);line-height:.9}.case-subtitle{max-width:700px;color:var(--color-text-secondary);font-size:clamp(20px,3vw,32px)}.case-meta{gap:var(--space-5);margin:var(--space-10) 0 0;grid-template-columns:repeat(3,1fr);display:grid}.case-meta dt{color:var(--color-text-secondary);margin-bottom:var(--space-2);font-size:14px}.case-meta dd{margin:0;font-size:16px}.case-intro{max-width:760px;padding-block:var(--space-10);font:400 clamp(28px, 4vw, 48px)/1.05 var(--font-editorial)}.case-media{gap:var(--space-8);margin-block:var(--space-5) var(--space-10);display:grid}.case-media-item{background:var(--color-surface-editorial);margin:0;overflow:hidden}.case-media-item img{width:100%;height:auto;display:block}.case-media-item--hero img{object-fit:contain;max-height:72vh}.case-media-item figcaption{padding:var(--space-3) var(--space-4);color:var(--color-text-secondary);font-size:13px}.case-sections{gap:var(--space-10);max-width:900px;margin-left:auto;display:grid}.case-section{gap:var(--space-6);border-top:1px solid var(--color-border);padding-top:var(--space-5);grid-template-columns:1fr 2fr;display:grid}.case-section>p:last-child{color:var(--color-text-secondary);margin:0}.case-next{margin-top:var(--space-12);padding-top:var(--space-5);border-top:1px solid var(--color-border-strong);font-size:20px}.eyebrow{color:var(--color-signal);font:700 14px/1 var(--font-sans);letter-spacing:.08em}.error-page{min-height:calc(100vh - 220px);padding-block:var(--space-12);flex-direction:column;justify-content:center;display:flex}.error-page h1{letter-spacing:-.08em;max-width:850px;margin:var(--space-6) 0;font-size:clamp(56px,9vw,128px);line-height:.9}.error-page p:not(.eyebrow){color:var(--color-text-secondary);max-width:560px}.error-actions{gap:var(--space-6);margin-top:var(--space-7);display:flex}@media (max-width:767px){body{font-size:16px}.site-header,.site-footer,.page-shell{width:min(100% - 40px, var(--container))}.site-header{min-height:76px}.site-nav{gap:12px;font-size:14px}.site-nav a:nth-child(3){display:none}.hero{min-height:76vh;padding-block:var(--space-10);flex-direction:column;align-items:stretch;display:flex}.hero h1{font-size:56px}.projects-page .hero{min-height:auto;padding-block:80px 96px;display:block}.projects-page .hero h1{margin:24px 0 32px;font-size:clamp(52px,14vw,64px)}.hero-portrait{width:min(100%,420px);margin:var(--space-5) auto 0}.signal-disc{width:130px}.section{padding-block:var(--space-10)}.section-heading,.about-grid{display:block}.section-heading>:last-child{margin-top:var(--space-5)}.work-row{gap:var(--space-2);grid-template-columns:1fr}.work-row strong{font-size:28px}.principles,.timeline{gap:var(--space-5);grid-template-columns:1fr 1fr}.editorial{width:100%;padding-inline:20px}.editorial h2,.contact-block h2{font-size:52px}.project-grid{grid-template-columns:1fr}.project-card{min-height:300px;padding:var(--space-5)}.case-hero{padding-block:var(--space-6)}.case-hero h1{font-size:56px}.case-meta{gap:var(--space-4);margin-top:var(--space-7);grid-template-columns:1fr}.case-intro{padding-block:var(--space-7);font-size:32px}.case-sections{gap:var(--space-7);margin-left:0}.case-section{display:block}.case-section>p:last-child{margin-top:var(--space-4)}.profile-home{display:block}.profile-home img{width:min(100%,420px);margin-top:var(--space-7)}.about-page .hero:after{width:min(70vw,280px)}.site-footer{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.mobile-brand,.menu-toggle{display:none}.full-brand{width:180px;line-height:0;display:inline-flex}.full-brand img{width:100%;height:auto;display:block}.language-switch{white-space:nowrap}.language-switch [aria-current=page]{font-weight:700}.home-header{border:0;width:min(100% - 240px,1200px);min-height:60px}.home-header .brand{letter-spacing:-.7px;font-size:16px}.home-header .site-nav{gap:28px;font-size:14px}.home-footer{padding:80px 0 24px}.home-footer-signature{text-align:center;font-size:24px}.home-footer-signature img{width:220px;height:auto;display:inline-block}.home-footer p{color:#777d84;font:10px/1.6 monospace}.home-footer-bottom{justify-content:space-between;align-items:center;gap:24px;width:min(100% - 240px,1200px);margin:160px auto 0;font-size:14px;display:flex}.home-footer-bottom nav{flex-wrap:wrap;gap:20px;display:flex}.home-footer-bottom img{width:180px;height:auto;display:block}@media (max-width:1100px){.home-header,.home-footer-bottom{width:calc(100% - 64px)}.home-footer-bottom{margin-top:100px;font-size:12px}.home-footer-bottom nav{gap:12px}}@media (max-width:600px){.home-header{width:calc(100% - 40px);min-height:48px}.full-brand{display:none}.mobile-brand{align-items:center;width:30px;height:34px;line-height:0;display:inline-flex}.mobile-brand svg{width:30px;height:34px;display:block;overflow:visible}.menu-toggle{cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:flex-end;gap:4px;width:32px;height:32px;padding:4px 0 4px 8px;display:flex}.menu-toggle span{background:var(--color-text-primary);transform-origin:50%;width:22px;height:1px;transition:transform .2s,opacity .2s;display:block}.menu-toggle.is-open span:first-child{transform:translateY(6px)rotate(45deg)}.menu-toggle.is-open span:nth-child(2){opacity:0}.menu-toggle.is-open span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.site-header{z-index:5;position:relative}.site-header .site-nav{display:none}.site-header .site-nav.is-open{background:#fff;flex-direction:column;align-items:stretch;padding:24px;display:flex;position:absolute;top:100%;left:0;right:0;box-shadow:0 10px 20px #0001}.site-header .site-nav a{padding:8px;display:inline-block}.home-footer{padding:56px 0 24px}.home-footer-signature{font-size:18px}.home-footer-bottom{text-align:center;flex-direction:column;gap:12px;width:calc(100% - 40px);margin-top:64px}.home-footer-bottom nav{justify-content:center}}.redirect-case .redirect-end{grid-template-columns:repeat(5,minmax(0,1fr))}.redirect-case .redirect-card strong{overflow-wrap:anywhere}.account-case .account-figma-comparison{grid-template-columns:minmax(0,1fr) 68px minmax(0,1fr)}.account-case .figma-panel{min-width:0}@media (max-width:760px){.redirect-case .redirect-hero h1{font-size:clamp(35px,11vw,44px)}.account-case .account-figma-comparison{grid-template-columns:minmax(0,1fr)}}@media (max-width:340px){.home-page .home-principles li{grid-template-columns:32px minmax(0,1fr) 10px;gap:12px;padding-inline:0}.home-page .home-principles h3,.home-page .home-principles li p{overflow-wrap:anywhere}}
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_e799d87a-module__u8MhCG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_e799d87a-module__u8MhCG__variable{--font-geist:"Geist", "Geist Fallback"}
@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/150f724d70372c02-s.2ym9msm88vm4r.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/750c737482d9de2f-s.08jxdyhjmo52g.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/5f402bd2d8eef81a-s.p.23oeb0afa3wba.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Fallback;src:local(Times New Roman);ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.0%;size-adjust:105.48%}.newsreader_8524af2f-module__VEC2Nq__className{font-family:Newsreader,Newsreader Fallback;font-style:normal}.newsreader_8524af2f-module__VEC2Nq__variable{--font-newsreader:"Newsreader", "Newsreader Fallback"}
