:root{--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Arial, sans-serif;--color-bg: #111215;--color-surface-1: #191a1f;--color-surface-2: #222329;--color-text: #f2f2f3;--color-text-secondary: #c5c5ca;--color-text-tertiary: #adadb6;--color-accent: #e6e96a;--color-accent-soft: rgba(230, 233, 106, .1);--color-accent-surface: rgba(230, 233, 106, .14);--color-accent-border: rgba(230, 233, 106, .32);--color-accent-border-strong: rgba(230, 233, 106, .56);--color-success: #a8d5ba;--color-success-surface: rgba(168, 213, 186, .12);--color-error: #ffb4ab;--color-error-surface: rgba(255, 180, 171, .12);--color-border: rgba(244, 244, 245, .14);--color-border-strong: rgba(244, 244, 245, .26);--color-border-emphasis: rgba(244, 244, 245, .42);--color-control-border: rgba(244, 244, 245, .36);--color-header: rgba(17, 18, 21, .92);--color-scrim: rgba(0, 0, 0, .76);--color-record: #ef3d33;--color-record-glow: rgba(239, 61, 51, .48);--color-whatsapp: #7f934e;--color-whatsapp-border: rgba(127, 147, 78, .45);--color-whatsapp-surface: rgba(127, 147, 78, .08);--color-flag-border: rgba(255, 255, 255, .18);--focus-ring: 2px solid var(--color-accent);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .8rem;--radius-md: 1.2rem;--radius-lg: 1.5rem;--radius-pill: 999px;--control-min-size: 2.75rem;--container: 74rem;--duration-fast: .18s;--duration-normal: .22s;--ease-standard: ease;--bg: var(--color-bg);--surface-1: var(--color-surface-1);--surface-2: var(--color-surface-2);--panel: var(--color-surface-1);--panel-strong: var(--color-surface-2);--border: var(--color-border);--text: var(--color-text);--muted: var(--color-text-secondary);--muted-strong: var(--color-text-tertiary);--accent: var(--color-accent);--accent-soft: var(--color-accent-soft);--accent-surface: var(--color-accent-surface);--accent-border: var(--color-accent-border);--accent-border-strong: var(--color-accent-border-strong);--header-bg: var(--color-header);--radius: var(--radius-lg)}@media(prefers-contrast:more){:root{--color-border: rgba(244, 244, 245, .28);--color-text-secondary: #dedee2;--color-text-tertiary: #d0d0d6;--color-accent-border: rgba(230, 233, 106, .62);--color-accent-border-strong: var(--color-accent);--color-success-surface: rgba(168, 213, 186, .2);--color-error-surface: rgba(255, 180, 171, .2);--color-control-border: rgba(244, 244, 245, .72)}}@media(prefers-reduced-motion:reduce){:root{--duration-fast: 0ms;--duration-normal: 0ms}}*,*:before,*:after{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html{color-scheme:dark;scroll-behavior:smooth;min-height:100%}body{margin:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font-family:var(--font-sans);line-height:1.6}main{flex:1 0 auto}img{display:block;max-width:100%;height:auto;-webkit-user-drag:none;user-select:none}a{color:inherit;text-decoration:none}:where(a,button,input,select,textarea,summary):focus-visible{outline:var(--focus-ring);outline-offset:3px}p,ul{margin:0}h1,h2,h3{margin:0;font-weight:600;line-height:1.1;letter-spacing:-.02em;font-family:var(--font-sans)}h1{font-size:clamp(2.5rem,6vw,4.9rem)}h2{font-size:clamp(1.8rem,3vw,2.7rem)}h3{font-size:1.3rem}.skip-link{position:absolute;left:1rem;top:-4rem;z-index:100;padding:.75rem 1rem;border-radius:999px;background:var(--text);color:var(--bg)}.skip-link:focus{top:1rem}.container{width:min(calc(100% - 2rem),var(--container));margin:0 auto}.container.narrow{width:min(calc(100% - 2rem),58rem)}.section{padding:4.5rem 0}.section[data-filter-project-section][data-project-cards-visible=false]{padding-bottom:0}.section-tight-top{padding-top:0}.eyebrow{margin-bottom:1rem;color:var(--muted-strong);font-family:var(--font-sans);font-size:.75rem;letter-spacing:.28em;text-transform:uppercase}.eyebrow-heading{font-weight:400;line-height:1.6}.lede,.section-description,.card p,.hero-role{color:var(--muted);font-size:1rem}.site-header{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--border);background:var(--header-bg);backdrop-filter:blur(18px)}.header-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1rem 0}.brand{display:inline-flex;align-items:center}.brand:focus-visible{outline:2px solid var(--accent);outline-offset:.35rem}.brand-name{font-family:var(--font-sans);font-size:1rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-strong)}.desktop-nav{display:none;align-items:center;gap:1.25rem}.desktop-nav a,.mobile-panel a{color:var(--muted);font-family:var(--font-sans);font-size:.92rem;transition:color .18s ease,transform .18s ease}.desktop-nav a:hover,.mobile-panel a:hover,.desktop-nav a.active,.mobile-panel a.active{color:var(--text)}.desktop-nav a:hover,.mobile-panel a:hover{transform:translateY(-2px)}.desktop-nav a.nav-contact,.mobile-panel a.nav-contact{padding:.5rem .85rem;border:1px solid var(--accent-border);border-radius:var(--radius-pill);background:transparent;color:var(--accent);font-weight:700;transition:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.desktop-nav a.nav-contact:hover,.desktop-nav a.nav-contact:focus-visible,.mobile-panel a.nav-contact:hover,.mobile-panel a.nav-contact:focus-visible{border-color:var(--accent);background:var(--accent);color:var(--bg)}.desktop-nav a.nav-contact.active,.mobile-panel a.nav-contact.active{border-color:var(--accent-border-strong);background:var(--accent-soft);color:var(--accent)}.mobile-nav{position:relative;flex:0 0 auto;margin-left:auto}.mobile-nav summary{display:inline-flex;align-items:center;justify-content:center;list-style:none;cursor:pointer;width:2.75rem;height:2.75rem;border:1px solid var(--color-border-strong);border-radius:999px;background:var(--surface-1);padding:0;color:var(--text);font-family:var(--font-sans);font-size:0;transition:border-color .18s ease,background .18s ease}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary:hover,.mobile-nav summary:focus-visible,.mobile-nav[open] summary{border-color:var(--color-border-emphasis);background:var(--surface-2)}.mobile-nav-icon{position:relative;display:block;width:1.05rem;height:.74rem}.mobile-nav-icon span{position:absolute;left:0;width:100%;height:2px;border-radius:999px;background:currentColor;transform:translateY(-50%);transition:top .18s ease,transform .18s ease,opacity .18s ease}.mobile-nav-icon span:nth-child(1){top:1px}.mobile-nav-icon span:nth-child(2){top:50%}.mobile-nav-icon span:nth-child(3){top:calc(100% - 1px)}.mobile-nav[open] .mobile-nav-icon span:nth-child(1){top:50%;transform:translateY(-50%) rotate(45deg)}.mobile-nav[open] .mobile-nav-icon span:nth-child(2){opacity:0}.mobile-nav[open] .mobile-nav-icon span:nth-child(3){top:50%;transform:translateY(-50%) rotate(-45deg)}.mobile-panel{position:absolute;right:0;top:calc(100% + .75rem);width:min(14rem,calc(100vw - 2rem));min-width:0;display:grid;gap:.25rem;padding:.75rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface-2)}.mobile-panel a{padding:.75rem .85rem;border-radius:.8rem}.mobile-panel a:hover,.mobile-panel a.active{background:var(--panel-strong)}@media(max-width:63.999rem){.header-inner{padding-right:3.5rem}.mobile-nav{position:absolute;top:50%;right:0;margin-left:0;transform:translateY(-50%)}}.hero{--hero-parallax-offset: 0px;position:relative;isolation:isolate;overflow:hidden;padding:4.5rem 0 3rem;border-bottom:1px solid var(--border)}.hero:before{position:absolute;z-index:-1;inset:-60% 0;background:center / cover no-repeat url(/home-hero-metaesquema.svg);content:"";opacity:.09;pointer-events:none;transform:translate3d(0,var(--hero-parallax-offset),0)}@media(prefers-reduced-transparency:reduce){.hero:before{opacity:0}}.hero-grid,.split-grid,.about-grid,.two-column-intro{display:grid;gap:2rem}.hero-copy{display:grid;align-content:center;gap:1.15rem}.hero-title-frame{display:inline-flex;align-items:center;gap:clamp(.3rem,.72vw,.48rem);width:fit-content;max-width:100%}.hero-title-text{min-width:0}.hero-profile-link,.hero-profile-image-link{color:inherit;text-decoration:none;transition:none}.hero-profile-link:hover,.hero-profile-image-link:hover{color:inherit;text-decoration:none}.hero-profile-image-link{display:block;width:100%;max-width:30.625rem}.hero-profile-link:focus:not(:focus-visible),.hero-profile-image-link:focus:not(:focus-visible){outline:none}.hero-profile-link:focus-visible,.hero-profile-image-link:focus-visible{outline:var(--focus-ring);outline-offset:4px;border-radius:var(--radius-md)}.hero-rec-dot{flex:0 0 auto;width:.34em;height:.34em;border-radius:999px;background:var(--color-record);box-shadow:0 0 1rem var(--color-record-glow);animation:rec-pulse 1.15s steps(2,end) infinite}@keyframes rec-pulse{0%,48%{opacity:1}49%,to{opacity:.28}}@media(prefers-reduced-motion:reduce){.hero-rec-dot{animation:none}}@media(prefers-reduced-transparency:reduce){.site-header{background:var(--bg);backdrop-filter:none}}.hero-actions{display:flex;flex-direction:column;gap:.85rem;margin-top:.4rem}.button{display:inline-flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;min-width:min(11rem,100%);min-height:var(--control-min-size);padding:.9rem 1.35rem;border-radius:999px;border:1px solid transparent;font-family:var(--font-sans);font-size:.94rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;text-align:center;white-space:normal;transition:background-color .22s ease,color .22s ease,border-color .22s ease}.button-primary{background:var(--text);color:var(--bg)}.button-primary:hover,.button-primary:focus-visible{background:var(--accent);color:var(--bg)}.button-secondary{background:var(--panel);border-color:var(--border);color:var(--text)}.button-secondary:hover,.button-secondary:focus-visible{background:var(--accent);border-color:var(--accent);color:var(--bg)}.button.small{min-width:auto;margin-top:1rem}.button-ghost{min-width:auto;padding-inline:0;border-color:transparent;background:transparent;color:var(--accent)}.section-heading-action-arrow{width:.9rem;height:.9rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.button:active:not(:disabled):not([aria-disabled=true]){transform:translateY(1px)}.button:disabled,.button[aria-disabled=true]{cursor:not-allowed;opacity:.48;transform:none}.profile-gallery{position:relative;width:100%;max-width:30.625rem;aspect-ratio:1;margin:0;overflow:hidden;border:1px solid var(--border);border-radius:calc(var(--radius) + .5rem);background:var(--surface-1);isolation:isolate}.hero-visual{display:grid;justify-items:center}.about-grid>.profile-gallery{justify-self:center;max-width:36rem}.education-media-carousel{justify-self:center;max-width:36rem}.profile-gallery-track{display:flex;width:100%;height:100%;transition:transform var(--duration-normal) var(--ease-standard)}.profile-gallery-image{width:100%;min-width:100%;height:100%;object-fit:cover}.profile-gallery-trigger.button{display:block;flex:0 0 100%;width:100%;height:100%;min-width:0;min-height:0;padding:0;overflow:hidden;border:0;border-radius:0;background:transparent;color:inherit;text-transform:none;letter-spacing:normal;cursor:pointer}.profile-gallery-trigger.button:hover,.profile-gallery-trigger.button:focus-visible,.profile-gallery-trigger.button:active{transform:none;border-color:transparent;background:transparent;color:inherit}.profile-gallery-trigger .profile-gallery-image{width:100%;min-width:100%}.profile-gallery-trigger:focus-visible{position:relative;z-index:1;outline:var(--focus-ring);outline-offset:-4px}.profile-gallery-autoplay.button{position:absolute;z-index:3;bottom:var(--space-3);left:50%;display:grid;place-items:center;width:var(--control-min-size);min-width:var(--control-min-size);height:var(--control-min-size);min-height:var(--control-min-size);margin:0;padding:0;border-color:var(--color-border-strong);border-radius:50%;background:color-mix(in srgb,var(--color-bg) 82%,transparent);color:var(--color-text);translate:-50% 0;transform:none;opacity:0;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.profile-gallery:hover .profile-gallery-autoplay,.profile-gallery-autoplay:focus-visible{opacity:1;pointer-events:auto}.profile-gallery-autoplay.button:hover,.profile-gallery-autoplay.button:focus-visible{border-color:var(--color-accent-border-strong);background:var(--color-accent);color:var(--color-bg)}.profile-gallery-autoplay.button:active:not(:disabled):not([aria-disabled=true]){transform:none}.profile-gallery-autoplay svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.profile-gallery-autoplay[hidden],.profile-gallery-autoplay svg[hidden]{display:none}@media(prefers-reduced-motion:reduce){.profile-gallery-track,.hero-profile-link,.hero-profile-image-link{transition:none}}.prose-block{display:grid;gap:var(--space-5);text-align:start}.prose-block>div{display:grid;gap:var(--space-5)}.prose-block p{color:var(--muted);font-size:1.02rem;line-height:1.75}.prose-block strong{color:var(--color-text);font-weight:700}.prose-block ul,.prose-block ol{display:grid;gap:var(--space-2);padding-inline-start:var(--space-6);color:var(--muted);line-height:1.7}.prose-block li{padding-inline-start:var(--space-1)}.prose-block h2,.prose-block h3{color:var(--text)}.prose-block h2{margin-block-start:var(--space-3);font-size:clamp(1.5rem,3vw,2rem)}.prose-block h3{margin-block-start:var(--space-2);font-size:1.2rem;line-height:1.3}.card,.timeline-list{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel)}.ui-card-interactive{display:block;transition:border-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.ui-card-interactive:hover,.ui-card-interactive:focus-visible{border-color:var(--accent-border);transform:translateY(-2px);background:var(--surface-2)}.ui-card-interactive:focus-visible{outline:var(--focus-ring);outline-offset:3px}.ui-badge{display:inline-flex;align-items:center;width:fit-content;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--muted-strong);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.ui-badge-accent{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent)}.ui-badge-success{border-color:var(--color-success);background:var(--color-success-surface);color:var(--color-success)}.ui-badge-error{border-color:var(--color-error);background:var(--color-error-surface);color:var(--color-error)}.ui-icon-link{min-width:2.75rem;min-height:2.75rem}.ui-icon-link:focus-visible{outline:var(--focus-ring);outline-offset:3px}.ui-state{display:grid;gap:.45rem;padding:1.25rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-1)}.ui-state-title{color:var(--text);font-weight:600}.ui-state-description{color:var(--muted)}.ui-state-error{border-color:var(--color-error);background:var(--color-error-surface)}.ui-skeleton{display:grid;gap:.75rem;padding:1.25rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-1)}.ui-skeleton-line{display:block;width:100%;height:.85rem;margin-bottom:.65rem;border-radius:var(--radius-pill);background:var(--surface-2);animation:skeleton-pulse 1.4s ease-in-out infinite alternate}.ui-skeleton-line.short{width:62%}@keyframes skeleton-pulse{to{opacity:.45}}.project-card-visual,.photo-card{overflow:hidden}.photo-project-card.card{display:block;position:relative;width:100%;overflow:hidden;padding:0;border:0;border-radius:var(--radius-md);background:transparent;color:var(--color-text);text-decoration:none;transition:none}.photo-project-card:hover,.photo-project-card:focus-visible,.photo-project-card:active{border-color:transparent;background:transparent;color:var(--color-text);transform:none}.photo-project-card:focus-visible{outline:var(--focus-ring);outline-offset:4px}.photo-project-card .project-frame{min-height:0;aspect-ratio:16 / 10;border:0}.photo-project-card .project-frame-image{height:100%;min-height:0;aspect-ratio:16 / 10;border:0}.photo-project-card:hover .project-home-overlay,.photo-project-card:focus-visible .project-home-overlay{opacity:1}.photo-series-list{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-8);max-width:60rem;margin-inline:auto}.info-card-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.project-lede{max-width:50rem}.project-page{display:grid;gap:1.5rem}.project-back-card{display:inline-flex;align-items:center;gap:.8rem;justify-self:start;padding:.9rem 1.05rem;margin-top:0;border:1px solid var(--border);border-radius:1rem;background:var(--surface-1);color:var(--text);font-family:var(--font-sans);font-size:.8rem;letter-spacing:.18em;line-height:1;text-transform:uppercase;transition:transform .18s ease,border-color .18s ease,background-color .18s ease}.project-back-card:hover,.project-back-card:focus-visible{transform:translateY(-2px);border-color:var(--accent-border);background:var(--surface-2)}.project-back-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.project-back-icon{width:1rem;height:1rem;flex:0 0 auto;color:var(--accent)}.project-detail-header{display:grid;gap:.85rem;padding-top:.25rem}.contact-card{display:grid;justify-items:center;gap:1.15rem;text-align:center;padding:2.4rem 1.5rem;border:1px solid var(--border);border-radius:1.8rem;background:var(--surface-1)}.home-contact-section .contact-card{margin-block-start:calc(0px - var(--space-6));margin-block-end:var(--space-6)}.contact-title{font-size:clamp(1.9rem,4vw,3rem);line-height:1.05;max-width:100%}.contact-eyebrow-space{display:block;min-height:1.2rem;visibility:hidden}.contact-email{color:var(--text);word-break:break-word;font-size:inherit;transition:color .18s ease}.contact-email:hover,.contact-email:focus-visible{color:var(--accent)}.contact-copy{max-width:34rem}.not-found-card{gap:var(--space-3);padding:var(--space-6) var(--space-5);text-align:center}.not-found-section{padding:var(--space-8) 0}.not-found-animation{position:relative;width:min(100%,26rem);aspect-ratio:600 / 440;margin:calc(var(--space-3) * -1) 0 0}.not-found-title{display:flex;flex-direction:column;align-items:center;gap:.25em}.not-found-title-detail{font-size:.48em;font-weight:400}.not-found-poster,.not-found-lottie{position:absolute;inset:0;width:100%;height:100%}.not-found-lottie svg{display:block;width:100%;height:100%}.not-found-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);width:100%;margin-top:var(--space-2)}.contact-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:var(--control-min-size);padding:.85rem 1.1rem;border:1px solid var(--border);border-radius:999px;background:var(--surface-1);color:var(--text);font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;transition:color .18s ease,transform .18s ease,border-color .18s ease,background-color .18s ease}.contact-whatsapp .whatsapp-icon{display:block;width:1.25rem;height:1.25rem;color:var(--color-whatsapp);fill:currentColor;stroke:none;flex:0 0 auto;transition:color .18s ease}.contact-whatsapp:hover,.contact-whatsapp:focus-visible{color:var(--color-whatsapp);border-color:var(--color-whatsapp-border);background:var(--color-whatsapp-surface);transform:translateY(-1px)}.contact-whatsapp:focus-visible{outline:2px solid var(--color-whatsapp-border);outline-offset:3px}.contact-handle{font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase}.social-links{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem;margin-top:.9rem}.social-links a{display:grid;place-items:center;width:var(--control-min-size);height:var(--control-min-size);flex:0 0 var(--control-min-size);border:1px solid transparent;border-radius:var(--radius-pill);background:transparent;color:var(--text);transition:color .18s ease,transform .18s ease}.social-links a:hover,.social-links a:focus-visible{transform:translateY(-1px);color:var(--accent);background:transparent;border-color:transparent}.social-links a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.social-links svg{display:block;width:1.25rem;height:1.25rem;fill:currentColor;stroke:none}.project-meta-row{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.project-body{display:grid;gap:var(--space-5);width:100%;max-width:68ch;margin-inline:auto;color:var(--muted);font-size:1.05rem;line-height:1.75}.project-block{display:grid;gap:1rem;padding-top:.5rem}.project-gallery-heading{display:flex;align-items:center;gap:var(--space-1)}.project-gallery-heading .eyebrow{margin:0}.definition-hint{position:relative;display:inline-flex;flex:0 0 auto;width:1.25rem;height:1.25rem;align-items:center;justify-content:center;border-radius:var(--radius-pill);color:var(--color-text-secondary);cursor:help}.definition-hint:focus-visible{outline:var(--focus-ring);outline-offset:2px}.definition-hint-icon{display:grid;width:1.2rem;height:1.2rem;place-items:center;border:1px solid var(--color-control-border);border-radius:var(--radius-pill);font-family:var(--font-sans);font-size:.75rem;font-weight:700;line-height:1;transition:color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.definition-hint:hover,.definition-hint:focus-visible{color:var(--color-accent)}.definition-hint:hover .definition-hint-icon,.definition-hint:focus-visible .definition-hint-icon{border-color:var(--color-accent-border-strong);background:var(--color-accent-soft)}.definition-hint-tooltip{position:absolute;z-index:10;display:block;top:calc(100% - var(--space-1));left:0;width:min(28rem,calc(100vw - 6rem));max-height:min(65dvh,28rem);padding:var(--space-4);overflow-y:auto;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-2);box-shadow:0 1rem 2rem var(--color-scrim);color:var(--color-text-secondary);font-size:1rem;line-height:1.55;opacity:0;pointer-events:none;visibility:hidden;transform:translateY(-.2rem);transition:opacity var(--duration-fast) var(--ease-standard),visibility var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.definition-hint-rights{display:block;margin-top:var(--space-3);color:var(--color-text-tertiary);font-size:.75rem;line-height:1.45}.definition-hint:hover .definition-hint-tooltip,.definition-hint:focus-visible .definition-hint-tooltip{opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0)}@media(prefers-reduced-transparency:reduce){.definition-hint-tooltip{background:var(--color-surface-1);box-shadow:none}}.education-professor-profile{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5);padding:var(--space-5);border:1px solid var(--color-accent-border);border-radius:var(--radius-md);background:var(--color-surface-1)}.education-professor-item{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:var(--space-5)}.education-professor-item+.education-professor-item{padding-top:var(--space-5);border-top:1px solid var(--color-border)}.education-professor-item-text-only{grid-template-columns:minmax(0,1fr)}.education-professor-portrait{display:grid;gap:.5rem;width:min(100%,22.5rem);margin:0}.education-professor-photo{display:block;width:100%;aspect-ratio:1;object-fit:cover;object-position:center;border-radius:var(--radius-sm)}.education-professor-credit{color:var(--color-text-secondary);font-size:.75rem;line-height:1.4;overflow-wrap:anywhere}.education-media-credit{margin:0}.education-media-credit-carousel{justify-self:center;width:min(100%,36rem)}.education-professor-copy{display:grid;gap:.9rem}.education-professor-copy .eyebrow,.education-professor-copy h2{margin:0}.education-professor-profile h2{margin:0;font-size:clamp(1.35rem,2vw,1.75rem)}.education-professor-profile h2 a{color:inherit;text-decoration-color:var(--color-accent-border-strong);text-underline-offset:.18em}.education-professor-profile h2 a:hover,.education-professor-profile h2 a:focus-visible{color:var(--color-accent)}.media-grid{display:grid;gap:1rem}.media-image{min-height:12rem}.frame-stack{display:grid;gap:1rem}.tech-sheet{display:grid;gap:.85rem;margin:0}.tech-sheet div{display:grid;gap:.3rem;padding:1rem 0;border-top:1px solid var(--border)}.tech-sheet div:last-child{border-bottom:1px solid var(--border)}.tech-sheet dt{color:var(--muted-strong);font-family:var(--font-sans);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase}.tech-sheet dt strong{font-weight:700}.tech-sheet dd{margin:0;color:var(--text);font-size:1rem}.project-technical-copy>p{margin:0;padding:1rem 0;border-top:1px solid var(--color-border);color:var(--color-text);font-size:1rem;line-height:1.6}.project-technical-copy>p:last-child{border-bottom:1px solid var(--color-border)}.project-technical-copy strong{display:block;margin-block-end:.3rem;color:var(--color-text-secondary);font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.tech-sheet.education-detail-sheet{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.tech-sheet.education-detail-sheet>div{min-width:0;padding:.85rem;overflow-wrap:anywhere;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-1)}.tech-sheet.education-detail-sheet.education-detail-plain{gap:1rem 1.5rem}.tech-sheet.education-detail-sheet.education-detail-plain>div{padding:0;border:0;border-radius:0;background:transparent}.tech-sheet.education-detail-sheet>div:last-child{border-bottom:1px solid var(--color-border)}.related-list{display:grid;gap:.75rem}.related-item{display:grid;gap:.35rem;padding:1rem 0;border-top:1px solid var(--border);color:var(--text)}.related-item:last-child{border-bottom:1px solid var(--border)}.card-body,.info-card,.about-copy,.about-highlight,.compact-note{padding:1.5rem}.education-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.education-card-heading-copy{min-width:0}.education-card-heading .meta{font-size:.8125rem;line-height:1.45;letter-spacing:normal;text-transform:none;overflow-wrap:anywhere}.education-card-heading h3{margin-bottom:0;overflow-wrap:anywhere}.education-card-status{margin:.35rem 0 0}.education-card-logo{display:block;flex:0 0 3.5rem;width:3.5rem;height:3.5rem;object-fit:contain}.about-copy-title{margin-bottom:1.2rem;font-size:clamp(2rem,4vw,3.2rem)}.project-frame,.photo-surface{min-height:15rem;border-bottom:1px solid var(--border)}.project-card-home{position:relative}.project-card-visual .project-frame{aspect-ratio:16 / 10;min-height:0;border:0}.project-card-visual .project-frame-image{height:100%;min-height:0;aspect-ratio:16 / 10;border:0}.project-card[data-project-slug=toque-de-romance] .project-frame-image{object-position:center 38%}.project-card[data-project-slug=ultima-vez] .project-frame-image{object-position:center 18%}.project-card[data-project-slug=gaivotas] .project-frame-image{object-position:center 4%}.project-card[data-project-slug=sonhos-de-uma-noite-no-sertao] .project-frame-image{transform:scale(1.16);transform-origin:center}.project-home-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1rem;background:var(--color-scrim);color:var(--text);font-size:1rem;text-align:center;opacity:0;transition:opacity var(--duration-fast) var(--ease-standard)}.project-home-title{max-width:24ch;font-size:clamp(1.6rem,3vw,2.25rem);font-weight:700;line-height:1.08}.project-card-home:hover .project-home-overlay,.project-card-home:focus-visible .project-home-overlay{opacity:1}.project-carousel{position:relative;overflow-anchor:none}.project-carousel[data-carousel-ready]{width:min(calc(100vw - var(--space-8)),calc(var(--container) * 1.5 + var(--space-5) * 1.5));left:50%;transform:translate(-50%)}.project-carousel-control.button{--carousel-edge-fade: linear-gradient(var(--carousel-fade-direction), color-mix(in srgb, var(--color-scrim) 50%, transparent), transparent);position:absolute;z-index:1;top:0;bottom:0;width:max(var(--control-min-size),var(--carousel-inset, var(--control-min-size)));min-width:var(--control-min-size);height:auto;min-height:var(--control-min-size);margin:0;padding:0 var(--space-1);border:0;border-radius:0;background:transparent;color:var(--color-text);opacity:0;transform:none;transition:opacity var(--duration-fast) var(--ease-standard)}.project-carousel-control[hidden]{display:none}.project-carousel-previous{--carousel-fade-direction: to right;left:0;justify-content:flex-start}.project-carousel-next{--carousel-fade-direction: to left;right:0;justify-content:flex-end}.project-carousel-arrow{display:inline-flex;align-items:center;justify-content:center;flex:0 0 var(--control-min-size);height:var(--control-min-size);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-1);opacity:0;pointer-events:none;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.project-carousel-control.button:hover,.project-carousel-control.button:focus-visible,.project-carousel-control.button:active:not(:disabled):not([aria-disabled=true]){background:var(--carousel-edge-fade);opacity:1;color:var(--color-text);transform:none}.project-carousel-control:hover .project-carousel-arrow,.project-carousel-control:focus-visible .project-carousel-arrow,.project-carousel-control:active .project-carousel-arrow{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-bg);opacity:1}.project-carousel-control svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;pointer-events:none}.project-carousel-control:focus-visible{outline:none;opacity:1}.project-carousel-control:focus-visible .project-carousel-arrow{outline:var(--focus-ring);outline-offset:3px}.project-carousel-viewport:focus-visible{outline:var(--focus-ring);outline-offset:3px}.project-carousel[data-carousel-ready] .project-carousel-viewport{position:relative;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-width:none}.project-carousel-viewport::-webkit-scrollbar{display:none}.project-carousel[data-carousel-ready] .project-carousel-track{display:flex;align-items:stretch;gap:var(--space-5);padding:var(--space-2) var(--carousel-inset)}.project-carousel-panel{align-content:start;flex:0 0 var(--carousel-panel-width);min-width:0}.project-carousel-panel .project-home-overlay{gap:var(--space-2);padding:var(--space-3)}.project-carousel-panel .project-home-title{font-size:clamp(1rem,3vw,2.25rem)}@media(hover:none){.project-carousel-control.button,.project-carousel-arrow,.project-card-home .project-home-overlay{opacity:1}}@media(prefers-reduced-transparency:reduce){.project-carousel-control.button,.project-carousel-control.button:hover,.project-carousel-control.button:focus-visible,.project-carousel-control.button:active:not(:disabled):not([aria-disabled=true]){background:transparent}}.project-frame{position:relative;overflow:hidden}.project-frame-image,.project-cover-image,.photo-cover-image,.media-image{width:100%;object-fit:cover}.project-frame-image,.photo-cover-image{min-height:15rem;border-bottom:1px solid var(--border)}.media-image{border:1px solid var(--border);border-radius:1.25rem;background:var(--surface-1)}.project-gallery-trigger{display:block;width:100%;padding:0;border:2px solid transparent;border-radius:1.25rem;background:var(--surface-1);cursor:pointer}.button.project-gallery-trigger:hover,.button.project-gallery-trigger:focus-visible{border-color:var(--accent);background:var(--surface-1);color:var(--text)}.project-gallery-grid{display:grid;gap:1rem}.project-gallery-trigger:focus-visible{outline:var(--focus-ring);outline-offset:4px}.project-gallery-trigger .media-image{height:auto;min-height:0;aspect-ratio:16 / 10;object-fit:contain;border:0;border-radius:calc(1.25rem - 2px)}.project-gallery-grid[data-gallery-group=frames] .project-gallery-trigger .media-image{object-fit:cover}.project-image-dialog{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;padding:0;margin:0;border:0;outline:none;overflow:hidden;background:var(--color-bg);color:var(--color-text)}.project-image-dialog[open]{display:flex}.project-image-dialog::backdrop{background:var(--color-bg)}html:has(.project-image-dialog[open]){overflow:hidden}.project-image-stage{position:absolute;inset:var(--space-2);overflow:hidden;overscroll-behavior:contain}.project-image-canvas{display:grid;width:100%;height:100%;place-items:center}.project-image-canvas img{max-width:none;max-height:none;object-fit:contain;cursor:zoom-in}.project-image-stage.is-zoomed{overflow:auto;cursor:grab}.project-image-stage.is-dragging{cursor:grabbing}.project-image-stage.is-zoomed img{cursor:inherit}.project-image-stage:focus-visible{outline:none}.project-image-stage:focus-visible [data-gallery-image]{outline:var(--focus-ring);outline-offset:4px}.project-gallery-zoom{position:absolute;top:var(--space-2);left:var(--space-2);z-index:2;display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-min-size);min-width:var(--control-min-size);padding:0;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-1);color:var(--color-text);cursor:pointer}.project-gallery-zoom[aria-pressed=true]{border-color:var(--color-accent)}.project-gallery-zoom .project-gallery-fit-icon,.project-gallery-zoom[aria-pressed=true] .project-gallery-zoom-icon{display:none}.project-gallery-zoom[aria-pressed=true] .project-gallery-fit-icon{display:block}.project-gallery-zoom svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.8;pointer-events:none}.project-gallery-nav{position:absolute;top:0;bottom:0;z-index:1;display:grid;place-items:center;width:clamp(var(--space-12),10vw,calc(var(--space-16) * 2));min-width:0;height:100%;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--color-text);cursor:pointer}.button.project-gallery-nav:active:not(:disabled):not([aria-disabled=true]){transform:none}.button.project-gallery-nav:hover,.button.project-gallery-nav:focus-visible{background:transparent;color:var(--color-text)}.project-gallery-nav-icon{display:grid;place-items:center;width:var(--space-12);height:var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-1);pointer-events:none}.project-gallery-nav:hover .project-gallery-nav-icon,.project-gallery-nav:focus-visible .project-gallery-nav-icon{border-color:var(--color-accent);color:var(--color-accent)}.project-gallery-nav:focus-visible{outline:none}.project-gallery-nav:focus-visible .project-gallery-nav-icon{outline:var(--focus-ring);outline-offset:3px}.project-gallery-prev{left:0}.project-gallery-next{right:0}.project-image-close{position:absolute;top:var(--space-2);right:var(--space-2);z-index:2;width:2.75rem;min-width:0;height:2.75rem;min-height:0;padding:0;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-1);color:var(--text);font-size:1.75rem;line-height:1;cursor:pointer}.project-gallery-nav svg{width:1.4rem;height:1.4rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;pointer-events:none}.project-image-close:focus-visible{outline:var(--focus-ring);outline-offset:3px}.project-frame-inner{width:100%;height:100%;background:var(--surface-1)}.photo-surface.warm,.photo-surface.cool,.photo-surface.neutral{background:var(--surface-1)}.meta,.status-pill,.footer-tags,.plain-list{color:var(--muted-strong);font-family:var(--font-sans);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}.role{margin-top:.55rem;color:var(--muted)}.card h3,.card h2{margin-top:.65rem;margin-bottom:.8rem}.bottom-meta{margin-top:1.1rem}.status-pill{display:inline-flex;margin-top:1rem;padding:.55rem .8rem;border:1px solid var(--border);border-radius:999px;background:var(--accent-soft)}.text-link{display:inline-flex;margin-top:1rem;color:var(--accent);font-family:var(--font-sans);font-size:.92rem}.text-link a{color:inherit}.card-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem}.card-grid>*,.card-body{min-width:0;overflow-wrap:anywhere}.stack-grid{display:grid;gap:1rem}.coming-soon{display:grid;gap:.35rem;padding-top:.25rem}.coming-soon-title{color:var(--text);font-size:1rem;font-weight:600}.coming-soon-note{color:var(--muted-strong);font-size:.75rem}.timeline-list{overflow:hidden}.timeline-list .timeline-link{display:grid;grid-template-columns:4rem minmax(11rem,1.25fr) minmax(9rem,1fr) minmax(7rem,.75fr) minmax(8rem,.85fr);align-items:center;gap:1rem;min-height:4.25rem;margin:0;padding:.85rem 1.25rem;color:var(--muted);text-decoration:none;transition:background-color .18s ease,color .18s ease}.timeline-year{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}.timeline-project-title{color:var(--text);font-weight:600}.timeline-role,.timeline-format{font-size:.875rem}.timeline-status{justify-self:start;padding:.3rem .65rem;border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--muted-strong);font-size:.75rem;line-height:1.3}.timeline-link:hover,.timeline-link:focus-visible{background:var(--surface-2);color:var(--text)}.timeline-link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.timeline-list .timeline-link+.timeline-link{border-top:1px solid var(--border)}.timeline-list .timeline-link:hover .timeline-project-title,.timeline-list .timeline-link:focus-visible .timeline-project-title{color:var(--accent)}@media(max-width:760px){.timeline-list .timeline-link{grid-template-columns:3.5rem minmax(0,1fr);gap:.2rem .75rem;padding:.9rem 1rem}.timeline-year{grid-column:1;grid-row:1}.timeline-project-title{grid-column:2;grid-row:1}.timeline-role{grid-column:1 / -1;grid-row:3}.timeline-format{grid-column:1;grid-row:2;font-size:.75rem}.timeline-status{grid-column:2;grid-row:2}}@media(prefers-reduced-motion:reduce){.timeline-list .timeline-link{transition:none}}.plain-list{display:grid;gap:.75rem;padding-left:1.1rem;letter-spacing:normal;text-transform:none;font-size:.98rem}.plain-list li{color:var(--muted)}.section-heading{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.filter-panel{margin-bottom:1.5rem;padding:1rem;border:1px solid var(--border);border-radius:1.2rem;background:var(--surface-1)}.filter-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:1rem}.filter-actions .button{margin-top:0}.filter-status{color:var(--muted-strong);font-size:.875rem}.filter-grid{display:grid;gap:.85rem}.filter-field-full{grid-column:1 / -1}.filter-field{display:grid;gap:.5rem;margin:0;padding:0;border:0}.filter-field span,.filter-field legend{color:var(--muted-strong);font-family:var(--font-sans);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase}.filter-options{display:flex;flex-wrap:wrap;gap:.6rem}.filter-check{position:relative;display:inline-flex}.filter-check input{position:absolute;opacity:0;pointer-events:none}.filter-check span{padding:.7rem .9rem;border:1px solid var(--color-control-border);border-radius:999px;background:var(--bg);color:var(--muted);letter-spacing:normal;text-transform:none;font-size:.92rem;cursor:pointer}.filter-check input:focus-visible+span{outline:var(--focus-ring);outline-offset:3px}.filter-check input:checked+span{border-color:var(--accent-border-strong);background:var(--accent-surface);color:var(--text)}.filter-panel[data-active=true] [data-filter-reset]{border-color:var(--accent-border-strong);color:var(--accent)}.filter-field select{width:100%;padding:.85rem 1rem;min-height:var(--control-min-size);border:1px solid var(--color-control-border);border-radius:.95rem;background:var(--bg);color:var(--text);font:inherit}.page-heading{margin-bottom:2rem}.update-notice{position:fixed;right:1rem;bottom:1rem;z-index:50;display:flex;align-items:center;gap:1rem;width:min(32rem,calc(100vw - 2rem));padding:1rem;border:1px solid var(--color-control-border);border-radius:var(--radius-md);background:var(--surface-2)}.update-notice[hidden]{display:none}.update-notice .button{flex:0 0 auto;margin-top:0}[hidden]{display:none!important}.site-footer{border-top:1px solid var(--border);margin-top:2rem}.footer-inner{display:flex;flex-direction:column;gap:1rem;padding:2rem 0;color:var(--muted-strong)}.footer-contact{color:var(--text);font-family:var(--font-sans);font-weight:700;letter-spacing:.16em;text-transform:uppercase;transition:color .18s ease}.footer-links{display:flex;flex-wrap:wrap;gap:.5rem 1rem}.footer-links a+a{border-left:1px solid var(--color-border-strong);padding-inline-start:var(--space-4)}.footer-contact:hover,.footer-contact:focus-visible{color:var(--accent)}@media(min-width:48rem){.project-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-actions{flex-direction:row}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.card-grid.text-grid,.split-grid,.two-column-intro{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-inner,.section-heading{flex-direction:row;justify-content:space-between;align-items:end}}@media(max-width:30rem){.update-notice{align-items:stretch;flex-direction:column}.update-notice .button{width:100%}}@media(forced-colors:active){.filter-check input:checked+span{border-width:2px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(min-width:64rem){.desktop-nav{display:flex}.mobile-nav{display:none}.hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(22rem,.85fr);align-items:center}.about-grid{grid-template-columns:minmax(0,1.1fr) minmax(20rem,.9fr);align-items:start}.card-grid.visual-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid.text-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tech-sheet.education-detail-sheet{grid-template-columns:repeat(3,minmax(0,1fr))}.education-professor-profile{grid-template-columns:minmax(0,1fr)}.education-professor-item{grid-template-columns:minmax(12rem,22.5rem) minmax(0,1fr)}.education-professor-item-text-only{grid-template-columns:minmax(0,1fr)}}@media(min-width:80rem){.tech-sheet.education-detail-sheet{grid-template-columns:repeat(5,minmax(0,1fr))}}.language-switcher{display:grid;gap:.65rem}.language-switcher-hero{margin-top:.35rem}.language-switcher-label{color:var(--muted-strong);font-family:var(--font-sans);font-size:.75rem;letter-spacing:.22em;text-transform:uppercase}.language-switcher-list{display:flex;flex-wrap:wrap;gap:.65rem}.language-chip{display:inline-flex;align-items:center;gap:.5rem;min-height:2.5rem;padding:.55rem .75rem;border:1px solid var(--border);border-radius:999px;background:var(--surface-1);color:var(--muted);font-family:var(--font-sans);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:border-color .18s ease,color .18s ease,background-color .18s ease,transform .18s ease}.language-chip:hover,.language-chip:focus-visible{border-color:var(--accent-border);color:var(--text);background:var(--surface-2);transform:translateY(-1px)}.language-chip:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.language-chip.current{border-color:var(--accent-border);background:var(--accent-soft);color:var(--text)}.language-chip-textonly,.language-chip-code{line-height:1}.language-flag{width:1.4rem;aspect-ratio:10 / 7;flex:0 0 auto;border:1px solid var(--color-flag-border);border-radius:.22rem;object-fit:cover}.footer-inner{display:grid;gap:1.25rem;align-items:start}.footer-meta{display:flex;flex-direction:column;gap:1rem;color:var(--muted-strong)}@media(min-width:48rem){.footer-inner{grid-template-columns:minmax(0,1fr) auto;align-items:end}.footer-meta{align-items:end;text-align:right}.footer-links{justify-content:flex-end}}
