:root{--orange: #e8601a;--orange-dark: #b84a10;--orange-tint: #fdf1e9;--white: #ffffff;--grey-50: #f6f6f6;--grey-100: #ededed;--grey-200: #dedede;--grey-300: #c4c4c4;--grey-500: #7a7a7a;--grey-600: #575757;--grey-800: #2b2b2b;--grey-900: #161616;--text: var(--grey-900);--muted: var(--grey-600);--font-display: "Archivo", "Arial Narrow", Arial, sans-serif;--font-body: "Source Sans 3", "Segoe UI", Arial, sans-serif;--radius: 6px;--nav-h: 68px;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{scroll-padding-top:var(--nav-h)}body{margin:0;background:var(--white);color:var(--text);font-family:var(--font-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}img,video,iframe{display:block;max-width:100%}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--font-display);line-height:1.1;margin:0}p{margin:0}::selection{background:var(--orange);color:var(--white)}:focus-visible{outline:2px solid var(--orange);outline-offset:3px}.container{width:100%;max-width:1160px;margin:0 auto;padding:0 24px}@media (max-width: 600px){.container{padding:0 16px}}.boot{min-height:100vh;display:grid;place-items:center;align-content:center;gap:12px;padding:24px;text-align:center}.boot code{color:var(--muted);font-size:14px}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:var(--radius);border:2px solid var(--orange);background:var(--orange);color:var(--white);font:600 16px/1.2 var(--font-body);cursor:pointer;transition:background .15s,border-color .15s}.btn:hover{background:var(--orange-dark);border-color:var(--orange-dark)}.btn--sm{padding:8px 16px;font-size:15px}.text-link{display:inline-block;margin-top:24px;font-weight:600;color:var(--orange-dark);border-bottom:2px solid currentColor}.text-link:hover{color:var(--orange)}.label{display:block;margin-bottom:10px;font-size:15px;font-weight:600;color:var(--orange-dark)}.lead{font-size:19px;color:var(--muted);line-height:1.65;max-width:68ch}.nav{position:sticky;top:0;z-index:50;height:var(--nav-h);background:var(--white);border-bottom:1px solid var(--grey-200)}.nav__inner{height:100%;display:flex;align-items:center;justify-content:space-between}.nav__logo{font:800 20px/1 var(--font-display)}.nav__logo span{color:var(--orange)}.nav__links{display:flex;align-items:center;gap:28px}.nav__link{padding:6px 0;font-weight:600;color:var(--grey-600);border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.nav__link:hover{color:var(--grey-900)}.nav__link.is-active{color:var(--grey-900);border-bottom-color:var(--orange)}.nav__toggle{display:none;padding:8px 0;border:0;background:none;font:600 16px/1 var(--font-body);color:var(--grey-900);cursor:pointer}@media (max-width: 700px){.nav__toggle{display:block}.nav__links{display:none;position:absolute;top:var(--nav-h);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:8px 16px 16px;background:var(--white);border-bottom:1px solid var(--grey-200)}.nav--open .nav__links{display:flex}.nav__link{padding:12px 0;border-bottom:1px solid var(--grey-100)}.nav__link.is-active{border-bottom-color:var(--grey-100);color:var(--orange-dark)}}.hero{padding:72px 0 64px}.hero__inner{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}.hero__title{font-size:clamp(40px,5.6vw,72px);font-weight:800;letter-spacing:-.02em;line-height:1}.hero__title span{color:var(--orange)}.hero__role{margin-top:20px;font-size:22px;font-weight:600;color:var(--grey-800)}.hero__tagline{margin-top:8px;font-size:19px;color:var(--muted);max-width:40ch}.hero__facts{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 28px;font-weight:600;color:var(--grey-800)}.hero__frame{border-radius:var(--radius);overflow:hidden;background:var(--grey-900);aspect-ratio:16 / 10}.hero__frame video{width:100%;height:100%;object-fit:cover}.hero__caption{margin-top:10px;font-size:14px;color:var(--grey-500)}@media (max-width: 900px){.hero{padding-top:40px}.hero__inner{grid-template-columns:1fr;gap:40px}}.section{padding:88px 0}.section--grey{background:var(--grey-50);border-top:1px solid var(--grey-100)}.section__title{font-size:clamp(30px,4vw,44px);font-weight:800;margin-bottom:36px}@media (max-width: 600px){.section{padding:64px 0}}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:48px 32px}@media (max-width: 760px){.grid{grid-template-columns:1fr;gap:40px}}.card{display:block}.card__media{aspect-ratio:4 / 3;overflow:hidden;border-radius:var(--radius);background:var(--grey-100)}.card__media img{width:100%;height:100%;object-fit:cover}.card__body{padding-top:16px}.card__meta{font-size:15px;color:var(--grey-500)}.card__title{margin-top:4px;font-size:26px;font-weight:800;transition:color .15s}.card:hover .card__title{color:var(--orange)}.card__summary{margin-top:8px;color:var(--muted)}.tags{margin-top:10px;font-size:15px;color:var(--grey-500)}.about{display:grid;grid-template-columns:1fr 2fr;gap:48px}@media (max-width: 900px){.about{grid-template-columns:1fr;gap:0}}.about__skills{margin:24px 0 0;padding-left:20px;columns:2;column-gap:32px;color:var(--grey-800)}.about__skills li{margin-bottom:6px;break-inside:avoid}.about__skills li::marker{color:var(--grey-500)}@media (max-width: 600px){.about__skills{columns:1}}.project__hero{position:relative;isolation:isolate;padding:120px 0 56px;min-height:min(52vh,560px);display:flex;align-items:flex-end;color:var(--white);overflow:hidden;background:var(--grey-900)}.project__hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background-size:cover;background-position:center;opacity:.55}.project__hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(to top,#161616f2,#16161633)}.back{display:inline-block;margin-bottom:28px;font-weight:600;color:#ffffffd9}.back:hover{color:var(--white)}.project__meta{font-size:17px;color:#fffc}.project__title{margin-top:8px;font-size:clamp(38px,6.4vw,76px);font-weight:800;letter-spacing:-.02em}.project__subtitle{margin-top:8px;font-size:20px;color:#fffc}.project__tags{margin-top:16px;font-size:16px;color:#ffffffb3;font-weight:600}.project__body{padding-top:64px;padding-bottom:88px}.project__intro{padding-bottom:48px;margin-bottom:56px;border-bottom:1px solid var(--grey-200)}.project__intro .lead{color:var(--grey-800)}.project__links{margin-top:24px}.features{display:flex;flex-direction:column;gap:80px}.feature{display:grid;grid-template-columns:1fr 1.7fr;gap:40px;align-items:start}.feature--text{grid-template-columns:1fr;max-width:760px}.feature__title{font-size:clamp(22px,2.4vw,28px);font-weight:800}.feature__text p{margin-top:12px;color:var(--muted)}.feature__media{display:grid;gap:16px}.feature__media--multi{grid-template-columns:1fr}@media (max-width: 900px){.feature{grid-template-columns:1fr;gap:20px}.features{gap:64px}}@media (max-width: 600px){.feature__media--multi{grid-template-columns:1fr}}.media{width:100%;border-radius:var(--radius);overflow:hidden;background:var(--grey-100);border:1px solid var(--grey-200)}.media--video{aspect-ratio:16 / 9;background:var(--grey-900)}.media--video video,.media--video iframe{width:100%;height:100%;border:0;object-fit:contain}.media--image{padding:0;width:fit-content;max-width:100%;cursor:zoom-in;display:block}.media--image img{width:auto;max-width:100%;height:auto}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:32px;background:#161616e6;cursor:zoom-out}.lightbox img{max-height:90vh;width:auto}.lightbox__close{position:absolute;top:16px;right:20px;border:0;background:none;color:var(--white);font:600 16px/1 var(--font-body);cursor:pointer}.next{display:block;padding:48px 0;background:var(--grey-50);border-top:1px solid var(--grey-200)}.next__label{color:var(--grey-500)}.next__title{display:block;margin-top:4px;font:800 clamp(28px,4.4vw,48px) / 1.1 var(--font-display);transition:color .15s}.next:hover .next__title{color:var(--orange)}.page{padding:72px 0 104px;min-height:70vh}.page--center{display:grid;place-items:center;align-content:center;text-align:center;gap:20px}.page__head{margin-bottom:48px}.page__title{font-size:clamp(36px,5.6vw,64px);font-weight:800;letter-spacing:-.02em;margin-bottom:20px}.skill-groups{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:start}@media (max-width: 900px){.skill-groups{grid-template-columns:1fr;gap:40px}}.skill-group__title{font-size:26px;font-weight:800;padding-bottom:12px;border-bottom:3px solid var(--orange)}.skill-list{margin:0;padding:0;list-style:none}.skill-list li{padding:11px 0;border-bottom:1px solid var(--grey-200);color:var(--grey-800)}.interview{display:grid;grid-template-columns:1.7fr 1fr;gap:40px;align-items:start}.interview__text p{margin-top:12px;color:var(--muted)}@media (max-width: 900px){.interview{grid-template-columns:1fr;gap:20px}}.skill-groups__col{display:grid;gap:48px}.stack{margin-top:88px}.stack__list{margin:0;border-top:3px solid var(--orange)}.stack__row{display:grid;grid-template-columns:220px 1fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--grey-200)}.stack__row dt{font-weight:600;color:var(--grey-900)}.stack__row dd{margin:0;color:var(--grey-800)}@media (max-width: 700px){.stack__row{grid-template-columns:1fr;gap:4px}}.footer{padding:56px 0;background:var(--grey-900);color:var(--white)}.footer__inner{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px}.footer__title{font-size:clamp(26px,3.4vw,36px);font-weight:800}.boot .page__title{margin-bottom:0}#root{min-height:100vh;display:flex;flex-direction:column}main{flex:1}
