@font-face{font-family:Anton;src:url('./fonts/Anton-Regular.ttf') format('truetype');font-display:swap;font-weight:var(--weight-regular)}
@font-face{font-family:Antonio;src:url('./fonts/Antonio.ttf') format('truetype');font-display:swap}
@font-face{font-family:Poppins;src:url('./fonts/Poppins-Regular.ttf') format('truetype');font-display:swap;font-weight:var(--weight-regular)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-height) + var(--space-xl));background:var(--color-dark);color-scheme:dark}
body{margin:var(--length-zero);background:var(--color-dark);color:var(--color-light);font:var(--type-body)/var(--leading-body) var(--font-body);overflow-x:clip}
::selection{background:var(--color-accent);color:var(--color-dark)}
::-webkit-scrollbar{width:var(--space-2xs)}::-webkit-scrollbar-track{background:var(--color-dark)}::-webkit-scrollbar-thumb{background:var(--neutral-600);border-radius:var(--radius-pill)}
a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}button,a,input,textarea{-webkit-tap-highlight-color:transparent}
button{color:inherit;border:var(--length-zero);background:none}button:disabled{opacity:var(--opacity-soft);cursor:wait}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}
img{display:block;max-width:var(--extent-full);height:auto}svg{display:block}p{margin:var(--length-zero) var(--length-zero) var(--space-m)}
h1,h2,h3{margin:var(--length-zero);font-family:var(--font-display);font-weight:var(--weight-regular);line-height:var(--leading-display);text-wrap:balance}
h2{font-size:var(--type-section)}h3{font-size:var(--type-card)}em{font-style:normal;color:var(--color-accent)}
[hidden]{display:none!important}.visually-hidden{position:absolute;width:var(--border-width);height:var(--border-width);overflow:hidden;clip-path:inset(var(--extent-half));white-space:nowrap}
.skip-link{position:fixed;top:var(--space-s);left:var(--space-s);z-index:var(--z-dialog);background:var(--color-accent);color:var(--color-dark);padding:var(--space-s);transform:translateY(calc(var(--extent-full)*var(--number-negative-one) - var(--space-xl)))}.skip-link:focus{transform:none}
.icon{width:var(--icon-size);height:var(--icon-size);fill:none;stroke:currentColor;stroke-width:var(--stroke-doodle);stroke-linecap:round;stroke-linejoin:round}
.icon-button{display:grid;place-items:center;min-width:var(--control-min);min-height:var(--control-min);border-radius:var(--radius-pill)}
.section-wrap{width:min(var(--extent-full),var(--container-max));margin-inline:auto;padding:var(--section-space) var(--gutter-page)}
.navigation{position:absolute;z-index:var(--z-nav);top:var(--nav-top);left:var(--extent-half);transform:translateX(calc(var(--extent-half)*var(--number-negative-one)));display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-3xs) var(--space-2xs);border-radius:var(--radius-pill);background:var(--color-light);color:var(--color-dark);box-shadow:var(--elevation-panel)}
.brand{display:grid;place-items:center;width:var(--control-min);height:var(--control-min)}.brand img{width:var(--icon-size);height:var(--icon-size)}
.navigation nav{display:flex;align-items:center;gap:var(--space-3xs)}.navigation nav a{font-family:var(--font-display);font-size:var(--type-nav);padding:var(--space-2xs) var(--space-s);border-radius:var(--radius-pill);transition:background var(--motion-fast) var(--ease-ui)}.navigation a:hover,.navigation a.active{background:var(--color-accent)}.menu-toggle{display:none}
.mobile-menu{position:absolute;top:calc(var(--nav-top) + var(--nav-height) + var(--space-xs));left:var(--gutter-page);right:var(--gutter-page);z-index:var(--z-nav);background:var(--color-light);color:var(--color-dark);padding:var(--space-m);border-radius:var(--radius-media)}.mobile-menu a{display:block;min-height:var(--control-min);padding-block:var(--space-xs)}
.hero{position:relative;height:var(--hero-height);min-height:var(--hero-photo-min-height);isolation:isolate;overflow:hidden;background:var(--color-dark)}
.hero-glow{position:absolute;z-index:var(--z-gradient);width:min(calc(var(--viewport-full) * var(--gradient-diameter-factor)),var(--gradient-diameter));aspect-ratio:var(--ratio-square);left:var(--gradient-center-x);top:var(--gradient-center-y);transform:translate(calc(var(--extent-half) * var(--number-negative-one)),calc(var(--extent-half) * var(--number-negative-one)));background:url('./assets/glow.webp') center/contain no-repeat;mask-image:var(--hero-glow-mask);pointer-events:none}

