/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--paper-frame:0}*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y: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;--spacing:.25rem;--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}.fixed{position:fixed}.top-0{top:0}.z-50{z-index:50}.ml-auto{margin-left:auto}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.min-h-screen{min-height:100vh}.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}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:calc(var(--spacing) * 2)}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@font-face{font-family:Libron;src:url(/fonts/libron-regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@view-transition{navigation:auto}:root{--footer-reveal:1;--footer-h:100svh;--bg-primary:#f4f1e8;--bg-secondary:#e8e4d9;--text-primary:#242520;--text-secondary:#44453e;--text-muted:#69685e;--accent:#efcf4f;--accent-ink:#242520;--border:#aaa89b;--border-subtle:#cfccbf;--project-preview-bg:var(--bg-secondary);--hero-bg:#f4f1e8;--hero-text:#242520;--hero-secondary:#44453e;--hero-muted:#69685e;--hero-border:var(--hero-bg)}@supports (color:color-mix(in lab, red, red)){:root{--hero-border:color-mix(in srgb, var(--hero-bg) 78%, var(--hero-text))}}:root{--card-radius:0;--page-max:67.5rem;--page-gutter:clamp(1.25rem, 4vw, 3rem);--font-heading:"Encode Sans Condensed", "Asap", system-ui, -apple-system, sans-serif;--font-body:"Libron", Georgia, serif;--font-ui:"Asap", system-ui, -apple-system, sans-serif;--font-reading:clamp(.9375rem, .9125rem + .075vw, 1rem);--font-prose:clamp(.9375rem, .9125rem + .1vw, 1rem);--font-detail:clamp(.84375rem, .81875rem + .075vw, .90625rem)}html{background:var(--hero-bg);overflow-x:clip}body{background:var(--hero-bg);color:var(--text-primary);font-family:var(--font-body);font-size:var(--font-reading);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.6;overflow-x:clip}::selection{background:var(--accent);color:var(--accent-ink)}a{text-decoration:none}[data-lang=en],html[lang=en] [data-lang=pt]{display:none}html[lang=en] [data-lang=en]{display:revert}.site-nav{background:var(--bg-primary);opacity:1;transition:transform .35s,opacity .25s;position:absolute;inset-inline:0;transform:translateY(0)}.hero-layout,.project-featured-group,.project-detail-band,.site-nav[data-past-hero=false]{--bg-primary:var(--hero-bg);--bg-secondary:var(--hero-bg)}@supports (color:color-mix(in lab, red, red)){.hero-layout,.project-featured-group,.project-detail-band,.site-nav[data-past-hero=false]{--bg-secondary:color-mix(in srgb, var(--hero-bg) 92%, var(--hero-text))}}.hero-layout,.project-featured-group,.project-detail-band,.site-nav[data-past-hero=false]{--text-primary:var(--hero-text);--text-secondary:var(--hero-secondary);--text-muted:var(--hero-muted);--border:var(--hero-border)}.site-nav[data-past-hero=true]{box-shadow:0 1px 0 var(--hero-bg);animation:.2s ease-out nav-return;position:fixed}@supports (color:color-mix(in lab, red, red)){.site-nav[data-past-hero=true]{box-shadow:0 1px 0 color-mix(in srgb, var(--hero-bg) 12%, transparent)}}.site-nav[data-past-content=true]{opacity:0;pointer-events:none;transition:transform .42s cubic-bezier(.16,1,.3,1),opacity .32s;transform:translateY(-100%)}@keyframes nav-return{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.site-header-inner{width:calc(100% - 2 * var(--page-gutter));max-width:var(--page-max);margin-inline:auto;padding-block:1.1rem;transition:padding .2s}.site-nav[data-scrolled=true] .site-header-inner{padding-block:.75rem}.site-header-links{color:var(--text-secondary);font-family:var(--font-ui);letter-spacing:.015em;text-transform:uppercase;align-items:center;gap:clamp(1.25rem,3vw,2.5rem);font-size:.78125rem;font-weight:400;display:flex}.site-header-links a{opacity:.75;padding-block:.35rem;transition:opacity .15s,color .15s}.site-header-links a:hover{opacity:1;color:var(--text-primary)}.site-header-project{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;display:grid}.site-header-brand{font-family:var(--font-heading);letter-spacing:-.035em;text-transform:uppercase;color:var(--text-primary);view-transition-name:site-brand;font-size:1.35rem;font-weight:800}.site-header-brand:hover{opacity:1}.site-header-project .site-header-brand{justify-self:center}.site-header-project .site-header-controls{justify-self:end}.language-menu{align-items:center;height:1.875rem;display:flex;position:relative}.language-menu-trigger{height:100%;color:var(--text-secondary);cursor:pointer;font-family:var(--font-ui);letter-spacing:.015em;text-transform:uppercase;opacity:.75;background:0 0;border:0;border-radius:0;align-items:center;gap:.35rem;padding:0 .25rem;font-size:.78125rem;font-weight:400;line-height:1;transition:opacity .15s,color .15s;display:inline-flex}.language-menu:hover .language-menu-trigger,.language-menu.is-open .language-menu-trigger,.language-menu-trigger:hover{opacity:1;color:var(--text-primary);box-shadow:none;background:0 0}.language-menu-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.language-menu-chevron{color:currentColor;opacity:.6;transition:opacity .15s,transform .2s cubic-bezier(.22,1,.36,1)}.language-menu.is-open .language-menu-chevron{opacity:1;transform:rotate(180deg)}.language-menu-trigger:focus-visible,.language-menu-option:focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}.language-menu-panel{z-index:50;opacity:0;visibility:hidden;pointer-events:none;width:max-content;min-width:8.5rem;padding-top:.35rem;transition:opacity .16s,visibility 0s linear .16s;position:absolute;top:100%;right:0}.language-menu.is-open .language-menu-panel{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}.language-menu-surface{border:1px solid var(--border);background:var(--bg-primary);border-radius:0;padding:.25rem;box-shadow:0 .5rem 1.5rem #00000040}.language-menu-option{width:100%;min-height:1.875rem;color:var(--text-secondary);cursor:pointer;font-family:var(--font-ui);letter-spacing:.015em;text-transform:uppercase;text-align:left;background:0 0;border:0;border-radius:0;justify-content:flex-start;align-items:center;gap:.5rem;padding:.35rem .6rem;font-size:.78125rem;font-weight:400;transition:background-color .15s,color .15s;display:flex;position:relative}.language-menu-option:hover{background:var(--bg-secondary);color:var(--text-primary)}.language-menu-option[data-selected=true]{color:var(--text-primary);font-weight:700}.language-flag-mono{color:currentColor;opacity:.85;flex:0 0 13px;justify-content:center;align-items:center;width:13px;height:13px;display:inline-flex}.language-menu-check{color:var(--text-primary);opacity:.85}.project-header-back{color:var(--text-muted);font-family:var(--font-ui);letter-spacing:.015em;text-transform:uppercase;justify-self:start;align-items:center;gap:.375rem;font-size:.78125rem;font-weight:400;transition:color .15s;animation:.5s cubic-bezier(.22,1,.36,1) both project-header-back-in;display:inline-flex}.project-header-back:hover{color:var(--text-primary)}::view-transition-group(site-brand){animation-duration:.6s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(root),::view-transition-new(root){animation:none}@keyframes project-header-back-in{0%{opacity:0;transform:translate(-.75rem)}to{opacity:1;transform:translate(0)}}.site-shell{isolation:isolate;background:var(--hero-bg);width:100%;position:relative}.site-lift{z-index:2;background:var(--bg-primary);margin-bottom:var(--footer-h);box-shadow:0 1px 0 var(--border);position:relative}.home-main{background:var(--bg-primary);flex-direction:column;align-items:stretch;gap:0;width:100%;margin-top:0;padding-top:0;display:flex;position:relative}.home-main>.hero-layout,.home-main>section{width:100%;max-width:none;margin-inline:0}.home-main>section>*,.experience-skills>section>*,.hero-layout>*{width:100%;max-width:var(--page-max);margin-inline:auto}.home-main>.hero-layout{background:var(--bg-primary);min-height:min(92svh,60rem);padding:clamp(7rem, 9vw, 8rem) var(--page-gutter) clamp(3rem, 5vw, 4.5rem);align-items:center;display:flex;position:relative;overflow:clip}.hero-floral{z-index:0;object-fit:contain;opacity:.9;-webkit-user-select:none;user-select:none;pointer-events:none;width:min(78vw,74rem);max-width:none;height:auto;display:block;position:absolute;bottom:-7rem;right:clamp(-20rem,-14vw,-8rem);-webkit-mask-image:linear-gradient(90deg,#0000 28%,#000 68%);mask-image:linear-gradient(90deg,#0000 28%,#000 68%)}.hero-intro{isolation:isolate;flex-direction:column;gap:clamp(2rem,4vw,3rem);display:flex;position:relative}.hero-heading{z-index:1;position:relative}.hero-title{color:var(--text-primary);font-family:var(--font-heading);letter-spacing:-.045em;word-spacing:.08em;margin:0 0 0 -.035em;font-size:clamp(4rem,12.5vw,9.5rem);font-weight:800;line-height:.95}.hero-content{grid-template-columns:minmax(0,1fr);gap:2rem;display:grid}.hero-copy{z-index:1;max-width:33rem;position:relative}.hero-contacts{flex-wrap:wrap;gap:.5rem 1.25rem;margin-top:2rem;display:flex}.hero-contact-item{width:fit-content;color:var(--text-secondary);font-family:var(--font-ui);align-items:center;gap:.45rem;font-size:clamp(.925rem,.9rem + .075vw,1rem);font-weight:500;line-height:1.4;transition:color .15s;display:inline-flex}.hero-contact-item:hover{color:var(--text-primary)}.hero-contact-item i{color:var(--text-muted);font-size:.95rem;transition:color .15s}.hero-contact-item:hover i{color:var(--text-primary)}.hero-location{font-family:var(--font-ui);color:var(--text-muted);font-size:var(--font-detail);margin:.65rem 0 0}.hero-about{max-width:38ch;color:var(--text-primary);text-wrap:pretty;margin:0;font-size:clamp(1.1875rem,1.65vw,1.375rem);font-weight:400;line-height:1.5}.hero-actions{flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:1.5rem;display:inline-flex}.hero-actions .hero-action-link{position:relative}.hero-actions .hero-action-link:hover,.hero-actions .hero-action-link:focus-visible{z-index:2}.hero-action-link{font-family:var(--font-ui);height:2.5rem;min-height:2.5rem;color:var(--text-primary);letter-spacing:.015em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;gap:.45rem;padding:0 .85rem;font-size:.75rem;font-weight:600;line-height:1;display:inline-flex}.hero-action-link:focus-visible,.project-card a:focus-visible,.site-header-links a:focus-visible{outline:2px solid var(--text-primary);outline-offset:3px}.home-main>.project-list-section{scroll-margin-top:5rem}.home-main>.project-list-section>*{max-width:none;padding:clamp(3.5rem, 7vw, 5.5rem) var(--page-gutter)}.home-main>.project-list-section>.project-compact-group{padding-top:clamp(2.5rem,5vw,4rem)}.project-featured-group{isolation:isolate;background:var(--bg-primary);--project-preview-bg:var(--bg-secondary);--border-subtle:var(--hero-border);position:relative;overflow:clip}.project-featured-group>.project-landscape{z-index:0;object-fit:contain;opacity:.12;pointer-events:none;-webkit-user-select:none;user-select:none;width:min(100%,80rem);max-width:none;height:auto;margin:0;position:absolute;bottom:-3rem;right:-5%;-webkit-mask-image:linear-gradient(#0000,#000 45%);mask-image:linear-gradient(#0000,#000 45%)}.project-featured-group>.project-grid,.project-featured-group>.project-section-heading{z-index:1;position:relative}.project-featured-group>*,.project-compact-group>*{max-width:var(--page-max);margin-inline:auto}.project-section-heading{margin-bottom:clamp(1.75rem,3.5vw,2.75rem)}.project-section-heading .section-heading{margin:0}.project-group-label{color:var(--text-primary);font-family:var(--font-ui);margin-block:0 1.75rem;font-size:.875rem;font-weight:600;line-height:1.3}.project-grid{grid-template-columns:minmax(0,1fr);gap:1.25rem;margin-bottom:0;display:grid}.project-card{grid-template-columns:minmax(0,1fr);align-items:start;gap:1.5rem;min-width:0;display:grid}.project-card-media{aspect-ratio:16/9;border:1px solid var(--border-subtle);background:var(--project-preview-bg);border-radius:0;transition:border-color .15s,background-color .15s;display:block;position:relative;overflow:hidden}.project-card-media img{object-fit:contain;width:100%;height:100%;display:block}.project-card-media:hover{border-color:var(--text-primary)}.project-card-body{flex-direction:column;gap:.45rem;display:flex}.project-card-title{font-family:var(--font-heading);letter-spacing:-.025em;margin:0;font-size:clamp(1.75rem,3vw,2.75rem);font-weight:800;line-height:1.05}.project-card-title a{color:var(--text-primary);justify-content:space-between;align-items:baseline;gap:.75rem;transition:opacity .15s;display:flex}.project-card-title a:hover{opacity:.75}.project-card-arrow{flex-shrink:0}.project-card-desc{max-width:48ch;color:var(--text-secondary);font-size:var(--font-prose);margin:0;line-height:1.6}.project-card-tech{font-family:var(--font-ui);color:var(--text-muted);flex-wrap:wrap;gap:.25rem 0;margin:.35rem 0 0;padding:0;font-size:.75rem;list-style:none;display:flex}.project-card-tech li{align-items:center;gap:.4rem;margin:.25rem .875rem 0 0;display:inline-flex}.project-tech-icon{background:currentColor;width:.95rem;height:.95rem}.project-card-tech i{font-size:.95rem}.project-card-link{width:fit-content;min-height:2.25rem;color:var(--text-primary);font-family:var(--font-ui);align-items:center;gap:.45rem;margin-top:.5rem;padding-block:.5rem;font-size:.75rem;font-weight:600;line-height:1.2;display:inline-flex}.project-card-link:hover{color:var(--text-secondary)}.project-featured-group>.project-grid{grid-template-columns:minmax(0,1fr)}.project-card-featured .project-card-media{order:-1}.project-card-compact{background:0 0;flex-direction:column;gap:1rem;padding:0;display:flex}.project-card-compact .project-card-media{order:-1}.project-card-compact .project-card-body{flex:1}.project-card-compact .project-card-title{font-size:1.5rem}.project-card-compact .project-card-tech{margin:.35rem 0 .85rem}.project-card-compact .project-card-tech i{font-size:1.1rem}.project-card-compact .project-card-link{align-self:start;margin-top:auto}@media (width<=539px){.project-card-compact{grid-template-columns:6rem minmax(0,1fr);align-items:center;gap:.85rem;padding-block:1rem;display:grid}.project-card-compact .project-card-title{font-size:1.125rem}}@media (width>=540px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1000px){.project-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.project-card-media img,.project-detail-media-frame img{transform:translateY(var(--drift,0px)) scale(1.16);will-change:transform}.experience-skills{isolation:isolate;position:relative;overflow:clip}.experience-skills>section{z-index:1;position:relative}.floral-trail{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.floral-trail-stage{aspect-ratio:3/2;position:sticky;top:max(0px,50svh - 33.333vw);overflow:clip}.floral-trail-reveal{will-change:transform;width:100%;height:100%;position:absolute;inset:0;transform:translate(-77.5%);-webkit-mask-image:linear-gradient(90deg,#0000 22.5%,#000 45.5% 54.5%,#0000 77.5%);mask-image:linear-gradient(90deg,#0000 22.5%,#000 45.5% 54.5%,#0000 77.5%)}.floral-trail img{opacity:.07;will-change:transform;width:100%;height:auto;display:block;transform:translate(77.5%)}.experience-skills>.skills-section{padding:clamp(3.5rem, 7vw, 5.5rem) var(--page-gutter)}.skill-cards{gap:1.25rem;display:grid}.skill-card{isolation:isolate;align-content:start;gap:.85rem;padding:3rem 1.25rem 2rem;display:grid;position:relative}.skill-card:before{content:"";z-index:-1;pointer-events:none;background:url(/images/editorial-paper.webp) 50%/100% 100% no-repeat;position:absolute;inset:0}.skill-card-title{color:var(--text-primary);font-family:var(--font-ui);letter-spacing:0;margin:0;font-size:1rem;font-weight:500;line-height:1.3}.skill-card-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem .75rem;margin:0;padding:0;list-style:none;display:grid}.skill-card-item{min-width:0;color:var(--text-secondary);font-family:var(--font-body);font-size:var(--font-detail);align-items:center;gap:.45rem;padding:.2rem .4rem;line-height:1.4;display:flex}.skill-card-icon{background:var(--text-secondary);flex:0 0 1rem;width:1rem;height:1rem}.skill-card-glyph{text-align:center;color:var(--text-secondary);flex:0 0 1rem;font-size:1rem;line-height:1}.skills-rows{gap:2rem;margin-top:2rem;display:grid}.skills-row{align-content:start;gap:.6rem;display:grid}.skills-row h3{color:var(--text-muted);font-family:var(--font-ui);font-size:var(--font-detail);letter-spacing:0;text-transform:none;margin:0;font-weight:700}.skills-row p{color:var(--text-secondary);font-size:var(--font-prose);margin:0;line-height:1.7}.skills-sep{color:var(--text-muted)}.skill-inline-item{display:inline}@media (width<=359px){.skill-card-list{grid-template-columns:minmax(0,1fr)}}@media (width>=720px){.skill-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-card-list{grid-template-columns:minmax(0,1fr)}.skills-rows{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem}.skills-row-wide{grid-column:1/-1}}@media (width>=1100px){.skill-cards{grid-template-columns:repeat(4,minmax(0,1fr))}}.experience-section{padding:clamp(3.5rem, 7vw, 5.5rem) var(--page-gutter);scroll-margin-top:5rem}.experience-records{gap:clamp(2.25rem,4vw,3.25rem);margin-top:0;display:grid}.experience-entry{padding:0;grid-template-columns:minmax(0,1fr);gap:1rem;padding-bottom:clamp(1.75rem,3.5vw,2.75rem);display:grid}.experience-entry:last-child{border-bottom:0;padding-bottom:0}.experience-main{flex-direction:column;gap:.85rem;min-width:0;display:flex}.experience-entry-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem 1.5rem;display:flex}.experience-entry-meta h3{color:var(--text-primary);font-family:var(--font-heading);letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:500;line-height:1.2}.experience-company{color:var(--text-secondary);font-family:var(--font-ui);font-size:var(--font-reading);margin:.25rem 0 0;font-weight:600}.experience-place{color:var(--text-muted);font-family:var(--font-ui);font-size:var(--font-detail);align-items:center;gap:.35rem;margin:.25rem 0 0;font-weight:500;display:flex}.experience-date{font-family:var(--font-ui);color:var(--text-muted);font-size:var(--font-detail);white-space:nowrap;margin:0;font-weight:400}.experience-entry ul{color:var(--text-secondary);font-family:var(--font-body);font-size:var(--font-prose);gap:.55rem;margin:0;padding:0;line-height:1.7;list-style:none;display:grid}.experience-entry li{max-width:78ch;padding-left:1rem;position:relative}.experience-entry li:before{content:"–";color:var(--text-muted);position:absolute;left:0}.home-main>.education-section{background:var(--bg-primary);padding:clamp(3.5rem, 7vw, 5.5rem) var(--page-gutter)}.education-record{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem 2rem;padding:0;display:flex}.education-main h3{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--font-reading);letter-spacing:-.01em;margin:0;font-weight:700}.education-meta{font-family:var(--font-ui);color:var(--text-muted);font-size:var(--font-detail);flex-wrap:wrap;gap:.25rem .5rem;margin:.35rem 0 0;display:flex}.education-status{font-family:var(--font-ui);color:var(--text-muted);font-size:var(--font-detail);white-space:nowrap;margin:0;font-weight:400}.site-footer{height:var(--footer-h);z-index:1;box-sizing:border-box;--footer-padding:clamp(2.5rem, 5vw, 4rem);--bg-primary:#f4f1e8;--text-primary:#242520;padding:var(--footer-padding) var(--page-gutter);color:var(--bg-primary);inset-inline:0;background:#242520;flex-direction:column;justify-content:center;display:flex;position:fixed;bottom:0;overflow:clip}.site-footer[data-visible=false]{visibility:hidden;pointer-events:none}.footer-floral{object-fit:contain;object-position:center top;width:100%;height:100%;opacity:calc(var(--footer-reveal) * .24);filter:blur(calc((1 - var(--footer-reveal)) * 28px));transform:translateY(calc((var(--footer-reveal) - 1) * 18vh));pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.footer-inner{width:100%;max-width:var(--page-max);opacity:var(--footer-reveal);filter:blur(calc((1 - var(--footer-reveal)) * 28px));transform:translateY(calc((1 - var(--footer-reveal)) * 9vh)) scale(calc(.94 + var(--footer-reveal) * .06));will-change:opacity, filter, transform;margin-inline:auto;position:relative}.footer-cta,.footer-bottom,.footer-copy{opacity:var(--footer-reveal);filter:blur(calc((1 - var(--footer-reveal)) * 14px));transform:translateY(calc((1 - var(--footer-reveal)) * 26px));will-change:opacity, filter, transform}.footer-content{width:100%;max-width:var(--page-max);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,6vw,6rem);margin:auto;display:grid}.footer-cta{text-align:left}.footer-cta-title{color:var(--bg-primary);font-family:var(--font-heading);letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:clamp(2.25rem,5.5vw,3.75rem);font-weight:800;line-height:1.05}.footer-cta-note{max-width:48ch;color:var(--bg-primary);margin:1.25rem 0 0}@supports (color:color-mix(in lab, red, red)){.footer-cta-note{color:color-mix(in srgb, var(--bg-primary) 78%, transparent)}}.footer-cta-note{font-size:var(--font-reading);line-height:1.6}.footer-cta-actions{flex-wrap:wrap;justify-content:flex-start;gap:.65rem;margin-top:1.5rem;display:flex}.footer-cta-primary{font-family:var(--font-ui);letter-spacing:.015em;text-transform:uppercase;border-radius:0;justify-content:center;align-items:center;gap:.5rem;font-size:.78125rem;font-weight:600;line-height:1;display:inline-flex}.footer-bottom{flex-direction:column;align-items:flex-start;gap:1.75rem;display:flex}.footer-identity{flex-direction:column;gap:.65rem;display:flex}.footer-name{color:var(--bg-primary);font-family:var(--font-ui);letter-spacing:-.01em;font-size:1.5rem;font-weight:600}.footer-contact{color:var(--bg-primary);flex-direction:column;gap:.35rem;display:flex}@supports (color:color-mix(in lab, red, red)){.footer-contact{color:color-mix(in srgb, var(--bg-primary) 68%, transparent)}}.footer-contact{font-family:var(--font-ui);font-size:.95rem;font-weight:400}.footer-link{width:fit-content;color:var(--bg-primary);border-radius:0;align-items:center;gap:.45rem;margin-inline-start:-.35rem;padding:.05rem .35rem;line-height:1.25;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.footer-link{color:color-mix(in srgb, var(--bg-primary) 78%, transparent)}}.footer-link{background-color:#0000;transition:background-color .18s,color .18s,opacity .18s}.footer-link i,.footer-link span{color:inherit;transition:color .18s}a.footer-link:hover{color:var(--text-primary);opacity:1;background-color:#fff}a.footer-link:hover i,a.footer-link:hover span{color:var(--text-primary)}.footer-social{gap:.5rem;display:flex}.footer-social-link{width:2.5rem;height:2.5rem;color:var(--bg-primary);border:0;border-radius:0;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.footer-social-link{color:color-mix(in srgb, var(--bg-primary) 70%, transparent)}}.footer-social-link{opacity:.75;transition:opacity .15s,color .15s}.footer-social-link:hover{color:#fff;opacity:1;background:0 0}.footer-copy{font-family:var(--font-ui);width:100%;max-width:var(--page-max);color:var(--bg-primary);opacity:calc(var(--footer-reveal) * .6);margin:3rem auto 0;font-size:.75rem}@media (width<=719px){.footer-content{grid-template-columns:minmax(0,1fr);gap:2.5rem}}@media (height<=740px){.site-footer{--footer-padding:1.5rem}.footer-cta-title{font-size:clamp(1.75rem,5vw,2.5rem)}.footer-cta-note{margin-top:.85rem}.footer-cta-actions{margin-top:1rem}.footer-content{gap:1.5rem}.footer-bottom{gap:1rem}.footer-copy{margin-top:1.5rem}}.project-detail-main{flex-direction:column;gap:clamp(2.5rem,5vw,4rem);width:100%;padding-bottom:clamp(3.5rem,6vw,5rem);display:flex}.project-detail-main>:not(.project-detail-band){width:calc(100% - 2 * var(--page-gutter));max-width:var(--page-max);margin-inline:auto}.project-detail-band{padding:clamp(7rem, 10vw, 9rem) var(--page-gutter) clamp(2.5rem, 5vw, 4rem);border-bottom:1px solid var(--border);background:var(--bg-primary);flex-direction:column;gap:clamp(2.5rem,5vw,3.5rem);display:flex;position:relative;overflow:clip}.project-detail-band>:not(.project-detail-botanical){width:100%;max-width:var(--page-max);margin-inline:auto;position:relative}.project-detail-botanical{top:0;right:var(--page-gutter);object-fit:contain;object-position:right top;opacity:.18;pointer-events:none;-webkit-user-select:none;user-select:none;width:min(38vw,30rem);height:auto;max-height:calc(100% - 3rem);position:absolute}.project-detail-intro{grid-template-columns:minmax(0,1fr);gap:1.25rem;display:grid}.project-detail-heading{flex-direction:column;gap:.65rem;display:flex}.project-detail-heading h1{max-width:24ch;color:var(--text-primary);font-family:var(--font-heading);letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:clamp(2.75rem,6vw,5rem);font-weight:800;line-height:1.05}.project-detail-lead{max-width:65ch;color:var(--text-secondary);font-family:var(--font-body);margin:.35rem 0 0;font-size:clamp(.9375rem,1.3vw,1.075rem);line-height:1.6}.project-detail-visit{width:fit-content;font-family:var(--font-ui);letter-spacing:.015em;text-transform:uppercase;border-radius:0;align-items:center;gap:.5rem;margin-top:1.25rem;font-size:.78125rem;font-weight:600;line-height:1;display:inline-flex}.project-detail-visit:focus-visible{outline:2px solid var(--text-primary);outline-offset:3px}.project-detail-meta{color:var(--text-secondary);font-family:var(--font-ui)}.project-detail-meta-row{flex-direction:column;gap:.5rem;font-size:.85rem;line-height:1.55;display:flex}.project-detail-meta-label{color:var(--text-muted);font-size:var(--font-detail);letter-spacing:0;text-transform:none;font-weight:500}.project-detail-tech{color:var(--text-secondary);font-size:var(--font-detail);line-height:1.7}.project-detail-overview{padding-top:.5rem;overflow:hidden}.project-detail-overview summary{font-family:var(--font-ui);width:fit-content;height:1.875rem;min-height:1.875rem;color:var(--text-primary);letter-spacing:.015em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:0;align-items:center;gap:.6rem;padding:0 .75rem;font-size:.75rem;font-weight:600;line-height:1;list-style:none;display:inline-flex}@property --paper-frame{syntax:"<integer>";inherits:true;initial-value:0}:is(.hero-action-primary,.footer-cta-primary,.project-detail-visit){--paper-frame:0;isolation:isolate;height:auto;min-height:2.75rem;color:var(--accent-ink);background:0 0;border:0;padding:.6rem 1.15rem;transition:--paper-frame .72s linear;position:relative}:is(.hero-action-primary,.footer-cta-primary,.project-detail-visit):before,:is(.hero-action-primary,.footer-cta-primary,.project-detail-visit):after{content:"";z-index:-1;pointer-events:none;position:absolute;inset:-.3rem -.25rem}:is(.hero-action-primary,.footer-cta-primary,.project-detail-visit):before{background:var(--accent);-webkit-mask:url(/images/editorial-button-sprite.webp) 0 calc(var(--paper-frame) * 100% / 7) / 100% 800% no-repeat;-webkit-mask:url(/images/editorial-button-sprite.webp) 0 calc(var(--paper-frame) * 100% / 7) / 100% 800% no-repeat;mask:url(/images/editorial-button-sprite.webp) 0 calc(var(--paper-frame) * 100% / 7) / 100% 800% no-repeat}:is(.hero-action-primary,.footer-cta-primary,.project-detail-visit):after{background:url(/images/editorial-button-sprite.webp) 0 calc(var(--paper-frame) * 100% / 7) / 100% 800% no-repeat;opacity:.45}:is(.hero-action-primary,.footer-cta-primary,.project-detail-visit):is(:hover,:focus-visible){--paper-frame:7}:is(.hero-action-primary,.footer-cta-primary,.project-detail-visit):focus-visible{outline:2px solid var(--text-primary);outline-offset:5px}.footer-cta-primary:focus-visible{outline-color:var(--bg-primary)}.marker-label{isolation:isolate;display:inline-block;position:relative}.marker-label:before{content:"";z-index:-1;background:var(--accent);opacity:.7;clip-path:polygon(1% 10%,98% 0,100% 85%,2% 100%);transform-origin:0;pointer-events:none;transition:transform .32s steps(6,end);position:absolute;inset:-.2em -.3em;transform:scaleX(0)}.marker-link:is(:hover,:focus-visible) .marker-label:before{transform:scaleX(1)}.marker-link:focus-visible{outline-offset:4px;outline:2px solid}.project-detail-overview summary:focus-visible{outline-offset:-2px}.project-detail-overview summary::-webkit-details-marker{display:none}.overview-toggle-icon{flex-shrink:0}.overview-toggle-icon path{transform-origin:8px 8px;transition:transform .24s,opacity .18s}.project-detail-overview[data-expanded=true] .overview-toggle-stem{opacity:0;transform:scaleY(0)}.project-detail-overview[data-expanded=true] .overview-toggle-left{transform:translate(3.5px,-3.5px)scale(1.4)}.project-detail-overview[data-expanded=true] .overview-toggle-right{transform:translate(-3.5px,-3.5px)scale(1.4)}.project-detail-overview[open] .project-detail-overview-body{margin-top:1.25rem}.project-detail-overview-body{color:var(--text-secondary);font-family:var(--font-body)}.project-detail-overview-body>p{max-width:62ch;margin:0;font-size:clamp(.9375rem,1.2vw,1.0625rem);line-height:1.65}.project-detail-overview-body>.project-detail-note{border-left:2px solid var(--border);max-width:62ch;color:var(--text-muted);margin:.85rem 0 0;padding-left:.85rem;font-size:.85rem;line-height:1.6}.project-detail-overview-body ul{grid-template-columns:minmax(0,1fr);gap:1.15rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.project-detail-overview-body li{color:var(--text-secondary);font-size:var(--font-reading);padding:0 0 0 1.25rem;line-height:1.6;position:relative}.project-detail-overview-body li:before{content:"";background:var(--text-primary);border-radius:0;width:5px;height:5px;position:absolute;top:.65rem;left:0}.project-detail-gallery{flex-direction:column;gap:clamp(3rem,5vw,4.5rem);display:flex}.project-detail-media-row{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}.project-detail-media-copy{color:var(--text-secondary)}.project-detail-media-copy h2{color:var(--text-primary);font-family:var(--font-heading);letter-spacing:-.01em;margin:0;font-size:clamp(1.25rem,2vw,1.65rem);font-weight:600;line-height:1.15}.project-detail-media-copy p{max-width:52ch;color:var(--text-secondary);font-family:var(--font-body);font-size:var(--font-detail);margin:.45rem 0 0;line-height:1.6}.project-detail-media-frame{border:1px solid var(--border-subtle);border-radius:var(--card-radius);background:var(--bg-secondary);min-width:0;overflow:hidden}.project-detail-media-frame img,.project-detail-media-frame video{background:#080808;border-radius:0;width:100%;height:auto;display:block}.project-detail-nav{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem 1.5rem;margin-top:clamp(2rem,4vw,3.5rem);padding:0 0 3.5rem;display:flex}.project-detail-nav-link{color:var(--text-primary);font-family:var(--font-ui);align-items:center;gap:.5rem;font-size:.9rem;font-weight:700;display:inline-flex}.project-detail-nav-label{font-family:var(--font-ui);color:var(--text-muted);letter-spacing:.015em;text-transform:uppercase;font-size:.75rem;font-weight:600}.project-theme-comparison{--comparison-position:50%;aspect-ratio:2174/1369;cursor:ew-resize;touch-action:pan-y;-webkit-user-select:none;user-select:none;background:#080808;width:100%;position:relative;overflow:hidden}.project-theme-comparison-image{position:absolute;inset:0}.project-theme-comparison-image img{object-fit:cover;object-position:left top;width:100%;height:100%}.project-theme-comparison-dark{z-index:1;clip-path:inset(0 calc(100% - var(--comparison-position)) 0 0)}.project-theme-comparison-divider{z-index:3;top:0;bottom:0;left:var(--comparison-position);pointer-events:none;background:#ffffffe6;width:2px;position:absolute;transform:translate(-1px);box-shadow:0 0 0 1px #00000026}.project-theme-comparison-divider:before{content:"";background:#0f0f0fc7;border:1px solid #fffc;border-radius:0;width:2.2rem;height:2.6rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 .35rem 1.1rem #00000038}.project-theme-comparison-divider span{z-index:1;color:#fff;font-family:var(--font-body);font-size:1.15rem;line-height:1;position:absolute;top:50%;transform:translateY(-55%)}.project-theme-comparison-divider span:first-child{right:.18rem}.project-theme-comparison-divider span:last-child{left:.18rem}.project-theme-comparison input[type=range]{z-index:4;opacity:0;cursor:ew-resize;pointer-events:none;touch-action:pan-y;width:100%;height:100%;margin:0;position:absolute;inset:0}.project-theme-comparison:has(input:focus-visible){outline:2px solid var(--text-primary);outline-offset:3px}.project-image-trigger{cursor:pointer;background:0 0;border:0;width:100%;padding:0;display:block}.project-image-trigger:focus-visible{outline:2px solid var(--text-primary);outline-offset:3px}.project-image-viewer{background:0 0;border:0;width:calc(100vw - 2rem);max-width:none;height:calc(100dvh - 2rem);max-height:none;margin:auto;padding:0;overflow:hidden}.project-image-viewer::backdrop{backdrop-filter:blur(3px);background:#000000f7}.project-image-viewer-close{z-index:2;top:max(1rem, env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right));color:#fff;width:3rem;height:3rem;font-family:var(--font-body);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;font-size:2.75rem;font-weight:300;line-height:1;transition:opacity .2s;display:grid;position:fixed}.project-image-viewer-close:hover{opacity:.68}.project-image-viewer-close>span:last-child{display:block;transform:translateY(-.06em)}.project-image-viewer-close:focus-visible{text-shadow:0 0 .45rem #ffffffb8;outline:none}.project-image-viewer-canvas{overscroll-behavior:contain;scrollbar-color:#ffffff4d transparent;justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:auto}.project-image-viewer-zoom{cursor:pointer;touch-action:pan-x pan-y pinch-zoom;background:0 0;border:0;flex:none;padding:0;display:block}.project-image-viewer-zoom img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:auto;max-width:calc(100vw - 2rem);height:auto;max-height:calc(100dvh - 2rem);display:block}.project-image-viewer-zoom.is-zoomed{cursor:pointer}.project-image-viewer-zoom.is-zoomed img{max-width:none;max-height:none}.project-image-viewer-zoom:focus-visible{outline-offset:-2px;outline:2px solid #fff}@media (width>=720px){.project-detail-overview-body ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 2.5rem}.project-detail-overview-body li:nth-child(odd){padding-right:0}.project-detail-overview-body li:nth-child(2n){padding-left:1.25rem}.project-detail-overview-body li:nth-child(2n):before{left:0}}@media (width>=900px){.project-detail-main{gap:3.5rem}.project-detail-intro{grid-template-columns:minmax(0,1fr);gap:1.5rem}.project-detail-media-row{grid-template-columns:14rem minmax(0,1fr);align-items:start;gap:2.5rem}.project-detail-media-copy{position:sticky;top:5.5rem}}@media (width<=719px){.project-detail-nav{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-detail-nav-link{overflow-wrap:anywhere;min-width:0}.project-detail-nav-link:last-child{justify-content:flex-end}.project-detail-nav-link:nth-child(2){text-align:center;order:3;grid-column:1/-1;justify-self:center}.site-header-inner:not(.site-header-project){flex-wrap:wrap;gap:.75rem}.site-header-links{order:3;justify-content:space-between;width:100%}.home-main>.hero-layout{min-height:0;padding-top:8.5rem}.hero-floral{opacity:1;justify-self:center;width:min(120%,35rem);margin:-1rem -10% -2rem;position:relative;bottom:auto;right:auto;-webkit-mask-image:none;mask-image:none}.hero-content{grid-template-columns:minmax(0,1fr);gap:2rem;padding-top:0}.hero-copy{max-width:none}}@media (prefers-reduced-motion:reduce){.floral-trail{display:none}:root{--footer-reveal:1}.site-lift{box-shadow:none;margin-bottom:0}.site-footer{height:auto;max-height:none;position:relative;overflow:visible}.site-footer[data-visible=false]{visibility:visible;pointer-events:auto}.footer-inner,.footer-cta,.footer-bottom,.footer-copy{opacity:1;filter:none;transform:none}.site-nav[data-past-hero=true]{animation:none}.overview-toggle-icon path,.marker-label:before{transition:none}:is(.hero-action-primary,.footer-cta-primary,.project-detail-visit),:is(.hero-action-primary,.footer-cta-primary,.project-detail-visit):is(:hover,:focus-visible){--paper-frame:7}.hero-action-link,.project-card-arrow,.project-card-media img,.language-menu-trigger,.footer-cta-primary,.project-detail-visit{transition:none!important}.site-header-inner,.language-menu-panel,.language-menu-chevron,.project-header-back{transition-duration:.01ms!important;animation-duration:.01ms!important}::view-transition-group(site-brand),::view-transition-old(root),::view-transition-new(root){animation-duration:.01ms}}.section-heading{color:var(--text-primary);font-family:var(--font-heading);letter-spacing:-.035em;text-wrap:balance;margin:0 0 clamp(1.75rem,3.5vw,2.75rem);font-size:clamp(2.25rem,4.5vw,3.5rem);font-weight:800;line-height:1.05}@media (width>=720px){.project-featured-group>.project-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:2.5rem}}@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}
