:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0c0e;--bg-strong:#10110f;--surface:#161718;--surface-muted:#20211f;--surface-raised:#1b1c1d;--ink:#f4f0e8;--ink-soft:#cbc4b6;--muted:#928b7e;--line:#f4f0e81f;--primary:#c7a46a;--primary-dark:#e4c47f;--teal:#8fb6a5;--gold:#d6a451;--danger-focus:#d7b46f;--shadow:0 22px 58px #00000057;--radius:8px;--container:1160px;--font-body:"Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Fraunces", Georgia, serif;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;--space-9:6rem;--text-xs:.8rem;--text-sm:.95rem;--text-base:1rem;--text-md:1.1rem;--text-lg:1.3rem;--text-xl:1.7rem;--text-2xl:2.3rem;--text-3xl:3rem;--text-4xl:4.2rem}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);letter-spacing:0;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:linear-gradient(#0b0c0e 0%,#11100e 45%,#0c0f0f 100%);margin:0;line-height:1.7;overflow-x:hidden}button,input,textarea{font:inherit}button{border:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}main{overflow-x:clip}::selection{color:#fff;background:#c7a46a52}.container{width:min(var(--container), calc(100% - 40px));margin-inline:auto}.skip-link{top:var(--space-3);left:var(--space-3);z-index:100;border-radius:var(--radius);background:var(--ink);color:var(--bg);padding:var(--space-3) var(--space-4);font-weight:700;position:fixed;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.brand:focus-visible,.nav-toggle:focus-visible,.site-nav__link:focus-visible,.button:focus-visible,.text-link:focus-visible,.back-link:focus-visible,.icon-link:focus-visible{outline:3px solid var(--danger-focus);outline-offset:3px}.site-header{z-index:40;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0b0c0edb;position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;gap:var(--space-4);width:min(1220px,100% - 32px);min-height:76px;margin-inline:auto;display:flex}.brand{align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-2);border-radius:var(--radius);color:var(--ink);cursor:pointer;background:0 0;display:inline-flex}.brand__image-wrap{border:1px solid var(--line);background:var(--surface-raised);border-radius:50%;flex:none;width:44px;height:44px;overflow:hidden}.brand__image{object-fit:cover;width:100%;height:100%}.brand__copy{text-align:left;gap:0;min-width:0;display:grid}.brand__name{font-family:var(--font-body);font-size:var(--text-base);letter-spacing:0;font-weight:800;line-height:1.2}.brand__role{color:var(--muted);font-size:var(--text-xs);font-weight:600;line-height:1.3}.site-nav{align-items:center;gap:var(--space-1);display:flex}.site-nav__link{border-radius:var(--radius);color:var(--ink-soft);font-size:var(--text-sm);padding:.65rem .85rem;font-weight:700}.site-nav__link:hover{background:var(--surface-muted);color:var(--primary)}.nav-toggle{border-radius:var(--radius);background:var(--surface-raised);width:44px;height:44px;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);cursor:pointer;place-items:center;display:none}.nav-toggle svg,.button svg,.text-link svg,.back-link svg,.icon-link svg,.focus-item svg,.timeline-item__icon svg,.achievement-panel>svg{flex:none;width:18px;height:18px}.hero{padding-block:var(--space-8) var(--space-7)}.hero__grid{gap:var(--space-8);grid-template-columns:minmax(0,1fr) 360px;align-items:center;display:grid}.hero__copy{min-width:0;max-width:770px}.eyebrow{align-items:center;gap:var(--space-2);margin:0 0 var(--space-4);color:var(--teal);font-size:var(--text-xs);font-weight:800;line-height:1.2;display:inline-flex}.hero__eyebrow svg{color:var(--gold)}.hero h1,.case-hero h1,.missing-page h1{color:var(--ink);font-family:var(--font-display);font-size:var(--text-4xl);letter-spacing:0;text-wrap:balance;max-width:100%;margin:0;font-weight:600;line-height:1.1}.hero__title{margin:var(--space-4) 0 0;color:var(--primary);font-family:var(--font-body);font-size:var(--text-lg);letter-spacing:0;max-width:52ch;font-weight:700;line-height:1.4}.hero__lead,.case-hero__lead,.section-intro>p,.footer__copy>p{max-width:700px;margin:var(--space-5) 0 0;color:var(--ink-soft);font-size:var(--text-md);line-height:1.75}.hero__actions,.case-hero__actions,.project-card__actions{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.button{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius);min-height:46px;font-size:var(--text-sm);padding:.78rem 1rem;font-weight:800;transition:transform .16s,background-color .16s,border-color .16s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button--primary{background:var(--primary);color:#17120a;box-shadow:inset 0 0 0 1px #ffffff38}.button--primary:hover{background:var(--primary-dark)}.button--secondary{border:1px solid var(--line);background:var(--surface-muted);color:var(--ink)}.button--secondary:hover{border-color:var(--primary);color:var(--primary-dark);background:#c7a46a1a}.profile-panel{gap:var(--space-5);border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg, #ffffff09, #fff0), var(--surface);padding:var(--space-5);box-shadow:var(--shadow);display:grid}.profile-panel__avatar{aspect-ratio:1;border-radius:var(--radius);object-fit:cover;object-position:center top;background:var(--surface-raised);width:100%}.profile-panel__name{margin:0 0 var(--space-1);font-family:var(--font-body);font-size:var(--text-lg);letter-spacing:0;font-weight:800;line-height:1.2}.profile-panel p:not(.profile-panel__name){color:var(--muted);font-size:var(--text-sm);margin:0}.stat-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(90px,1fr));margin:0;display:grid}.stat-grid div{border-top:1px solid var(--line);min-width:0;padding-top:var(--space-3)}.stat-grid dt{color:var(--ink);font-family:var(--font-body);font-size:var(--text-lg);letter-spacing:0;font-weight:800;line-height:1.2}.stat-grid dd{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--text-xs);line-height:1.35}.section{padding-block:var(--space-8)}.section--compact{padding-block:var(--space-6)}.section--work,.timeline-section{border-top:1px solid var(--line);background:#ffffff06}.section-intro{max-width:760px;margin-bottom:var(--space-7)}.section-intro h2,.footer__copy h2,.case-section h2{color:var(--ink);font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:0;text-wrap:balance;margin:0;font-weight:600;line-height:1.2}.focus-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.focus-item,.skill-card,.timeline-item,.achievement-panel,.case-meta,.next-project{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg, #ffffff08, #fff0), var(--surface)}.focus-item{padding:var(--space-5)}.focus-item svg,.achievement-panel>svg{color:var(--primary)}.focus-item h2,.skill-card h3,.timeline-item h3,.project-card h3{margin:var(--space-3) 0 0;color:var(--ink);font-family:var(--font-body);font-size:var(--text-lg);letter-spacing:0;font-weight:800;line-height:1.3}.focus-item p,.timeline-item__role,.case-meta p{margin:var(--space-2) 0 0;color:var(--muted);font-size:var(--text-sm)}.project-list{gap:var(--space-5);display:grid}.project-card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg, #ffffff09, #fff0), var(--surface);box-shadow:var(--shadow);grid-template-columns:41% minmax(0,1fr);display:grid;overflow:hidden}.project-card__media{background:#111314;min-height:100%;display:block}.project-card__media--image{align-self:stretch;min-height:100%;display:flex;overflow:hidden}.project-card__image{object-fit:contain;background:#111314;width:100%;height:100%;min-height:0}.project-visual{min-height:100%;padding:var(--space-5);color:#fff;background:linear-gradient(135deg,#c7a46a2e,#8fb6a51f),#111314;align-content:space-between;display:grid}.project-visual__topline{justify-content:space-between;gap:var(--space-4);color:#ffffffc2;font-size:var(--text-xs);font-weight:800;display:flex}.project-visual h3{max-width:280px;margin:var(--space-7) 0;font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:0;font-weight:600;line-height:1.25}.project-visual__rows{gap:var(--space-2);display:grid}.project-visual__rows span{border-radius:var(--radius);padding:var(--space-2) var(--space-3);color:#ffffffe6;font-size:var(--text-sm);background:#ffffff14;border:1px solid #ffffff29}.project-visual p{margin:var(--space-4) 0 0;color:#ffffffc2;font-size:var(--text-xs)}.project-card__content{padding:var(--space-6);align-content:center;display:grid}.project-card__type,.timeline-item__period{color:var(--gold);font-size:var(--text-xs);margin:0;font-weight:800;line-height:1.25}.project-card__content>p:not(.project-card__type){max-width:620px;margin:var(--space-4) 0 0;color:var(--ink-soft);font-size:var(--text-base)}.tag-row{gap:var(--space-2);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.tag{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);min-height:30px;color:var(--ink-soft);font-size:var(--text-xs);align-items:center;padding:.35rem .6rem;font-weight:700;line-height:1.2;display:inline-flex}.text-link,.back-link{align-items:center;gap:var(--space-2);border-radius:var(--radius);width:fit-content;color:var(--primary);font-size:var(--text-sm);font-weight:800;display:inline-flex}.case-hero__copy>.back-link{width:fit-content;display:flex}.text-link:hover,.back-link:hover{color:var(--primary-dark)}.text-link--muted{color:var(--ink-soft)}.resume-grid,.about__grid,.case-body__grid{gap:var(--space-8);grid-template-columns:.8fr 1.2fr;align-items:start;display:grid}.timeline{gap:var(--space-4);display:grid}.timeline-item{gap:var(--space-4);padding:var(--space-5);grid-template-columns:42px minmax(0,1fr);display:grid}.timeline-item__icon{border-radius:var(--radius);background:var(--surface-raised);width:42px;height:42px;color:var(--primary);place-items:center;display:grid}.detail-list{gap:var(--space-2);margin:var(--space-4) 0 0;padding:0;list-style:none;display:grid}.detail-list li{padding-left:var(--space-5);color:var(--ink-soft);font-size:var(--text-sm);position:relative}.detail-list li:before{content:"";background:var(--teal);border-radius:50%;width:7px;height:7px;position:absolute;top:.72em;left:0}.about{border-top:1px solid var(--line)}.skill-grid{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.skill-card{padding:var(--space-5)}.skill-card h3{font-size:var(--text-base);margin-top:0}.achievement-panel{padding:var(--space-5);position:sticky;top:104px}.achievement-panel h2{margin:var(--space-3) 0 0;color:var(--ink);font-family:var(--font-body);font-size:var(--text-xl);letter-spacing:0;font-weight:800;line-height:1.25}.case-hero{border-bottom:1px solid var(--line);padding-block:var(--space-8);background:linear-gradient(180deg, #8fb6a512, #0b0c0e00 58%), var(--bg)}.case-hero__grid{gap:var(--space-7);grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);align-items:center;display:grid}.case-hero__copy{min-width:0}.back-link{margin-bottom:var(--space-6)}.case-hero h1{font-size:var(--text-3xl)}.case-metrics{gap:var(--space-4);margin:var(--space-6) 0 0;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.case-metrics div{border-top:1px solid var(--line);min-width:0;padding-top:var(--space-3)}.case-metrics dt{color:var(--ink);font-size:var(--text-lg);font-weight:800;line-height:1.2}.case-metrics dd{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--text-xs);font-weight:700;line-height:1.35}.case-hero__image{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);margin:0;overflow:hidden}.case-hero__image img{aspect-ratio:16/9;object-fit:contain;background:#111314;width:100%;height:auto}.case-hero__image figcaption{border-top:1px solid var(--line);padding:var(--space-3) var(--space-4);color:var(--muted);font-size:var(--text-sm)}.case-visual{min-height:390px;padding:var(--space-6);color:#fff;background:linear-gradient(135deg,#c7a46a2e,#8fb6a51f),#111314;align-content:space-between;display:grid}.case-visual p,.case-visual small{color:#ffffffb8;font-size:var(--text-sm);margin:0;font-weight:700}.case-visual h2{max-width:420px;margin:var(--space-5) 0;font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:0;font-weight:600;line-height:1.2}.case-visual div{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:auto;display:grid}.case-visual span{border-radius:var(--radius);padding:var(--space-3);font-size:var(--text-sm);background:#ffffff14;border:1px solid #ffffff29}.case-visual strong{margin-top:var(--space-6);font-size:var(--text-2xl);line-height:1;display:block}.case-body{background:#ffffff05}.case-body__grid{grid-template-columns:minmax(220px,.35fr) minmax(0,1fr)}.case-meta{gap:var(--space-4);padding:var(--space-5);display:grid;position:sticky;top:104px}.case-meta__block+.case-meta__block{border-top:1px solid var(--line);padding-top:var(--space-4)}.case-meta h2{color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);letter-spacing:0;margin:0;font-weight:800}.case-meta .tag-row{margin-top:var(--space-3)}.case-narrative{gap:var(--space-7);max-width:900px;display:grid}.case-section{border-top:1px solid var(--line);padding-top:var(--space-7)}.case-section:first-child{border-top:0;padding-top:0}.case-section__heading{align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.case-section__heading .eyebrow{margin-bottom:var(--space-2)}.case-section__icon{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);width:44px;height:44px;color:var(--primary);flex:none;place-items:center;display:grid}.case-section__icon svg{width:19px;height:19px}.case-section>p:not(.eyebrow),.case-section--split article>p{margin:var(--space-4) 0 0;color:var(--ink-soft);font-size:var(--text-base)}.case-step-list{gap:var(--space-3);margin-top:var(--space-5);display:grid}.case-step{gap:var(--space-4);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4);background:#ffffff07;grid-template-columns:54px minmax(0,1fr);align-items:start;display:grid}.case-step span{color:var(--gold);font-size:var(--text-sm);font-weight:800;line-height:1.4}.case-step p{color:var(--ink-soft);font-size:var(--text-sm);margin:0}.case-section--split{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.case-section--split article{border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:var(--space-5);background:#ffffff07}.case-section--split .case-section__heading{margin-bottom:var(--space-4)}.case-section--split h2{font-family:var(--font-body);font-size:var(--text-lg);font-weight:800}.case-section--split .detail-list{margin-top:var(--space-4)}.next-project{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5);display:flex}.next-project span{color:var(--muted);font-size:var(--text-sm);font-weight:700}.next-project a{align-items:center;gap:var(--space-2);color:var(--primary);font-weight:800;display:inline-flex}.missing-page{min-height:64svh;padding-block:var(--space-9)}.missing-page h1{max-width:680px;margin-bottom:var(--space-6);font-size:var(--text-3xl)}.footer{padding-block:var(--space-8);background:linear-gradient(180deg, #ffffff05, #fff0), var(--bg-strong);color:#fff}.footer__inner{gap:var(--space-7);grid-template-columns:minmax(0,1fr) 440px;align-items:start;display:grid}.footer .eyebrow{color:var(--teal)}.footer__copy h2{color:#fff}.footer__copy>p{color:#c8c2b5}.footer__actions{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.icon-link{align-items:center;gap:var(--space-3);border-radius:var(--radius);color:#d9d2c5;min-height:48px;padding:var(--space-3);font-size:var(--text-sm);background:#ffffff0d;border:1px solid #ffffff24;grid-template-columns:20px minmax(0,1fr) 18px;font-weight:700;display:grid}.icon-link:hover{background:#ffffff17;border-color:#c7a46a70}.icon-link__arrow{color:var(--primary)}@media (width<=1040px){:root{--text-4xl:3.35rem;--text-3xl:2.65rem;--text-2xl:2rem}.hero__grid,.resume-grid,.about__grid,.case-hero__grid,.case-body__grid,.footer__inner{grid-template-columns:1fr}.profile-panel{max-width:560px}.profile-panel__avatar{aspect-ratio:1}.focus-grid,.skill-grid{grid-template-columns:1fr}.nav-toggle{display:grid}.site-nav{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:var(--space-2);box-shadow:var(--shadow);flex-direction:column;align-items:stretch;display:none;position:fixed;top:76px;left:16px;right:16px}.site-nav--open{display:flex}.site-nav__link{padding:var(--space-3) var(--space-4)}.hero__title{max-width:30ch}.achievement-panel,.case-meta{position:static}.case-narrative{max-width:none}}@media (width<=820px){:root{--text-4xl:2.75rem;--text-3xl:2.35rem;--text-2xl:1.8rem;--text-xl:1.45rem}html{scroll-padding-top:76px}.container{width:min(100% - 28px, var(--container))}.site-header__inner{min-height:68px}.brand__image-wrap{width:40px;height:40px}.brand__role{display:none}.site-nav{top:68px;left:14px;right:14px}.hero__grid,.resume-grid,.about__grid,.case-hero__grid,.case-body__grid,.footer__inner{gap:var(--space-6)}.hero,.section,.case-hero,.footer{padding-block:var(--space-7)}.section--compact{padding-block:var(--space-5)}.project-card{grid-template-columns:1fr}.project-card__media{min-height:260px}.project-card__media--image{min-height:0}.project-card__media--image .project-card__image{aspect-ratio:16/9;height:auto}.project-card__content,.case-visual,.timeline-item,.focus-item,.skill-card,.achievement-panel,.case-meta,.case-section--split article{padding:var(--space-5)}.project-card__actions,.case-hero__actions,.hero__actions{gap:var(--space-2)}.section-intro{margin-bottom:var(--space-6)}.stat-grid,.footer__actions,.case-section--split{grid-template-columns:1fr}}@media (width<=520px){:root{--text-4xl:2.35rem;--text-3xl:2.05rem;--text-2xl:1.55rem;--text-lg:1.18rem}.container{width:min(100% - 24px, var(--container))}.site-header__inner{width:min(100% - 20px,1220px);min-height:64px}.site-nav{top:64px;left:10px;right:10px}.brand{padding-inline:0}.brand__image-wrap{width:36px;height:36px}.hero,.section,.case-hero,.footer{padding-block:var(--space-6)}.section--compact{padding-block:var(--space-4)}.hero__grid,.resume-grid,.about__grid,.case-hero__grid,.case-body__grid,.footer__inner,.project-list,.timeline,.skill-grid{gap:var(--space-4)}.hero__title{font-size:var(--text-base)}.hero__copy,.hero__actions,.profile-panel{max-width:calc(100vw - 24px)}.hero__lead{max-width:none;margin-top:var(--space-4)}.hero__actions,.case-hero__actions{margin-top:var(--space-5);flex-direction:column}.button{width:100%;min-height:44px}.profile-panel,.project-card__content,.timeline-item,.focus-item,.skill-card,.achievement-panel,.case-meta,.case-section--split article{padding:var(--space-4)}.project-card__media{min-height:220px}.project-card__media--image{min-height:0}.project-card__content{align-content:start}.project-card h3{margin-top:var(--space-2)}.project-card__content>p:not(.project-card__type),.section-intro>p,.footer__copy>p,.case-hero__lead{margin-top:var(--space-3)}.tag-row{margin-top:var(--space-4);gap:.4rem}.tag{min-height:28px;padding:.32rem .52rem}.timeline-item{gap:var(--space-3);grid-template-columns:1fr}.case-visual{min-height:310px;padding:var(--space-4)}.case-body{padding-block:var(--space-5)}.case-metrics{gap:var(--space-3);margin-top:var(--space-5);grid-template-columns:1fr}.case-section__heading{gap:var(--space-3);margin-bottom:var(--space-3)}.case-section__icon{width:38px;height:38px}.case-section{padding-top:var(--space-6)}.case-narrative{gap:var(--space-6)}.case-step-list{margin-top:var(--space-4)}.case-step{gap:var(--space-2);padding:var(--space-3);grid-template-columns:1fr}.case-visual div{grid-template-columns:1fr}.next-project{padding:var(--space-4);flex-direction:column;align-items:flex-start}.footer__actions{gap:var(--space-2)}.icon-link{min-height:44px;padding:var(--space-2) var(--space-3)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