.hero-name{position:absolute;z-index:var(--z-backdrop-name);width:min(var(--backdrop-name-max),var(--extent-full));height:auto;left:var(--extent-half);top:var(--extent-half);transform:translate(calc(var(--extent-half)*var(--number-negative-one)),calc(var(--extent-half)*var(--number-negative-one)));mix-blend-mode:var(--backdrop-name-blend-mode);opacity:var(--backdrop-name-opacity);pointer-events:none}
.portrait{position:absolute;inset:var(--length-zero);z-index:var(--z-portrait-stylized)}.portrait img,.portrait canvas{position:absolute;inset:var(--length-zero);width:var(--extent-full);height:var(--extent-full);object-fit:cover;object-position:var(--hero-photo-position)}#portrait-styled{z-index:var(--z-background)}#portrait-base{z-index:var(--z-content)}#portrait-canvas{z-index:var(--z-texture);opacity:var(--opacity-hidden)}.portrait.ready #portrait-canvas{opacity:var(--opacity-visible)}.portrait.ready #portrait-base{opacity:var(--opacity-hidden)}.portrait.touch-active{touch-action:none}
.social-orbit{position:absolute;inset:var(--length-zero);pointer-events:none;z-index:var(--z-nav)}.social{pointer-events:auto;position:absolute;display:grid;place-items:center;width:var(--control-min);height:var(--control-min);border:var(--border-width) solid var(--neutral-300);border-radius:var(--radius-pill);color:var(--color-light);transition:background var(--motion-fast),color var(--motion-fast)}.social:hover{background:var(--color-accent);color:var(--color-dark);border-color:var(--color-accent)}.social span{animation:socialFloat var(--social-float-duration) var(--social-float-ease) infinite alternate}.social:hover span,.social:focus-visible span{animation-play-state:paused}.instagram{left:var(--hero-social-left);top:var(--hero-social-top)}.linkedin{left:var(--hero-social-right);top:var(--hero-social-top)}.youtube{left:var(--hero-social-right);top:var(--hero-social-bottom)}.linkedin span{animation-delay:var(--social-float-delay)}.youtube span{animation-delay:calc(var(--social-float-delay) * var(--number-two))}
.wipe-hint{position:absolute;left:var(--hero-hint-x);top:var(--hero-hint-y);z-index:var(--z-nav);pointer-events:none;display:grid;justify-items:center;transform:rotate(var(--motion-tilt));font:var(--type-caption)/var(--leading-label) var(--font-display)}.wipe-hint svg{width:var(--space-3xl);height:auto;fill:none;stroke:var(--color-light);stroke-width:var(--stroke-doodle);stroke-linecap:round;stroke-linejoin:round}
.hero-tools{position:absolute;bottom:var(--hero-tool-bottom);left:var(--gutter-page);z-index:var(--z-nav);display:flex;gap:var(--space-s)}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--gap-inline);min-height:var(--control-min);font-size:var(--type-caption);text-decoration:underline;text-decoration-thickness:var(--border-width);text-underline-offset:var(--space-3xs)}#touch-brush{display:none}
.hero-signature{position:absolute;left:max(var(--gutter-page),calc((var(--viewport-full) - var(--container-max)) * var(--fraction-half) + var(--gutter-page)));right:max(var(--gutter-page),calc((var(--viewport-full) - var(--container-max)) * var(--fraction-half) + var(--gutter-page)));bottom:var(--hero-signature-bottom);z-index:var(--z-nav);display:flex;align-items:center;gap:var(--space-l);font:var(--type-nav)/var(--leading-label) var(--font-display)}.hero-signature i{flex:var(--number-one);height:var(--signature-line-size);background:var(--neutral-300);transform-origin:left}.hero-signature span{animation:signatureIn var(--motion-signature) var(--ease-enter) both}.hero-signature i{animation:lineIn var(--motion-signature) var(--ease-enter) both;animation-delay:var(--motion-signature-delay)}.hero-signature span:last-child{animation-delay:calc(var(--motion-signature-delay) * var(--number-two))}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-l);margin-bottom:var(--space-l-xl);position:relative}.section-heading h2{font-size:var(--type-hero)}.section-heading p{margin:var(--length-zero);max-width:var(--measure-prose);color:var(--neutral-300)}.heading-mark{position:absolute;left:var(--extent-half);bottom:var(--length-zero);width:var(--space-3xl);fill:none;stroke:var(--color-accent);stroke-width:var(--stroke-doodle);stroke-linecap:round}
.featured{padding-top:var(--space-xl-2xl)}.featured-case{display:grid;grid-template-columns:minmax(var(--length-zero),var(--grid-fraction)) minmax(var(--length-zero),var(--grid-fraction));gap:var(--case-layout-gap);padding:var(--panel-padding);border-radius:var(--radius-panel)}.light-surface{background:var(--color-light);color:var(--color-dark);color-scheme:light}.feature-art{position:relative;overflow:hidden;border-radius:var(--radius-media);background:var(--color-dark);padding:var(--length-zero);min-height:var(--story-portrait-height)}.feature-art img{width:var(--extent-full);height:var(--extent-full);object-fit:cover;object-position:center;transition:transform var(--motion-editorial) var(--ease-enter)}.feature-art:hover img{transform:scale(var(--motion-hover-scale))}.feature-copy{padding:var(--space-m)}.feature-copy h3{font-size:var(--type-section);margin-block:var(--space-m)}.content-note{font-size:var(--type-caption);color:var(--text-secondary)}.light-surface .content-note{color:var(--neutral-600)}.feature-copy p{max-width:var(--measure-prose)}.mini-gallery{display:grid;grid-template-columns:repeat(var(--column-pair),minmax(var(--length-zero),var(--grid-fraction)));gap:var(--space-s);margin-block:var(--space-m)}.mini-gallery img{width:var(--extent-full);aspect-ratio:var(--ratio-cover);object-fit:cover;background:var(--neutral-700);border-radius:var(--radius-media)}.small-copy{font-size:var(--type-caption);color:var(--neutral-600)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-m);min-height:var(--control-min);padding:var(--space-s) var(--space-m);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-dark);font-size:var(--type-nav);transition:transform var(--motion-menu) var(--ease-enter),background var(--motion-fast)}.button:hover{transform:translateY(calc(var(--space-3xs) * var(--number-negative-one)))}.button .icon{transition:transform var(--motion-menu) var(--ease-enter)}.button:hover .icon{transform:translate(var(--space-3xs),calc(var(--space-3xs)*var(--number-negative-one)))}.dark-button{background:var(--color-dark);color:var(--color-light)}.media-label{position:absolute;left:var(--space-m);bottom:var(--space-m);font:var(--type-caption)/var(--leading-label) var(--font-label);color:var(--color-light)}.open-badge{position:absolute;right:var(--space-m);bottom:var(--space-m);display:grid;place-items:center;min-width:var(--control-min);min-height:var(--control-min);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-dark)}
.about{display:grid;grid-template-columns:var(--about-picture-width) minmax(var(--length-zero),var(--grid-fraction));gap:var(--space-2xl-3xl);align-items:center}.about-portrait{position:relative}.about-portrait img{width:var(--extent-full);aspect-ratio:var(--ratio-portrait);object-fit:cover;object-position:var(--portrait-demo-position);border-radius:var(--radius-media);background:var(--neutral-800)}.hand-note{display:block;margin-top:var(--space-m);color:var(--color-accent);font:var(--type-lead)/var(--leading-label) var(--font-subtitle);transform:rotate(var(--motion-tilt))}.about-portrait svg{position:absolute;right:var(--length-zero);bottom:var(--length-zero);width:var(--space-xl);fill:none;stroke:var(--color-accent);stroke-width:var(--stroke-doodle)}.about-copy h2{margin-bottom:var(--space-l)}.about-copy p{color:var(--neutral-300);max-width:var(--measure-prose)}.specialties{display:flex;flex-wrap:wrap;gap:var(--space-2xs);margin-block:var(--space-m)}.specialties span{border:var(--border-width) solid var(--neutral-600);padding:var(--space-2xs) var(--space-s);border-radius:var(--radius-pill);font-size:var(--type-caption)}.text-link{display:inline-flex;gap:var(--gap-inline);align-items:center;min-height:var(--control-min);color:var(--color-accent)}
.filters{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-m)}.filters button{min-height:var(--control-min);padding:var(--space-xs) var(--space-s);border:var(--border-width) solid var(--neutral-600);border-radius:var(--radius-pill);font-size:var(--type-caption)}.filters .selected{background:var(--color-accent);color:var(--color-dark);border-color:var(--color-accent)}
.project-grid{display:grid;grid-template-columns:repeat(var(--column-pair),minmax(var(--length-zero),var(--grid-fraction)));gap:var(--space-l-xl)}.project-card{text-align:left;display:block;padding:var(--length-zero)}.card-art{position:relative;height:var(--card-media-height);overflow:hidden;border-radius:var(--radius-media);background:var(--neutral-800)}.card-art img{width:var(--extent-full);height:var(--extent-full);object-fit:cover;transition:transform var(--motion-editorial) var(--ease-enter)}.project-card:hover .card-art img{transform:scale(var(--motion-hover-scale))}.project-card .card-details{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-s)}.project-card h3{font-family:var(--font-subtitle);font-size:var(--type-subsection)}.project-card p{font-size:var(--type-caption);color:var(--neutral-300);margin:var(--length-zero)}.raven-art img{object-fit:contain}.project-card .open-badge{opacity:var(--opacity-hidden);transform:translateY(var(--space-s));transition:opacity var(--motion-menu),transform var(--motion-menu)}.project-card:hover .open-badge,.project-card:focus-visible .open-badge{opacity:var(--opacity-visible);transform:none}
.journal{border-top:var(--border-width) solid var(--neutral-700)}.journal-grid{display:grid;grid-template-columns:repeat(var(--column-pair),minmax(var(--length-zero),var(--grid-fraction)));gap:var(--gap-grid)}.journal-card{padding:var(--length-zero);text-align:left}.journal-cover{height:var(--card-media-height);position:relative;overflow:hidden;border-radius:var(--radius-media);background:var(--neutral-800)}.journal-cover img{height:var(--extent-full);width:var(--extent-full);object-fit:cover;transition:transform var(--motion-editorial) var(--ease-enter)}.journal-card:hover img{transform:scale(var(--motion-hover-scale))}.journal-cover span{position:absolute;bottom:var(--space-m);right:var(--space-m)}.journal-card .content-note{display:block;margin-top:var(--space-m)}.journal-card h3{font-family:var(--font-subtitle);font-size:var(--type-subsection);margin-top:var(--space-xs)}.raven-cover img{object-fit:contain}
.experience{position:relative;isolation:isolate;display:grid;place-items:center;min-height:var(--experience-height);overflow:hidden;background:var(--color-accent);color:var(--color-dark);padding:var(--section-space) var(--gutter-page)}.raven-parallax{position:absolute;left:var(--length-zero);bottom:var(--length-zero);width:var(--raven-width);z-index:var(--z-content);pointer-events:none}.experience-copy{position:relative;z-index:var(--z-texture);text-align:center;max-width:var(--measure-prose)}.experience h2{font-size:var(--type-hero);margin-bottom:var(--space-m)}.experience em{color:var(--color-dark)}.experience .button{background:var(--color-dark);color:var(--color-light)}.experience .text-button{display:flex;margin:var(--space-s) auto var(--length-zero)}
.contact{display:grid;grid-template-columns:minmax(var(--length-zero),var(--grid-fraction)) minmax(var(--length-zero),var(--grid-fraction));gap:var(--space-2xl)}.contact-intro h2{font-size:var(--type-section);margin-bottom:var(--space-l)}.contact-intro p{color:var(--neutral-300)}.contact-arrow{width:var(--space-3xl);fill:none;stroke:var(--color-accent);stroke-width:var(--stroke-doodle);margin-bottom:var(--space-l)}.contact-email{display:block;font-size:var(--type-caption);color:var(--color-accent)}.contact-form{display:grid;gap:var(--space-m)}.field-row{display:grid;grid-template-columns:repeat(var(--column-pair),minmax(var(--length-zero),var(--grid-fraction)));gap:var(--space-m)}.field{display:grid;gap:var(--space-2xs)}label{font-size:var(--type-caption)}label span{color:var(--color-accent)}label .optional{color:var(--neutral-300)}input,textarea{width:var(--extent-full);min-height:var(--contact-field-height);padding:var(--space-s);border:var(--border-width) solid var(--neutral-600);border-radius:var(--radius-control);color:var(--color-light);background:var(--neutral-800);caret-color:var(--color-accent);font-size:var(--type-caption)}textarea{min-height:var(--text-area-height);resize:vertical}input::placeholder,textarea::placeholder{color:var(--neutral-300)}.field-error{font-size:var(--type-caption);color:var(--color-accent)}.field-error:empty{display:none}.privacy-copy,.preview-note{font-size:var(--type-caption);color:var(--neutral-300);margin:var(--length-zero)}.submit-button{justify-self:start}#form-status{margin:var(--length-zero);font-size:var(--type-caption);color:var(--color-accent)}
.footer{padding-block:var(--space-l);display:flex;align-items:center;justify-content:space-between;gap:var(--space-m);border-top:var(--border-width) solid var(--neutral-700);font-size:var(--type-caption);color:var(--neutral-300)}.footer-brand{display:flex;align-items:center;gap:var(--space-xs);font-family:var(--font-display);color:var(--color-light)}.footer-brand img{width:var(--control-min);height:var(--control-min);padding:var(--space-2xs);background:var(--color-light);border-radius:var(--radius-pill)}.footer>a:last-child{display:flex;align-items:center;gap:var(--space-xs);min-height:var(--control-min)}
dialog{padding:var(--panel-padding);border:var(--length-zero);border-radius:var(--radius-panel);background:var(--color-light);color:var(--color-dark);color-scheme:light;width:min(calc(var(--extent-full) - var(--gutter-page)*var(--number-two)),var(--dialog-width));max-height:var(--dialog-max-height)}dialog::backdrop{background:var(--surface-overlay)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-m);margin-bottom:var(--space-m);font-size:var(--type-caption)}.dialog-top .icon-button:hover{background:var(--color-accent)}.dialog-story h2{margin-bottom:var(--space-m)}.dialog-story p{max-width:var(--measure-prose);margin-block:var(--space-m)}.dialog-story>img{width:var(--extent-full);aspect-ratio:var(--ratio-video);object-fit:cover;background:var(--color-dark);border-radius:var(--radius-media)}.dialog-story.portrait-story{display:grid;grid-template-columns:var(--case-portrait-column) minmax(var(--length-zero),var(--grid-fraction));gap:var(--case-layout-gap)}.dialog-story.portrait-story>img{aspect-ratio:var(--ratio-portrait-story);height:auto;object-fit:cover;object-position:center}.dialog-gallery{display:grid;grid-template-columns:repeat(var(--column-pair),minmax(var(--length-zero),var(--grid-fraction)));gap:var(--gap-gallery);margin-block:var(--space-l)}.dialog-gallery img{width:var(--extent-full);aspect-ratio:var(--ratio-cover);object-fit:cover;border-radius:var(--radius-media);background:var(--color-dark)}.dialog-story a{color:var(--color-dark)}
.custom-cursor{position:fixed;top:var(--length-zero);left:var(--length-zero);z-index:var(--z-cursor);pointer-events:none;width:var(--cursor-ring-size);height:var(--cursor-ring-size);border:var(--border-width) solid var(--color-accent);border-radius:var(--radius-pill);display:grid;place-items:center;opacity:var(--opacity-hidden)}.custom-cursor span{display:none}.custom-cursor.visible{opacity:var(--opacity-visible)}.custom-cursor.eraser{border:var(--length-zero);color:var(--color-accent);background:var(--color-dark)}.custom-cursor.eraser span{display:block}.custom-cursor.interactive{background:var(--color-accent);width:var(--cursor-interactive-size);height:var(--cursor-interactive-size);mix-blend-mode:difference}
.reveal{opacity:var(--opacity-visible)}.motion-enabled .reveal{transition:opacity var(--motion-editorial) var(--ease-enter),transform var(--motion-editorial) var(--ease-enter)}.motion-enabled .reveal.pending{opacity:var(--opacity-hidden);transform:translateY(var(--motion-distance))}
@keyframes signatureIn{from{opacity:var(--opacity-hidden);transform:translateY(var(--space-l))}to{opacity:var(--opacity-visible);transform:translateY(var(--length-zero))}}
@keyframes lineIn{from{transform:scaleX(var(--number-zero))}to{transform:scaleX(var(--number-one))}}
@keyframes socialFloat{from{transform:translateY(calc(var(--social-float-travel)*var(--number-negative-one)))}to{transform:translateY(var(--social-float-travel))}}
body.motion-paused .social span{animation-play-state:paused}
@media (hover:hover) and (pointer:fine){body.cursor-enabled,body.cursor-enabled a,body.cursor-enabled button{cursor:none}}
/* Generated from --layout-breakpoint. */
@media (max-width:48rem){
 .navigation{top:var(--space-s);padding:var(--space-3xs) var(--space-s);gap:var(--space-2xl);}.navigation nav{display:none}.menu-toggle{display:grid}
 .hero{height:var(--hero-height-mobile)}.portrait{width:var(--extent-full);height:calc(var(--hero-height-mobile)*var(--mobile-portrait-height-factor));left:var(--length-zero);right:auto;top:auto;bottom:var(--length-zero);transform:none}
 .social-orbit{inset:auto var(--gutter-page) var(--hero-tool-bottom);display:flex;gap:var(--social-gap);justify-content:flex-end}.social{position:static}.hero-tools{bottom:calc(var(--hero-tool-bottom) + var(--space-xl));flex-direction:column;align-items:flex-start;gap:var(--length-zero)}#touch-brush{display:flex}
 .wipe-hint{display:none}.wipe-hint svg{width:var(--space-xl)}.hero-signature{gap:var(--space-s);font-size:var(--type-caption)}
 .section-heading{display:block}.section-heading p{margin-top:var(--space-m)}.heading-mark{display:none}.section-heading h2{font-size:var(--type-section)}
 .featured-case,.contact,.about,.dialog-story.portrait-story{grid-template-columns:minmax(var(--length-zero),var(--grid-fraction))}.feature-art{min-height:auto;aspect-ratio:var(--ratio-portrait-story)}.feature-copy{padding:var(--space-xs)}.feature-copy h3{font-size:var(--type-subsection)}
 .about{gap:var(--space-l)}.about-portrait{width:min(var(--extent-full),var(--about-picture-width));margin-inline:auto}.project-grid,.journal-grid,.field-row{grid-template-columns:minmax(var(--length-zero),var(--grid-fraction))}.project-card:nth-child(even){margin-top:var(--length-zero)}
 .raven-parallax{width:var(--about-picture-width);left:calc(var(--space-3xl)*var(--number-negative-one));opacity:var(--opacity-soft)}.experience h2{font-size:var(--type-section)}.contact{gap:var(--space-l)}.contact-arrow{display:none}.contact-email{margin-top:var(--space-m)}
 .footer{flex-direction:column;align-items:flex-start}.dialog-story.portrait-story>img{max-height:var(--story-portrait-height)}.custom-cursor{display:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-signature span,.hero-signature i,.social span{animation:none}.motion-enabled .reveal.pending{opacity:var(--opacity-visible);transform:none}.reveal,.button,.button .icon,.project-card img,.feature-art img,.journal-cover img{transition:none}.custom-cursor{display:none}.raven-parallax{transform:none!important}}

.card-preview{width:var(--extent-full);height:var(--extent-full);object-fit:cover}.experience-video{position:absolute;inset:var(--length-zero);width:var(--extent-full);height:var(--extent-full);object-fit:cover;z-index:var(--z-background)}.gallery-controls{display:flex;justify-content:space-between;gap:var(--space-m);margin-top:var(--space-m)}#expanded-image{max-height:var(--dialog-max-height);width:var(--extent-full);object-fit:contain}


.navigation,.mobile-menu,.light-surface,.experience,dialog{--focus-color:var(--color-dark)}
@media (hover:hover) and (pointer:fine){body.cursor-enabled a.social,body.cursor-enabled a.social *{cursor:pointer}}

.story-video{width:var(--extent-full);aspect-ratio:var(--ratio-video);border:var(--length-zero);border-radius:var(--radius-media);background:var(--color-dark)}.portrait-story>.story-video{aspect-ratio:var(--ratio-portrait-story)}

/* All new values come from the registered revision tokens. */
.navigation{position:fixed;max-width:calc(var(--extent-full) - var(--gutter-page)*var(--number-two));z-index:var(--z-nav)}
.navigation nav{position:relative;isolation:isolate}
.navigation nav a{position:relative;z-index:var(--z-content);display:flex;align-items:center;min-height:var(--control-min);color:var(--neutral-600);transition:color var(--nav-pill-duration) var(--nav-pill-ease);background:transparent}
.navigation nav a:hover,.navigation nav a.active{background:transparent;color:var(--color-dark)}
.nav-pill{position:absolute;top:var(--length-zero);left:var(--length-zero);height:var(--extent-full);width:var(--nav-pill-initial-width);border-radius:var(--radius-pill);background:var(--color-accent);z-index:var(--z-background);transition:left var(--nav-pill-duration) var(--nav-pill-ease),width var(--nav-pill-duration) var(--nav-pill-ease)}
.mobile-menu{position:fixed}
.social{background:none;border:var(--length-zero);border-radius:var(--length-zero);width:var(--social-target-size);height:var(--social-target-size);filter:var(--social-shadow)}
.social:hover,.social:focus-visible{background:none;border:var(--length-zero);color:var(--color-accent)}
.social:hover .icon,.social:focus-visible .icon{transform:scale(var(--motion-hover-scale))}.social .icon{transition:color var(--motion-fast),transform var(--motion-menu)}
#portrait-styled{display:none}#portrait-canvas{opacity:var(--opacity-visible)}
.hero.textured{position:sticky;top:var(--length-zero);z-index:var(--z-background);background:var(--color-dark)}
.portrait{transform:rotate(var(--mouse-photo-tilt));transition:transform var(--hero-depth-settle) var(--ease-ui);animation:heroPhotoEnter var(--motion-signature) var(--ease-enter) backwards;animation-delay:calc(var(--hero-stagger)*var(--number-two))}
.hero-glow{background:none;mask-image:none;transform:translate(calc(var(--extent-half)*var(--number-negative-one)),calc(var(--extent-half)*var(--number-negative-one))) translate(var(--mouse-glow-x),var(--mouse-glow-y));transition:transform var(--hero-depth-settle) var(--ease-ui);animation:heroLayerEnter var(--motion-signature) var(--ease-enter) backwards}
.hero-glow i{position:absolute;inset:var(--length-zero);background:url('./assets/glow.webp') center/contain no-repeat;mask-image:var(--hero-glow-mask);animation:glowBreath var(--glow-cycle-a) var(--glow-ease) infinite;animation-play-state:paused}
.hero-glow i:nth-child(2){opacity:var(--glow-secondary-opacity);animation-name:glowBreathSoft;animation-duration:var(--glow-cycle-b);animation-delay:calc(var(--glow-cycle-a)*var(--fraction-half)*var(--number-negative-one))}
.hero-glow i:nth-child(3){opacity:var(--glow-tertiary-opacity);animation-name:glowBreathSoft;animation-duration:var(--glow-cycle-c);animation-delay:calc(var(--glow-cycle-c)*var(--number-negative-one))}
.hero-visible:not(.hero-covered) .hero-glow i{animation-play-state:running;will-change:transform,opacity}
.hero-covered .hero-glow i{will-change:auto}
.hero-name{transform:translate(calc(var(--extent-half)*var(--number-negative-one)),calc(var(--extent-half)*var(--number-negative-one))) translate(var(--mouse-name-x),var(--mouse-name-y));transition:transform var(--hero-depth-settle) var(--ease-ui);animation:heroNameEnter var(--motion-signature) var(--ease-enter) backwards;animation-delay:var(--hero-stagger)}
.hero.pointer-active .portrait,.hero.pointer-active .hero-name{will-change:transform}
.hero-signature span,.hero-signature i{animation-delay:calc(var(--hero-stagger)*var(--column-triple))}
.hero-signature span:last-child{animation-delay:calc(var(--hero-stagger)*var(--column-triple) + var(--motion-signature-delay)*var(--number-two))}
.hero-signature i{animation-delay:calc(var(--hero-stagger)*var(--column-triple) + var(--motion-signature-delay))}
.token-gauge{position:fixed;height:var(--length-zero);top:var(--length-zero);left:var(--length-zero);visibility:hidden;pointer-events:none}
.textured{position:relative;isolation:isolate}
.textured::before{content:'';position:absolute;inset:var(--length-zero);width:var(--viewport-full);left:var(--extent-half);right:auto;transform:translateX(calc(var(--extent-half)*var(--number-negative-one)));background:url('./texture-mirrored.svg') center calc(var(--texture-document-y)*var(--number-negative-one))/var(--texture-mosaic-size) repeat;opacity:var(--texture-opacity);mix-blend-mode:var(--texture-blend-mode);pointer-events:none;z-index:var(--z-background)}
.textured:not(.hero)>:not(.raven-parallax):not(.experience-video):not(.footer-glow){position:relative;z-index:var(--z-content)}
.section-wrap.textured{background:var(--color-dark);z-index:var(--z-content)}
.section-wrap.textured::after{content:'';position:absolute;top:var(--length-zero);bottom:var(--length-zero);left:var(--extent-half);width:var(--viewport-full);transform:translateX(calc(var(--extent-half)*var(--number-negative-one)));background:var(--color-dark);z-index:var(--number-negative-one);pointer-events:none}
.hero::before{z-index:var(--z-texture)}
.featured{padding-top:var(--length-zero)}
.featured .featured-intro{position:sticky;top:calc(var(--nav-top) + var(--nav-height));min-height:var(--featured-text-height);margin-bottom:var(--length-zero);align-items:center;z-index:var(--z-content)}
.effect-phrase{display:grid;justify-items:start;gap:var(--arrow-gap)}
.continuous-arrow{width:var(--arrow-width);height:auto;fill:none;stroke:currentColor;stroke-width:var(--stroke-doodle);stroke-linecap:round;stroke-linejoin:round;animation:arrowFloat var(--arrow-float-cycle) var(--glow-ease) infinite alternate;color:var(--color-accent)}
[data-arrow]{display:block}
.featured .featured-case{position:relative;z-index:var(--z-cover);margin-top:calc(var(--cover-overlap)*var(--number-negative-one))}
.about-section>.about{width:min(var(--extent-full),var(--about-block-max));margin-inline:auto;text-align:left}
.about-portrait{isolation:isolate}
.about-portrait [data-arrow]{margin-top:var(--arrow-gap)}
.about-portrait svg.continuous-arrow{position:static;width:var(--arrow-width);right:auto;bottom:auto;stroke:currentColor}
.about-portrait::before{content:'';position:absolute;inset:calc(var(--space-xl)*var(--number-negative-one));background:url('./assets/glow.webp') center/contain no-repeat;opacity:var(--secondary-glow-opacity);z-index:var(--number-negative-one);pointer-events:none;animation:glowBreathSoft var(--glow-cycle-b) var(--glow-ease) infinite}
.about-copy p{text-align:left}
.project-grid{grid-template-columns:repeat(var(--column-triple),minmax(var(--length-zero),var(--grid-fraction)));gap:var(--gap-grid);align-items:start}
.project-card,.project-card:nth-child(even){margin-top:var(--length-zero)}
.card-art{height:auto;aspect-ratio:var(--ratio-cover)}.card-art img,.card-art video,.raven-art img{width:var(--extent-full);height:var(--extent-full);object-fit:cover}
.footer{display:grid;grid-template-columns:repeat(var(--column-triple),minmax(var(--length-zero),var(--grid-fraction)));align-items:center}
.footer>span{text-align:center}.footer>a:last-of-type{justify-self:end}
.copyright{grid-column:var(--number-one)/var(--number-negative-one);text-align:center;margin:var(--space-s) var(--length-zero) var(--length-zero);font-size:var(--type-caption);color:var(--neutral-300)}
.footer-glow{position:absolute!important;bottom:var(--length-zero);left:var(--extent-half);width:var(--gradient-accent-width);height:var(--experience-height);transform:translateX(calc(var(--extent-half)*var(--number-negative-one)));background:url('./assets/glow.webp') center bottom/contain no-repeat;opacity:var(--secondary-glow-opacity);z-index:var(--z-background)!important;pointer-events:none}
.custom-cursor{z-index:var(--z-cursor)}dialog .custom-cursor{position:fixed;overflow:visible}
@keyframes glowBreath{0%,100%{transform:scale(var(--glow-scale-low));opacity:var(--glow-opacity-low)}50%{transform:scale(var(--glow-scale-high));opacity:var(--glow-opacity-high)}}
@keyframes glowBreathSoft{0%,100%{transform:scale(var(--glow-scale-high));opacity:var(--glow-tertiary-opacity)}50%{transform:scale(var(--glow-scale-low));opacity:var(--glow-secondary-opacity)}}
@keyframes heroPhotoEnter{from{opacity:var(--opacity-hidden);transform:translateY(var(--motion-distance)) rotate(var(--angle-zero))}to{opacity:var(--opacity-visible);transform:translateY(var(--length-zero)) rotate(var(--mouse-photo-tilt))}}
@keyframes heroLayerEnter{from{opacity:var(--opacity-hidden)}to{opacity:var(--opacity-visible)}}
@keyframes heroNameEnter{from{opacity:var(--opacity-hidden)}to{opacity:var(--backdrop-name-opacity)}}
@keyframes arrowFloat{from{transform:translateY(var(--length-zero))}to{transform:translateY(var(--arrow-float-travel))}}
@media (max-width:64rem){.project-grid{grid-template-columns:repeat(var(--column-pair),minmax(var(--length-zero),var(--grid-fraction)))}}
@media (max-width:40rem){.project-grid{grid-template-columns:minmax(var(--length-zero),var(--grid-fraction))}}
/* Generated from --layout-breakpoint. */
@media (max-width:48rem){.navigation .nav-pill{display:none}.hero.textured{position:relative}.portrait{left:var(--length-zero);transform:rotate(var(--mouse-photo-tilt))}.featured .featured-intro{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:var(--space-m);min-height:var(--featured-text-height-mobile)}.effect-phrase{gap:var(--arrow-gap)}.featured .featured-case{margin-top:calc(var(--space-l)*var(--number-negative-one))}.about-section>.about{width:var(--extent-full)}.about-portrait svg.continuous-arrow{width:var(--arrow-width)}.footer{grid-template-columns:minmax(var(--length-zero),var(--grid-fraction))}.footer>span{text-align:left}.footer>a:last-of-type{justify-self:start}.copyright{text-align:center}.footer-glow{width:var(--extent-full)}}
@media(prefers-reduced-motion:reduce){.nav-pill,.navigation nav a,.hero-name,.hero-glow,.portrait{transition:none}.portrait,.hero-name,.hero-glow,.hero-glow i,.continuous-arrow,.about-portrait::before{animation:none!important;will-change:auto!important}.hero-name{opacity:var(--backdrop-name-opacity)}.hero-glow i{opacity:var(--glow-opacity-low)}.hero-glow i:nth-child(2),.hero-glow i:nth-child(3){display:none}}

.footer{overflow:clip}


.navigation-anchor{position:sticky;top:var(--nav-top);height:var(--length-zero);z-index:var(--z-nav)}.navigation-anchor>.navigation{position:absolute;top:var(--length-zero)}
body.motion-paused .hero.hero-visible .hero-glow i,body.motion-paused .continuous-arrow,body.motion-paused .about-portrait::before{animation-play-state:paused}

.featured-title-group{display:grid;gap:var(--arrow-gap);justify-items:start}

.featured .featured-intro{padding-bottom:var(--space-l)}

#portrait-reveal-canvas{z-index:var(--z-content)}.social .social-sketch{width:var(--social-icon-size);height:var(--social-icon-size);stroke-width:var(--social-sketch-stroke)}
/* Generated from --layout-breakpoint. */
@media (max-width:48rem){.social-orbit{bottom:var(--social-mobile-bottom)}}

/* The note points back to the portrait; animate the child as one arrow. */
.about-portrait [data-arrow="about"]{transform:rotate(var(--motion-half-turn));transform-origin:center}
#trabalhos{scroll-margin-top:calc((var(--nav-height) + var(--space-xl))*var(--number-negative-one))}

/* Keep the aligned portraits at their native ratio on wide displays. */
.portrait{width:var(--hero-portrait-width);left:calc((var(--viewport-full) - var(--hero-portrait-width))*var(--fraction-half));right:auto}
.hero-stage{position:absolute;top:var(--length-zero);bottom:var(--length-zero);left:calc((var(--viewport-full) - var(--hero-stage-width))*var(--fraction-half));width:var(--hero-stage-width);pointer-events:none;z-index:var(--z-nav)}
.hero-tools{left:max(var(--gutter-page),calc((var(--viewport-full) - var(--container-max))*var(--fraction-half) + var(--gutter-page)))}
/* Generated from --layout-breakpoint. */
@media (max-width:48rem){.portrait,.hero-stage{width:var(--extent-full);left:var(--length-zero)}.hero-name{top:calc(var(--extent-half)*var(--fraction-half))}}

/* Floating labels use CSS state alone, preserving IDs and native validation. */
.floating-field{position:relative;gap:var(--space-2xs)}
.floating-field>input,.floating-field>textarea{padding:var(--space-m) var(--space-s) var(--space-2xs)}
.floating-field>label{position:absolute;top:calc(var(--contact-field-height)*var(--fraction-half));left:var(--space-s);right:var(--space-s);transform:translateY(calc(var(--extent-half)*var(--number-negative-one)));transform-origin:left center;pointer-events:none;color:var(--neutral-300);transition:transform var(--float-label-duration) var(--ease-ui),color var(--float-label-duration) var(--ease-ui)}
.floating-field>input:focus+label,.floating-field>input:not(:placeholder-shown)+label,.floating-field>textarea:focus+label,.floating-field>textarea:not(:placeholder-shown)+label{transform:translateY(calc(var(--extent-half)*var(--number-negative-one) - var(--float-label-lift))) scale(var(--float-label-scale));color:var(--color-accent)}
.dialog-gallery.filmstrip{display:block}.filmstrip .film-open{cursor:pointer}
@media(prefers-reduced-motion:reduce){.floating-field>label{transition:none}}
