/*! tailwindcss v4.3.5 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.static{position:static}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.resize{resize:both}.rounded{border-radius:.25rem}.underline{text-decoration-line:underline}.blur{--tw-blur:blur(8px);filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.filter{filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--page:#fcfcfa;--ink:#282d34;--body:#4d555f;--muted:#6b737d;--accent:#345c80;--wash:#edf2f5;--selected:#e2eaf0;--line:#d6dce1;--link-line:#adb6bf;--white:#fff;--failure:#a13d35;--far:#e9edef;--mid:#d0d9df;--near:#acbac3;--tree-far:#8a9aa4;--tree:#475761;--ground:#99acb7;--face:system-ui, sans-serif;--display:system-ui, sans-serif;--ease:cubic-bezier(.22, .8, .22, 1);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;color-scheme:light;background:#fcfcfa;font-family:system-ui,sans-serif}*{box-sizing:border-box}html,body{scroll-behavior:auto;min-width:320px;margin:0;overflow-x:clip}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button,a{touch-action:manipulation}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:2px solid var(--accent,#345c8c);outline-offset:5px}button{border:0}h1,h2,h3,p,dl,dd,ul{margin:0}button,a{color:inherit}svg{display:block}::selection{color:#202933;background:#d9e6ef}.portfolio{isolation:isolate;background:var(--page);min-height:100vh;color:var(--body);font:400 16px/1.7 var(--face);--page-top:72px;padding:var(--page-top) 0 48px;position:relative}.reading-column{z-index:1;width:min(680px,100% - 48px);margin-inline:auto;position:relative}.introduction{scroll-margin-top:var(--page-top)}.masthead{justify-content:space-between;align-items:center;gap:18px;display:flex}h1{letter-spacing:-1px;color:var(--ink);font-size:34px;font-weight:500;line-height:1.2}.utilities{align-items:center;gap:13px;display:flex}.language{gap:3px;display:flex;position:relative}.language a,.sound{width:36px;height:36px;color:var(--muted);isolation:isolate;transition:color .18s var(--ease), background-color .18s var(--ease);border-radius:11px;place-items:center;font-size:12px;font-weight:500;display:grid;position:relative}.language a{z-index:1}.language a[aria-current=page]{color:var(--ink)}.language-indicator{background:var(--selected);z-index:-1;border-radius:11px;position:absolute;inset:0}.language a:hover{color:var(--ink)}.sound:active{scale:.94}.icon{vertical-align:middle;flex-shrink:0;width:17px;height:17px}.role{color:var(--muted);margin-top:8px;font-size:15px;line-height:24px}.intro-copy{letter-spacing:-.24px;color:var(--ink);text-wrap:pretty;max-width:55ch;margin-top:35px;font-size:20px;line-height:1.6}.personal-meta{color:var(--muted);margin-top:20px;font-size:13px;line-height:23px}.intro-actions{margin-top:19px}.sound-wave{stroke-dasharray:none;stroke-dashoffset:0;opacity:1}.language a{text-decoration:none}.personal-meta{display:block}.format{white-space:nowrap}.sound .icon{width:20px;height:20px}.icon{vertical-align:middle;flex:none;width:17px;height:17px}.text-link{width:fit-content;min-height:34px;color:var(--ink);transition:color .18s var(--ease), opacity .23s var(--ease);align-items:center;gap:7px;font-size:14px;line-height:24px;display:inline-flex}.link-label,.contact-destination{background-image:linear-gradient(var(--accent), var(--accent)), linear-gradient(var(--link-line), var(--link-line));transition:background-size .32s var(--ease);-webkit-box-decoration-break:clone;box-decoration-break:clone;background-position:0 calc(100% - 1px),0 calc(100% - 1px);background-repeat:no-repeat;background-size:0 1px,100% 1px;padding-bottom:3px}.text-link:is(:hover,:focus-visible,[data-inspect=true]),.credential:is(:hover,:focus-visible,[data-inspect=true]),.back:is(:hover,:focus-visible,[data-inspect=true]){color:var(--accent)}.text-link:is(:hover,:focus-visible,[data-inspect=true]) .link-label,.text-link:is(:hover,:focus-visible,[data-inspect=true]) .contact-destination,.credential:is(:hover,:focus-visible,[data-inspect=true]) .link-label{background-size:100% 1px,100% 1px}.text-link .icon{width:16px;height:16px}.icon-external{overflow:hidden}.external-twin{transform:translate(-24px,24px)}:is(a,button):is(:hover,:focus-visible,[data-inspect=true]) .external-original{transform:translate(24px,-24px)}:is(a,button):is(:hover,:focus-visible,[data-inspect=true]) .external-twin{transform:translate(0)}.icon-code{overflow:visible}.icon-code path:first-child,.icon-code path:nth-child(2){transition:transform .24s var(--ease)}.text-link:is(:hover,:focus-visible,[data-inspect=true]) .icon-code path:first-child{transform:translate(-1.5px)}.text-link:is(:hover,:focus-visible,[data-inspect=true]) .icon-code path:nth-child(2){transform:translate(1.5px)}.text-link{background:0 0;padding:2px 0;text-decoration:none}.icon-external{transform:none!important}.document-fold{transition:fill .26s var(--ease);fill:#0000}.document-line{stroke-dasharray:1;stroke-dashoffset:0}.resume:is(:hover,:focus-visible,[data-inspect=true]) .document-fold{fill:var(--selected)}.resume:is(:hover,:focus-visible,[data-inspect=true]) .line-one{animation:write-line .62s var(--ease) both}.resume:is(:hover,:focus-visible,[data-inspect=true]) .line-two{animation:write-line .62s 70ms var(--ease) both}@keyframes write-line{0%{stroke-dashoffset:0}24%{stroke-dashoffset:.78px}to{stroke-dashoffset:0}}.orientation{margin-top:37px}.index{flex-wrap:wrap;gap:30px;display:flex}.index a{min-height:36px;color:var(--body);transition:color .2s var(--ease);align-items:center;font-size:14px;display:inline-flex;position:relative}.index a:is(:hover,:focus-visible,[data-inspect=true]){color:var(--accent)}.nav-caret{opacity:0;clip-path:inset(0 100% 0 0);width:12px;height:14px;transition:opacity .22s var(--ease), transform .32s var(--ease), clip-path .32s var(--ease);position:absolute;left:-16px;transform:translate(-3px)}.index a:is(:hover,:focus-visible,[data-inspect=true]) .nav-caret{opacity:1;clip-path:inset(0);transform:translate(0)}main section{margin-top:76px;scroll-margin-top:40px}.section-title{font:500 24px/32px var(--display);letter-spacing:-.45px;color:var(--ink);margin-bottom:29px}h3{color:var(--ink);font-size:17px;font-weight:500;line-height:27px}.knowledge dt{color:var(--ink);font-size:17px;font-weight:500;line-height:26px}.knowledge dd{text-wrap:pretty;margin-top:5px;font-size:16px;line-height:27px}.technologies{margin-top:30px}.technologies h3,.courses-heading{color:var(--muted);font-size:14px;font-weight:400;line-height:24px}.technologies ul{color:var(--ink);flex-wrap:wrap;gap:0;margin-top:7px;padding:0;font-size:15px;line-height:28px;list-style:none;display:flex}.technologies li{white-space:nowrap;display:inline-flex}.technology-separator{color:#a7afb5;margin-inline:11px}.entries{flex-direction:column;gap:38px;display:flex}.date,.prose{text-wrap:pretty;font-size:16px;line-height:27px}.entry-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 18px;margin-bottom:13px;display:flex}.prose p{text-wrap:pretty;font-size:16px;font-weight:400;line-height:27px}.experience-total{color:var(--muted);margin-top:-19px;margin-bottom:27px;font-size:13px;line-height:23px}.project-heading{flex-wrap:wrap;align-items:baseline;gap:2px 13px;margin-bottom:9px;display:flex}.project-actions{flex-wrap:wrap;gap:4px 23px;margin-top:8px;display:flex}.project-media{aspect-ratio:1.79;background:var(--wash);cursor:zoom-in;isolation:isolate;border-radius:14px;width:100%;margin-top:19px;display:block;position:relative;overflow:hidden;box-shadow:0 0 0 1px #222c3310,0 3px 8px #17212c06}.project-media[hidden]{display:none}.project-media>img{object-fit:cover;object-position:var(--media-position);width:100%;height:100%;display:block}.media-expand{width:25px;height:25px;color:var(--ink);opacity:0;transition:opacity .18s var(--ease);background:#fcfcfaf0;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:9px;right:9px}.project-media:is(:hover,:focus-visible) .media-expand{opacity:1}.media-viewer{background:0 0;border:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.media-viewer::backdrop{backdrop-filter:blur(3px);background:#17212c4a}.media-frame{margin:0;position:fixed}.media-frame>img{object-fit:cover;object-position:var(--media-position);border-radius:14px;width:100%;height:100%;display:block}.media-frame figcaption{text-align:center;width:100%;color:var(--page);font:400 12px/20px var(--face);position:absolute;top:calc(100% + 10px)}.media-close{width:32px;height:32px;color:var(--ink);background:#fcfcfaed;border-radius:50%;place-items:center;display:grid;position:absolute;top:10px;right:10px}.media-close:hover{color:var(--accent);background:var(--wash)}.media-close .icon{width:17px;height:17px}@media (width<=480px){.project-media{border-radius:11px}}@media (pointer:coarse){.media-close{width:44px;height:44px}.media-expand{opacity:1}}@media print{.media-viewer,.media-expand{display:none}}.project-heading{margin-bottom:0}.project-heading h3{font-size:17px;line-height:27px}.project-pitch{text-wrap:pretty;max-width:56ch;margin-top:6px;font-size:16px;line-height:27px}.media-expand{width:32px;height:32px;transition:opacity .22s var(--ease), scale .3s var(--ease);bottom:12px;right:12px;scale:.9}.project-media:is(:hover,:focus-visible) .media-expand{scale:1}.degree-status,.courses p{color:var(--body);margin-top:4px;font-size:14px;font-weight:400;line-height:24px}.courses-heading{color:var(--muted);margin:31px 0 16px;font-size:14px;font-weight:400;line-height:24px}.courses{flex-direction:column;gap:25px;padding:0;list-style:none;display:flex}.courses h4{margin:0;font-size:16px;font-weight:500;line-height:25px}.credential{max-width:100%;color:var(--ink);transition:color .16s var(--ease), text-decoration-color .16s var(--ease);align-items:baseline;gap:7px;font-size:16px;font-weight:500;line-height:25px;text-decoration:none;display:inline-flex}.credential .icon{width:15px;height:15px;transition:transform .18s var(--ease);transform:translateY(1px)}.credential:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.credential:hover .icon,.credential:focus-visible .icon{transform:translateY(1px)}.certificate-preview{z-index:8;pointer-events:none;opacity:0;transition:opacity .2s var(--ease), transform .32s var(--ease);margin:0;position:fixed;transform:translateY(5px)scale(.97)}.certificate-preview[data-visible=true]{opacity:1;transform:none}.certificate-preview img{border-radius:4px;width:100%;height:auto;display:block;transform:none;box-shadow:0 1px 3px #17212c1a,0 10px 24px #17212c18}@media print{.certificate-preview{display:none}}.credential{font:inherit;display:inline}.credential-tail .icon{vertical-align:-2px;width:14px;height:14px;margin-left:5px;display:inline-block;transform:none}.contact .section-title{margin-bottom:18px}.copy-email{max-width:100%;min-height:40px;color:var(--ink);text-align:left;background:0 0;align-items:center;gap:10px;padding:0;display:inline-flex}.email-address{min-width:0;color:var(--ink);-webkit-user-select:text;user-select:text;overflow-wrap:anywhere;font-size:15px;font-weight:400;line-height:25px}.copy-feedback{transform-origin:0;width:78px;height:32px;color:var(--body);flex-shrink:0;transition:transform .12s,color .15s;display:grid;position:relative}.copy-email:active .copy-feedback{transform:scale(.94)}.copy-feedback .icon{overflow:visible}.copy-state{grid-area:1/1;justify-content:flex-start;align-items:center;gap:6px;display:flex}.copy-state .icon{width:15px;height:15px}.copy-label{white-space:nowrap;font-size:13px;font-weight:400;line-height:22px}.copy-email:hover .copy-feedback,.copy-email:focus-visible .copy-feedback,.copy-email[data-copy-state=copied] .copy-feedback{color:var(--accent)}.copy-email[data-copy-state=error] .copy-feedback{color:var(--failure)}.contact-details{flex-wrap:wrap;align-items:center;gap:2px 24px;margin-top:10px;display:flex}.contact-channel.text-link{gap:8px;text-decoration:none}.contact-channel>.brand-mark,.contact-channel>.icon-document{width:16px;height:16px;color:var(--body);flex-shrink:0}.contact-channel>.icon-external{width:12px;height:12px;color:var(--muted)}.contact-destination{text-decoration:none}@media (width<=480px){.contact .section-title{margin-bottom:16px}.contact-details{column-gap:16px}}.activity{margin-top:34px}.activity-link{width:fit-content;max-width:100%;text-decoration:none;display:block}.activity-origin{color:var(--body);align-items:baseline;gap:10px;display:flex;position:relative}.activity-origin:before{content:"";background:var(--link-line);width:1.3px;transition:background-color .16s var(--ease);position:absolute;top:20px;bottom:3px;left:7.35px}.activity-origin>.brand-mark{flex-shrink:0;align-self:start;width:16px;height:16px;margin-top:4px}.activity-meta{overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:0 12px;min-width:0;font-size:14px;line-height:24px;display:flex}.activity-label{font-size:13px;line-height:22px}.activity-meta time{color:var(--muted);white-space:nowrap;font-size:13px;line-height:22px}.activity-change{align-items:start;gap:8px;display:flex}.activity-branch{width:32px;height:28px;stroke:var(--link-line);stroke-width:1.3px;stroke-linecap:round;transition:stroke .16s var(--ease);flex-shrink:0;margin-top:-3px}.activity-branch circle{fill:var(--page);transition:fill .16s var(--ease)}.activity-message{min-width:0;color:var(--ink);overflow-wrap:anywhere;text-decoration:underline;-webkit-text-decoration-color:var(--link-line);-webkit-text-decoration-color:var(--link-line);text-decoration-color:var(--link-line);text-underline-offset:4px;transition:color .16s var(--ease), text-decoration-color .16s var(--ease);font-size:15px;font-weight:400;line-height:25px}.activity-link:hover .activity-message,.activity-link:focus-visible .activity-message{color:var(--accent);text-decoration-color:currentColor}.activity-link:hover .activity-branch,.activity-link:focus-visible .activity-branch{stroke:var(--accent)}.activity-link:hover .activity-branch circle,.activity-link:focus-visible .activity-branch circle{fill:var(--accent)}.activity-fallback{color:var(--muted);font-size:14px;line-height:23px}.activity-progress{stroke:var(--accent);stroke-dasharray:36;stroke-dashoffset:36px;transition:stroke-dashoffset .4s cubic-bezier(.2,.8,.25,1)}.activity-link:is(:hover,:focus-visible) .activity-progress{stroke-dashoffset:0}.activity-link:is(:hover,:focus-visible) .activity-branch>path:not(.activity-progress){stroke:var(--link-line)}.activity-link:hover .activity-origin:before,.activity-link:focus-visible .activity-origin:before{background:var(--accent)}footer{justify-content:flex-end;margin-top:65px;display:flex}.back{color:var(--muted);align-items:center;gap:7px;min-height:36px;font-size:14px;line-height:24px;text-decoration:none;display:inline-flex}.back:is(:hover,:focus-visible){color:var(--accent)}.up-window{flex-direction:column;width:17px;height:19px;display:flex;overflow:hidden}.up-window>.icon{width:17px;height:19px;transition:transform .39s var(--ease)}.back:is(:hover,:focus-visible,[data-inspect=true]) .up-window>.icon{transform:translateY(-19px)}.back .link-label{background-image:linear-gradient(var(--accent), var(--accent));background-size:0 1px}.back:is(:hover,:focus-visible,[data-inspect=true]) .link-label{background-size:100% 1px}.landscape-backdrop{z-index:0;pointer-events:none;position:fixed;inset:0}.landscape{width:min(290px,50vw - 360px);position:absolute;bottom:-32px;-webkit-mask-image:linear-gradient(90deg,#000 56%,#0000 100%);mask-image:linear-gradient(90deg,#000 56%,#0000 100%)}.landscape-left{left:0}.landscape-right{bottom:-75px;right:0;transform:scaleX(-1)}.landscape svg{width:100%;height:auto;overflow:visible}.mountain-far{fill:var(--far)}.mountain-mid{fill:var(--mid)}.mountain-near{fill:var(--near)}.tree-far{color:var(--tree-far);fill:currentColor}.tree-near{color:var(--tree);fill:currentColor}.ground{fill:var(--ground)}.resume-origin{align-items:center;display:inline-flex;position:relative}.notice{z-index:5;width:max-content;max-width:calc(100vw - 40px);color:var(--body);background:var(--page);align-items:center;gap:8px;padding:5px 0 0;font-size:12px;line-height:20px;display:flex;position:absolute;top:100%;left:0}.resume-contact .notice{width:195px;padding:0 0 5px;inset:auto 0 100% auto}.notice button{min-width:24px;min-height:24px;color:inherit;background:0 0;flex:none;place-items:center;display:grid}.skip{background:var(--ink);color:var(--page);z-index:10;border-radius:8px;padding:8px 12px;font-size:14px;position:absolute;top:8px;left:16px;transform:translateY(-200%)}.skip:focus{transform:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}main:focus,main section:focus{outline:none}main:focus-visible>section:first-child>.section-title,main section:focus-visible>.section-title{outline:2px solid var(--accent);outline-offset:6px;border-radius:3px;width:fit-content}.motion-reduced *,.motion-reduced :before,.motion-reduced :after{transition:none!important;animation:none!important}.motion-reduced .resume:hover .icon,.motion-reduced .text-link:hover .icon-external{transform:none}@media (prefers-reduced-motion:reduce){.text-link:is(:hover,:focus-visible) .icon-code path,.copy-email:active .copy-feedback{transform:none}}@keyframes arrival{0%{opacity:0}to{opacity:1}}html:not([data-locale-arrival]) .masthead,html:not([data-locale-arrival]) .role{animation:arrival .48s var(--ease) both}html:not([data-locale-arrival]) .intro-copy{animation:arrival .48s var(--ease) 70ms both}html:not([data-locale-arrival]) .orientation{animation:arrival .48s var(--ease) .13s both}.section-arrival{animation:arrival .52s var(--ease) both}[data-await=true]{opacity:0}@view-transition{navigation:auto}:root{view-transition-name:none;--language-duration:.36s}.masthead{view-transition-name:masthead}.language-indicator{view-transition-name:language-marker}.language-label-pt{view-transition-name:language-label-pt}.language-label-en{view-transition-name:language-label-en}.role{view-transition-name:role}.intro-copy{view-transition-name:introduction}.personal-meta{view-transition-name:location}.intro-actions{view-transition-name:resume}.orientation{view-transition-name:navigation}#conhecimentos{view-transition-name:conhecimentos}#experiencia{view-transition-name:experiencia}#projetos{view-transition-name:projetos}#formacao{view-transition-name:formacao}#contato{view-transition-name:contato}::view-transition-old(*),::view-transition-new(*){mix-blend-mode:normal;animation-fill-mode:both;animation-timing-function:var(--ease)}@keyframes language-leave{0%{opacity:1}to{opacity:0}}@keyframes language-enter{0%{opacity:0}to{opacity:1}}::view-transition-old(media-lazuli),::view-transition-old(media-nova){opacity:0;animation:none}::view-transition-new(media-lazuli),::view-transition-new(media-nova){animation:none}@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}::view-transition-old(introduction),::view-transition-new(introduction){--text-stagger:14ms}::view-transition-old(location),::view-transition-new(location){--text-stagger:28ms}::view-transition-old(resume),::view-transition-new(resume){--text-stagger:42ms}::view-transition-old(navigation),::view-transition-new(navigation){--text-stagger:56ms}::view-transition-old(conhecimentos),::view-transition-new(conhecimentos),::view-transition-old(experiencia),::view-transition-new(experiencia),::view-transition-old(projetos),::view-transition-new(projetos),::view-transition-old(formacao),::view-transition-new(formacao),::view-transition-old(contato),::view-transition-new(contato){--text-stagger:72ms}@media (width<=980px){.landscape-backdrop{display:none}}@media (width<=720px){.portfolio{--page-top:40px}.reading-column{width:calc(100% - 44px)}h1{letter-spacing:-.7px;font-size:30px}.intro-copy{margin-top:30px;font-size:19px;line-height:1.6}.utilities{gap:8px}.index{gap:7px 29px}.section-title{font-size:23px}main>section{margin-top:62px}.project-media{border-radius:11px}.entry-heading{flex-direction:column;gap:3px}.experience .prose{margin-top:12px}.date{font-size:13px}.project-actions{gap:3px 24px}.knowledge{gap:23px}.project-pitch{font-size:16px}.project-entries{gap:39px}.contact-details{column-gap:16px}}@media (width<=380px){.portfolio{--page-top:30px}.reading-column{width:calc(100% - 36px)}h1{font-size:27px}.utilities{gap:4px}.language a,.sound,.language-indicator{width:32px;height:34px}.role{font-size:14px}.intro-copy{font-size:18px}.index{gap:4px 25px}.email-address{font-size:15px}.copy-email{gap:6px}.copy-feedback{width:67px}.copy-words{font-size:12px}.contact-details{column-gap:15px}}@media (pointer:coarse){.media-expand{opacity:1;scale:1}.media-close{width:44px;height:44px}.index a,.text-link{min-height:40px}}@media (width>=521px){.entry-heading{flex-direction:row;justify-content:space-between;align-items:baseline}}@media (width<=520px){.entry-heading{flex-direction:column;display:flex}}@media (width<=380px){.copy-feedback{width:67px}.copy-email{gap:6px}.copy-label{font-size:12px}}@media (pointer:coarse){.language a,.sound{min-width:40px;min-height:40px}.credential,.copy-email,.back{min-height:40px}.media-expand{scale:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.attention-group>*,[data-await]{opacity:1!important}}@media print{.portfolio{background:#fff;padding:0}.reading-column{width:100%;max-width:none}.landscape-backdrop,.utilities,.index,.intro-actions,.copy-feedback,footer,.notice{display:none}main section{break-inside:avoid;margin-top:24px}}@font-face{font-family:Manrope;src:url(/fonts/manrope/manrope-variable.ttf)format("truetype");font-style:normal;font-weight:200 800;font-display:swap}:root{--face:Manrope, Arial, sans-serif;--display:var(--face);--ink:#273940;--body:#43525b;--muted:#65727a;--accent:#365e77;--wash:#eff3f4;--selected:#dfeaf0;--link-line:#a4b5bf;--ease:cubic-bezier(.2, .75, .2, 1);--language-duration:.4s;font-family:var(--face);font-synthesis:none}.portfolio{font:400 16px/27px var(--face);--page-top:36px;padding:var(--page-top) 0 48px}.reading-column{isolation:isolate;background:#fff;border:1px solid #e5ebed;border-radius:34px;width:min(790px,100% - 72px);margin-inline:auto;padding:24px 60px 48px;overflow:visible;box-shadow:0 8px 42px #27394006}.introduction{width:100%;position:relative}.topbar{background:var(--wash);border-radius:17px;justify-content:space-between;align-items:center;gap:16px;min-height:50px;margin:0 -18px 42px;padding:6px 7px 6px 10px;display:flex}.orientation{min-width:0;margin:0}.index{flex-wrap:wrap;align-items:center;gap:1px 2px;display:flex}.index a{isolation:isolate;min-height:36px;font:400 14px/24px var(--face);color:var(--body);transition:color .22s var(--ease);border-radius:11px;justify-content:center;align-items:center;padding:0 10px;text-decoration:none;display:inline-flex;position:relative}.index a:before{content:"";border-radius:inherit;background:radial-gradient(ellipse 75px 40px at var(--light-x,50%) var(--light-y,50%), #cfdee7 0%, #dfe9ee 65%, #e6eef200 100%);opacity:0;transition:opacity .3s var(--ease), scale .32s var(--ease);z-index:-1;position:absolute;inset:0;scale:.92}.index a:is(:hover,:focus-visible):before{opacity:1;scale:1}.index a:active:before{transition-duration:.1s;scale:.95}.index a:is(:hover,:focus-visible),.index a[aria-current=location]{color:var(--ink)}.index .nav-caret{display:none}.index a>span{background:0 0;padding:0}.index a>span:after{display:none}.utilities{flex:none;align-items:center;gap:7px;display:flex}.language a,.sound{background:0 0;border-radius:11px;width:34px;min-width:34px;height:36px;min-height:36px}.language a{font:600 12px/1 var(--face);color:var(--muted)}.language a[aria-current]{color:var(--ink)}.language-indicator{background:#fff;border-radius:11px;width:34px;height:36px;box-shadow:0 1px 3px #2739400a}.sound{color:var(--muted);transition:background .22s,color .22s}.sound[aria-pressed=true]{background:var(--selected);color:var(--accent)}.sound:hover{color:var(--ink);background:#e0e8ed}.sound[aria-pressed=true]:hover{background:#d4e2ea}.sound svg{width:19px;height:19px}.identity{view-transition-name:masthead}h1{font:600 36px/44px var(--face);letter-spacing:-.8px;color:var(--ink)}.role{font:400 15px/25px var(--face);color:var(--muted);letter-spacing:0;margin-top:7px}.intro-copy{font:400 17px/28px var(--face);color:var(--body);letter-spacing:0;text-wrap:pretty;max-width:none;margin-top:25px}main>section{margin-top:70px;scroll-margin-top:38px;display:block;position:relative}main>section:first-child{margin-top:56px}.section-lead{margin:0 0 26px;position:static}.section-title{font:600 23px/32px var(--face);color:var(--ink);letter-spacing:-.3px;text-wrap:balance;margin:0}.section-content{min-width:0}.experience-total{font:400 15px/25px var(--face);color:var(--muted);max-width:none;margin:-18px 0 26px}h3,.project-heading h3{font:600 18px/28px var(--face);color:var(--ink);letter-spacing:0}.entry-heading{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:4px;margin-bottom:15px;display:flex}.date{font:400 15px/25px var(--face);color:var(--muted)}.prose p,.project-pitch{font:400 16px/27px var(--face);color:var(--body);text-wrap:pretty}.prose p+p{margin-top:13px}.entries{gap:36px}.project-entries{gap:42px}.project-heading{margin:0}.project-name{color:var(--ink);align-items:center;gap:7px;text-decoration:none;transition:color .22s;display:inline-flex}.project-name .link-label{background-position:0 calc(100% - 2px);background-size:0 1px,0 1px;padding-bottom:0}.project-name:is(:hover,:focus-visible){color:var(--accent)}.project-name:is(:hover,:focus-visible) .link-label{background-size:100% 1px,0 1px}.project-name .icon{width:13px;height:13px;color:var(--muted)}.project-pitch{max-width:none;margin-top:7px}.project-media{aspect-ratio:1.79;transition:box-shadow .35s var(--ease);background:#f3f1f2;border-radius:18px;margin-top:19px;overflow:hidden;transform:none;box-shadow:0 0 0 1px #27394016,0 4px 14px #27394005}.project-media img{max-width:none;transform:none}#projeto-lazuli .project-media>img{width:calc(100% + 2px);margin-left:0}.project-media:is(:hover,:focus-visible){transform:none;box-shadow:0 0 0 1px #365e7740,0 6px 24px #2739400b}.project-media:is(:hover,:focus-visible)>img{transform:none}.media-expand{opacity:.7;width:34px;height:34px;color:var(--ink);background:#ffffffed;border-radius:11px;transition:opacity .2s,background .2s;bottom:10px;right:10px;scale:1}.project-media:is(:hover,:focus-visible) .media-expand{opacity:1;background:#fff;scale:1}.media-expand .icon{width:16px;height:16px}.project-media+.prose{margin-top:19px}.project-actions{gap:22px;margin-top:10px}.text-link,.credential{font:400 15px/25px var(--face)}.link-label,.contact-destination{transition:background-size .34s var(--ease);background-position:0 calc(100% - 1px),0 calc(100% - 1px);padding-bottom:2px}.icon-external g{transition:transform .42s var(--ease)}.text-link:active .icon,.credential:active .icon{scale:1}.knowledge{flex-direction:column;gap:23px;display:flex}.knowledge>div{display:block}.knowledge dt{font:600 17px/27px var(--face);color:var(--ink)}.knowledge dd{font:400 16px/27px var(--face);color:var(--body);margin-top:4px}.technologies{border:0;margin-top:28px;padding:0}.technologies h3{font:400 15px/25px var(--face);color:var(--muted);margin-bottom:8px}.technologies ul{flex-wrap:wrap;gap:7px 18px;display:flex}.technologies li{font:400 15px/25px var(--face);color:var(--ink)}.degree{margin-bottom:28px}.degree-status,.courses p{font:400 15px/25px var(--face);color:var(--muted);margin-top:5px}.courses-heading{font:400 15px/25px var(--face);color:var(--muted);margin:0 0 16px}.courses{gap:22px}.courses h4{font:600 16px/26px var(--face)}.credential{font:inherit;color:var(--ink);display:inline}.credential-tail{white-space:nowrap}.credential-tail .icon{vertical-align:-1px;width:12px;height:12px;margin-left:5px}.courses p{flex-wrap:wrap;gap:0 13px;display:flex}.contact .section-title{margin:0}.contact .section-lead{margin-bottom:14px}.copy-email{gap:10px;min-height:40px}.email-address{font:400 16px/27px var(--face);color:var(--ink)}.email-domain{color:var(--body)}.copy-feedback{width:78px}.copy-label{font:400 13px/22px var(--face)}.contact-details{gap:4px 24px;margin-top:12px}.contact-destination,.contact-format{font-size:15px}.personal-meta{font:400 15px/25px var(--face);color:var(--muted);margin-top:20px}.document-closing{flex-direction:column;justify-content:flex-start;gap:30px;margin-top:48px;display:flex}.activity{margin:0;padding:0}.activity-meta{font:400 14px/24px var(--face);color:var(--muted);gap:2px 9px}.activity-label{font:600 14px/24px var(--face);color:var(--body)}.activity-repository{color:var(--body)}.activity-meta time{font:400 14px/24px var(--face);color:var(--muted)}.activity-message{font:400 15px/25px var(--face);color:var(--ink)}.back{font:400 15px/25px var(--face);color:var(--body);align-self:flex-start}.up-window{flex-direction:column;flex:none;width:17px;height:19px;display:flex;overflow:hidden}.back .up-window>.icon{width:17px;height:19px;min-height:19px;transition:transform .42s var(--ease);flex:0 0 19px;transform:translateY(0)}.back:is(:hover,:focus-visible) .up-window>.icon{transform:translateY(-19px)}.resume .document-line{stroke-dashoffset:0;animation:none!important}.resume:is(:hover,:focus-visible) .document-fold{fill:var(--selected)}.media-canvas{background:#fff;border-radius:18px;width:100%;height:100%;overflow:hidden}.media-canvas>img{object-fit:cover;object-position:var(--media-position);width:100%;max-width:none;height:100%;display:block}.media-viewer[data-crop=true] .media-canvas>img{width:calc(100% + 2px);margin-left:0}.media-close{background:#ffffffef;border-radius:11px;transition:background .2s,box-shadow .2s}.media-close:hover{background:#fff;box-shadow:0 0 0 1px #365e7720}.media-viewer::backdrop{backdrop-filter:blur(3px);opacity:0;background:#1e2d365e;transition:opacity .24s}@starting-style{.media-viewer[open]::backdrop{opacity:0}}.certificate-preview{transition:opacity .2s var(--ease), transform .35s var(--ease);border-radius:13px;overflow:hidden;box-shadow:0 3px 7px #2739400a,0 15px 40px #2739401c}:focus:not(:focus-visible){outline:none}[data-await],.section-arrival{opacity:1!important;animation:none!important}html:not([data-locale-arrival]) :is(.masthead,.role,.intro-copy,.orientation){animation:none}::view-transition-old(*),::view-transition-new(*){--text-stagger:0s}::view-transition-old(*){animation-duration:.11s}::view-transition-new(*){animation-duration:.25s;animation-delay:.1s}::view-transition-group(*){animation-timing-function:var(--ease)}::view-transition-old(masthead),::view-transition-new(masthead),::view-transition-old(language-marker),::view-transition-new(language-marker),::view-transition-old(language-label-pt),::view-transition-new(language-label-pt),::view-transition-old(language-label-en),::view-transition-new(language-label-en),::view-transition-old(rodape),::view-transition-new(rodape){animation:none}@media (width<=780px){.portfolio{--page-top:0px}.reading-column{width:100%;max-width:690px;box-shadow:none;border:0;border-radius:0;padding:32px 26px 40px}.topbar{display:contents}.introduction{flex-direction:column;display:flex}.identity{order:1;padding-right:115px}.profile-copy{order:2}.orientation{background:var(--wash);border-radius:15px;order:3;max-width:100%;margin-top:24px;padding:6px}.utilities{position:absolute;top:3px;right:0}.index{justify-content:space-between;gap:0 2px}.index a{padding:0 8px;font-size:14px}.section-title{font-size:23px;line-height:32px}.section-lead{margin-bottom:24px}.experience-total{margin-top:-16px;margin-bottom:24px}.intro-copy{max-width:none;font-size:17px;line-height:28px}main>section:first-child{margin-top:45px}main>section{margin-top:58px}}@media (width<=520px){.reading-column{padding:30px 22px 38px}h1{letter-spacing:-.6px;font-size:30px;line-height:38px}.identity{padding-right:112px}.role{width:calc(100% + 112px);margin-top:9px;font-size:15px;line-height:25px}.intro-copy{margin-top:23px;font-size:16px;line-height:27px}.utilities{gap:4px}.language a,.sound,.language-indicator{width:32px;min-width:32px;height:35px}.orientation{max-width:none;padding:6px}.index{grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;gap:0 3px;display:grid}.index a{justify-content:center;min-height:36px;padding:0 3px;font-size:14px}.prose p,.project-pitch,.knowledge dd{font-size:16px;line-height:27px}h3,.project-heading h3{font-size:18px;line-height:28px}.entries{gap:33px}.project-entries{gap:38px}.project-media{border-radius:14px}.media-expand{width:32px;height:32px;bottom:8px;right:8px}.contact-details{gap:5px 19px}.email-address{font-size:15px}.copy-email{gap:8px}.document-closing{margin-top:40px}.activity-meta,.activity-label,.activity-meta time{font-size:13px;line-height:23px}.activity-message{font-size:15px}.knowledge{gap:22px}}@media (width<=360px){.reading-column{padding-inline:18px}h1{font-size:27px;line-height:36px}.identity{padding-right:104px}.utilities{gap:1px}.language a,.sound,.language-indicator{width:31px;min-width:31px;height:34px}.role{width:calc(100% + 104px)}.copy-feedback{width:66px}.copy-label{font-size:12px}.copy-email{gap:5px}.email-address{font-size:14px}.contact-details{column-gap:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.attention-group>*{opacity:1!important}.back .up-window>.icon{transform:none!important}}@media (width>=781px){.topbar{background:0 0;border-radius:0}}.media-canvas{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.media-canvas img{pointer-events:none;-webkit-user-drag:none}.media-viewer[data-dragging] .media-canvas{cursor:grabbing}.media-viewer[open]::backdrop{opacity:var(--backdrop-opacity,1)}.media-viewer[data-dragging]::backdrop{transition:none}.media-viewer[data-exiting]::backdrop{opacity:0}html,body{min-width:0}:root{--language-duration:.22s}::view-transition-group(*){animation-duration:.22s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(*){animation:.18s ease-out both locale-out}::view-transition-new(*){animation:.22s ease-out both locale-in}@keyframes locale-out{0%{opacity:1}to{opacity:0}}@keyframes locale-in{0%{opacity:0}to{opacity:1}}::view-transition-old(masthead),::view-transition-old(language-marker),::view-transition-old(rodape){opacity:0;animation:none}::view-transition-new(masthead),::view-transition-new(language-marker),::view-transition-new(rodape){opacity:1;animation:none}::view-transition-group(language-label-pt),::view-transition-group(language-label-en){animation:none}.language a{transition:color .16s,background .16s}.language a:not([aria-current]):hover{color:var(--ink);background:#eaf0f3}.language-indicator{background:var(--selected);box-shadow:none}.technology-separator{display:none}.technologies ul{align-items:baseline;gap:4px 20px}.technologies li{white-space:nowrap;line-height:27px}.technologies h3{margin-bottom:10px}.contact .personal-meta{margin-top:16px}.section-lead{margin-bottom:24px}.entry-heading{gap:3px;margin-bottom:14px}.project-actions{margin-top:12px}.contact-details .icon{flex:none;width:16px;height:16px}.text-link,.credential,.back{column-gap:7px}@media (width<=520px){.technologies ul{gap:5px 18px}.technologies li{font-size:15px}.contact .personal-meta{margin-top:16px}}@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.utilities{gap:16px}.language{gap:8px}.language a,.sound{flex-shrink:0}.language a:active{color:var(--ink)}.link-label,.contact-destination{transition:background-size .3s var(--ease), color .2s var(--ease);background-position:0 calc(100% - 1px),0 calc(100% - 1px)}.project-name .link-label{background-position:0 calc(100% - 1px),0 calc(100% - 1px)}.contact-channel>.icon-external{width:12px;height:12px}.contact-channel>.brand-mark,.contact-channel>.icon-document{width:16px;height:16px}.media-expand .icon-external{overflow:hidden}.media-expand .icon-external g{transition:transform .46s var(--ease)}.media-close:active{scale:.94}.media-close{transition:background .18s, box-shadow .18s, scale .16s var(--ease)}.project-media:active .media-expand{background:var(--selected)}.project-actions .icon-code{width:16px;height:16px}.project-actions .text-link{gap:7px}.courses p{gap:2px 14px}.courses li+li{margin-top:0}.courses .credential{line-height:27px}.courses p{margin-top:6px}.copy-email{transition:color .2s var(--ease)}.copy-email .email-address,.copy-email .email-domain{transition:color .22s var(--ease)}.copy-email:is(:hover,:focus-visible) .email-address,.copy-email:is(:hover,:focus-visible) .email-domain{color:var(--accent)}a:focus-visible,button:focus-visible{outline-offset:4px;border-radius:5px;outline:2px solid #7d9dad}.index a:focus-visible,.language a:focus-visible,.sound:focus-visible{border-radius:11px}.project-media:focus-visible{outline-offset:5px;border-radius:18px}.personal-meta{font-variant-numeric:normal}@media (width<=780px){.identity{padding-right:136px}.role{width:calc(100% + 136px)}}@media (width<=520px){.utilities{gap:14px}.language{gap:8px}.identity{padding-right:132px}.role{width:calc(100% + 132px)}.contact-details{gap:8px 22px}.project-media:focus-visible{border-radius:14px}}@media (width<=360px){.utilities{order:0;align-self:flex-end;gap:14px;margin-bottom:16px;position:static}.identity{padding-right:0}.role{width:100%}.language{gap:8px}}@media (hover:none){.attention-group>*{opacity:1!important}.copy-email:hover .email-address{color:var(--ink)}.copy-email:hover .email-domain{color:var(--body)}}.landscape-backdrop{display:none!important}.portfolio{background:0 0}.landscape-trial{z-index:0;pointer-events:none;view-transition-name:ambient-landscape;background:#fcfcfa;position:fixed;inset:0;overflow:hidden}.scene-plane{width:100%;height:min(50vw,88vh);position:absolute;bottom:0;left:0;-webkit-mask-image:linear-gradient(#0000 1%,#000 14%);mask-image:linear-gradient(#0000 1%,#000 14%)}.scene-plane>canvas,.scene-plane>img{width:100%;height:100%;display:block;position:absolute;inset:0}.scene-plane>canvas{opacity:0}.landscape-trial[data-ready] canvas{opacity:1}.landscape-trial[data-ready] .scene-fallback{visibility:hidden}.reading-column{-webkit-backdrop-filter:blur(8px);--muted:#596870;background:#fffc;border-color:#ffffffb3;box-shadow:0 8px 42px #27394004}@supports not ((-webkit-backdrop-filter:blur(8px)) or (backdrop-filter:blur(8px))){.reading-column{background:#ffffffe6}}html[data-scene-view] .reading-column,html[data-scene-view] .skip{display:none}html[data-scene-view] .portfolio{min-height:100vh;padding:0}::view-transition-old(ambient-landscape),::view-transition-new(ambient-landscape){animation:none}::view-transition-old(ambient-landscape){opacity:0}@media (width<=780px){.landscape-trial{view-transition-name:none;min-height:215px;margin:24px -24px -40px;position:relative;inset:auto}.scene-plane{aspect-ratio:2;width:100%;min-width:0;height:auto;position:relative;bottom:auto;left:auto;transform:none}.reading-column{-webkit-backdrop-filter:none;background:#fff}html[data-scene-view] .landscape-trial{margin:0;position:fixed;inset:0}html[data-scene-view] .scene-plane{width:100%;position:absolute;bottom:0;left:0}}@media print{.landscape-trial{display:none}}.bird-hit{all:unset;z-index:0;cursor:pointer;pointer-events:auto;will-change:transform;border-radius:50%;width:52px;height:44px;position:fixed;top:0;left:0}.bird-hit[hidden]{display:none}.bird-hit:focus-visible{outline-offset:3px;outline:1px solid #56767b}@media (width<=780px),(prefers-reduced-motion:reduce){.bird-hit{display:none!important}}@media print{.bird-hit{display:none!important}}:root{view-transition-name:none}.reading-column{view-transition-name:reading-surface}.sound{view-transition-name:audio-control}::view-transition-group(*){z-index:3}::view-transition-group(ambient-landscape){z-index:0;animation:none}::view-transition-group(reading-surface){z-index:1;animation:none}::view-transition-group(audio-control){z-index:4;animation:none}::view-transition-group(foreground-bird){z-index:5;animation:none}::view-transition-old(reading-surface),::view-transition-old(audio-control),::view-transition-old(ambient-landscape),::view-transition-old(foreground-bird){opacity:1;mix-blend-mode:normal;animation:none}::view-transition-new(reading-surface),::view-transition-new(audio-control),::view-transition-new(ambient-landscape),::view-transition-new(foreground-bird){opacity:0;mix-blend-mode:normal;animation:none}.bird-front{z-index:30;pointer-events:none;view-transition-name:foreground-bird;will-change:transform;width:180px;height:160px;position:fixed;top:0;left:0}.bird-front[hidden]{display:none}@media (width<=780px),(prefers-reduced-motion:reduce){.bird-front{display:none!important}}::view-transition-group(language-label-pt),::view-transition-group(language-label-en){z-index:6;animation:none}::view-transition-old(language-label-pt),::view-transition-old(language-label-en){opacity:1;animation:none}::view-transition-new(language-label-pt),::view-transition-new(language-label-en){opacity:0;animation:none}::view-transition-group(language-marker){z-index:5}html{scrollbar-gutter:stable}.closing-navigation{justify-content:space-between;align-items:center;gap:24px;width:100%;display:flex}.closing-navigation .back{margin:0}.landscape-credit{min-height:36px;font:400 15px/25px var(--face);color:var(--body);align-items:center;text-decoration:none;display:inline-flex}.document-dialog{width:100%;max-width:none;height:100%;max-height:none;color:var(--body);font:400 16px/27px var(--face);background:0 0;border:0;margin:0;padding:24px;position:fixed;inset:0;overflow:hidden}.document-dialog::backdrop{backdrop-filter:blur(3px);opacity:0;transition:opacity .32s var(--ease);background:#1e2d365e}.document-dialog[open]::backdrop{opacity:1}@starting-style{.document-dialog[open]::backdrop{opacity:0}}.document-dialog[data-closing]::backdrop{opacity:0}.document-sheet{background:var(--page);border-radius:18px;flex-direction:column;width:min(1100px,100%);height:min(980px,100%);margin:auto;display:flex;position:relative;top:50%;overflow:hidden;translate:0 -50%;box-shadow:0 16px 72px #1e2d3626}.document-header{flex:none;align-items:center;gap:24px;padding:20px 22px 22px;display:flex}.document-title{font:600 18px/28px var(--face);color:var(--ink);letter-spacing:-.1px;flex:1;min-width:0;margin:0}.document-download{font:400 15px/25px var(--face);color:var(--body);white-space:nowrap;align-items:center;gap:7px;text-decoration:none;display:inline-flex}.download-window{flex-direction:column;flex:none;width:17px;height:19px;display:flex;overflow:hidden}.download-window svg{stroke:currentColor;stroke-width:1.6px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:17px;height:19px;min-height:19px;transition:transform .42s var(--ease);transform:translateY(-19px)}.document-download:is(:hover,:focus-visible) .download-window svg{transform:translateY(0)}.document-dialog .document-close{width:36px;height:36px;color:var(--body);background:var(--selected);cursor:pointer;transition:background .2s var(--ease), color .2s var(--ease), scale .16s var(--ease);box-shadow:none;border:0;border-radius:11px;flex:none;place-items:center;padding:8px;display:grid;position:static}.document-close:is(:hover,:focus-visible){color:var(--accent);background:#d5e3eb!important}.document-close:active{scale:.94}.document-close svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.document-body{overscroll-behavior:contain;flex:1;min-height:0;padding:0 22px 22px;overflow:auto}.document-pages{flex-direction:column;align-items:center;gap:20px;min-height:100%;display:flex}.document-page{background:#fff;border-radius:13px;width:100%;max-width:100%;height:auto;display:block}.document-pages[data-single]{justify-content:center;height:100%;min-height:0}.document-pages[data-single] .document-page{object-fit:contain;width:auto;height:auto;min-height:0;max-height:100%}.document-body iframe{background:#fff;border:0;border-radius:13px;width:100%;height:100%;display:block}.document-dialog[data-kind=credits] .document-sheet{width:min(650px,100%);height:auto;max-height:100%}.document-dialog[data-kind=credits] .document-body{padding:0 28px 28px}.document-dialog[data-kind=credits] .document-header{padding:22px 28px 18px}.document-body p{margin:18px 0 0}.document-body p:first-child{margin-top:8px}.document-body p .inline-text-link{min-height:0;font:inherit;color:var(--accent);white-space:nowrap;padding:0;text-decoration:none;display:inline}.document-dialog [hidden]{display:none!important}:root[data-document-open] .certificate-preview{visibility:hidden!important;opacity:0!important}[data-restored-pointer-focus]:focus-visible,.document-close[data-pointer-focus]:focus-visible{box-shadow:none!important;outline:none!important}@media (width<=600px){.document-dialog{padding:12px}.document-header{flex-wrap:wrap;gap:12px;padding:14px 14px 12px}.document-title{flex-basis:calc(100% - 48px);order:0;font-size:17px;line-height:26px}.document-close{order:1}.document-download{order:2}.document-body{padding:0 14px 14px}.document-dialog[data-kind=credits] .document-header{padding:18px 20px 16px}.document-dialog[data-kind=credits] .document-body{padding:0 20px 22px}.closing-navigation{flex-wrap:wrap;gap:16px}.landscape-credit,.closing-navigation .back{font-size:14px}}@media (prefers-reduced-motion:reduce){.document-dialog::backdrop,.download-window svg{transition:none}}.motion-reduced .document-dialog::backdrop{transition:none}.document-dialog .document-close,.document-download{margin-top:0}.inline-text-link .contact-destination{font:inherit}:root{--face:"Manrope", Arial, sans-serif;--display:var(--face)}:is(h1,.section-title,.entry-heading h3,.project-heading h3,.degree h3,.courses h4,.document-title){font-weight:500}.experience-topic{margin-top:18px}.experience-topic h4{font:400 15px/25px var(--face);color:var(--muted);margin:0 0 4px}.experience-topic p{margin:0}main>.technologies{margin-top:34px;scroll-margin-top:38px}main>.technologies h3{font:400 15px/25px var(--face);color:var(--muted)}main>.technologies+#experiencia{margin-top:44px}@media (width<=780px){main>.technologies{margin-top:30px}main>.technologies+#experiencia{margin-top:40px}.experience-topic{margin-top:16px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
