:root{--page-padding:24px;--section-padding:80px;--content-max:960px;--bg:#050505;--surface:#050505;--line:#2b2b2b;--text:#fffdfa;--text-dim:rgba(255,253,250,.55);--accent:#f15735;--ease-linear:cubic-bezier(.25,.25,.75,.75);--ease-in-sine:cubic-bezier(.47,0,.745,.715);--ease-out-sine:cubic-bezier(.39,.575,.565,1);--ease-in-out-sine:cubic-bezier(.445,.05,.55,.95);--ease-in-quad:cubic-bezier(.55,.085,.68,.53);--ease-out-quad:cubic-bezier(.25,.46,.45,.94);--ease-in-out-quad:cubic-bezier(.455,.03,.515,.955);--ease-in-cubic:cubic-bezier(.55,.055,.675,.19);--ease-out-cubic:cubic-bezier(.215,.61,.355,1);--ease-in-out-cubic:cubic-bezier(.645,.045,.355,1);--ease-in-quart:cubic-bezier(.895,.03,.685,.22);--ease-out-quart:cubic-bezier(.165,.84,.44,1);--ease-in-out-quart:cubic-bezier(.77,0,.175,1);--ease-in-quint:cubic-bezier(.755,.05,.855,.06);--ease-out-quint:cubic-bezier(.23,1,.32,1);--ease-in-out-quint:cubic-bezier(.86,0,.07,1);--ease-in-expo:cubic-bezier(.95,.05,.795,.035);--ease-out-expo:cubic-bezier(.19,1,.22,1);--ease-in-out-expo:cubic-bezier(1,0,0,1);--ease-in-circ:cubic-bezier(.6,.04,.98,.335);--ease-out-circ:cubic-bezier(.075,.82,.165,1);--ease-in-out-circ:cubic-bezier(.785,.135,.15,.86);--ease-in-back:cubic-bezier(.6,-.28,.735,.045);--ease-out-back:cubic-bezier(.175,.885,.32,1.275);--ease-in-out-back:cubic-bezier(.68,-.55,.265,1.55);--transition-img-clip:.5s transform var(--ease-out-cubic),.55s opacity var(--ease-out-cubic);--transition-text:.5s transform var(--ease-out-cubic),.5s opacity var(--ease-out-cubic)}:root.theme-light{--bg:#fafafa;--surface:#fafafa;--line:#d8d8d8;--text:#010405;--text-dim:grey}.page-enter-active,.page-leave-active{transition:opacity .55s ease}.page-enter-from,.page-leave-to{opacity:.9999}*{box-sizing:border-box}body,html{margin:0;min-height:100%;width:100%}body{background:var(--bg);color:var(--text);font-family:Neue Montreal,PP Neue Montreal,sans-serif;font-weight:500;letter-spacing:0;transition:background-color .8s cubic-bezier(.44,0,.56,1),color .8s cubic-bezier(.44,0,.56,1)}a{color:inherit}.app-shell{display:flex;flex-direction:column;min-height:100vh}.site-header{padding:var(--page-padding);width:100%}.site-header__inner{align-items:flex-start;display:flex;gap:40px;justify-content:space-between;margin:0 auto;max-width:var(--content-max)}.site-header__brand{display:flex;flex-direction:column;flex-shrink:0;gap:16px}.site-header__subtitle{color:var(--text-dim);display:flex;flex-direction:column;font-size:13px;line-height:1.4}.site-header__subtitle p{margin:0}.site-header__nav-group{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:16px}.site-header__primary-nav{display:flex;gap:14px}.site-header__secondary-nav{align-items:flex-end;display:flex;flex-direction:column}.site-header__link,.site-header__name,.site-header__name-link{color:var(--text);font-size:18px;font-weight:500;line-height:1;margin:0;text-decoration:none}.site-header__link{opacity:.55}.site-header__link--small{color:var(--text-dim);font-size:13px;opacity:1}.site-header__link.is-active,.site-header__link:focus-visible,.site-header__link:hover{opacity:1}.main-shell{align-content:flex-end;display:flex;flex:1;height:100%;width:100%}.site-footer{padding:var(--page-padding);transition:opacity .55s ease;width:100%}.site-footer__inner{margin:0 auto;max-width:var(--content-max)}.site-footer__inner p{color:var(--text-dim);font-size:12px;letter-spacing:.08em;line-height:1;margin:0;text-transform:uppercase}.app-shell--about .main-shell{align-content:normal;height:auto;padding:0 var(--page-padding)}.app-shell--about .site-footer__inner p{display:inline-block}.about-page{margin:0 auto;max-width:var(--content-max);width:100%}.about-section{display:flex;flex-wrap:wrap;gap:40px;padding:var(--section-padding) 0}.about-col-s{flex:0 0 240px}.about-col-l{flex:1;min-width:0}.about-photo{aspect-ratio:4/5;overflow:hidden;width:100%}.about-photo img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 15%;object-position:center 15%;width:100%}.about-bio__para{color:var(--text);font-size:24px;font-weight:500;line-height:1.4;margin:0 0 24px}.about-bio__para:last-child{margin-bottom:0}.about-section-label{color:var(--text);font-size:18px;font-weight:500;line-height:1;margin:0}.exp-item{display:grid;gap:8px;grid-template-columns:minmax(0,.5fr) minmax(0,1fr);padding-bottom:24px}.exp-item__dates{font-size:12px;letter-spacing:.05em;line-height:1;padding-top:4px;text-transform:uppercase}.exp-item__dates,.exp-item__title{color:var(--text);font-weight:500;margin:0}.exp-item__company,.exp-item__title{font-size:18px;line-height:1.2}.exp-item__company{color:var(--text-dim);font-weight:500;margin:3px 0 0}.about-actions{padding-top:24px}.about-cv-btn{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--accent);border:none;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:500;gap:8px;height:40px;padding:12px 20px;text-decoration:none;transition:opacity .15s ease}.about-cv-btn:hover{opacity:.88}.portfolio-marquee{--marquee-gap:8px;--tile-height:60vh;align-content:end;flex:1;pointer-events:none;width:100vw}.portfolio-marquee__viewport{cursor:grab;overflow:hidden;pointer-events:auto;touch-action:pan-y;width:100%}.portfolio-marquee__viewport:active{cursor:grabbing}.portfolio-marquee__track{display:flex;gap:var(--marquee-gap);padding:0 24px 8px;width:-moz-max-content;width:max-content;will-change:transform}.portfolio-marquee__set{display:flex;flex:0 0 auto;gap:var(--marquee-gap)}.card{display:grid;flex:0 0 auto;gap:0;grid-template-rows:var(--tile-height) auto;width:-moz-max-content;width:max-content}.card .img{border-radius:6px;height:var(--tile-height);overflow:hidden;width:calc(var(--tile-height)*var(--media-ratio, 1))}.card .img,.card .img__inner{position:relative;will-change:transform}.card .img__inner{display:grid;height:100%;width:100%}.card img,.card picture,.card video{display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.card p{color:var(--text);display:flex;font-size:14px;justify-content:flex-start;line-height:1.35;margin-bottom:0;margin-top:6px}.card p span{color:var(--text-dim)}.card--interactive{cursor:pointer}.card--interactive:hover .img{opacity:.85;transition:opacity .2s ease}.site-header__link--btn{background:none;border:none;cursor:pointer;padding:0}.contact-page{margin:0 auto;max-width:var(--content-max);width:100%}.contact-form{display:flex;flex-direction:column;gap:32px;width:100%}.contact-form__field{display:flex;flex-direction:column;gap:8px}.contact-form__label{color:var(--text-dim);font-size:12px;font-weight:500;letter-spacing:.08em;line-height:1;text-transform:uppercase}.contact-form__input,.contact-form__textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;border-bottom:1px solid var(--line);border-radius:0;color:var(--text);cursor:auto;font-family:inherit;font-size:18px;font-weight:500;line-height:1.4;outline:none;padding:8px 0;resize:none;transition:border-color .2s ease;width:100%}.contact-form__input:focus,.contact-form__textarea:focus{border-color:var(--text)}.contact-form__actions{padding-top:8px}.contact-form__error{color:var(--accent);font-size:14px;margin:0}.contact-form__success{padding-top:8px}@media(max-width:768px){:root{--page-padding:16px;--section-padding:40px}.site-header__inner{flex-direction:column;gap:20px}.site-header__nav-group,.site-header__secondary-nav{align-items:flex-start}.portfolio-marquee__track{padding:0 14px 40px}.about-section{flex-direction:column;gap:24px}.about-col-s{flex:0 0 auto;width:100%}.about-photo{aspect-ratio:4/3}.about-photo img{-o-object-position:center center;object-position:center center}}
