@import "https://fonts.googleapis.com/css2?family=Libre+Franklin:wght@600;700;800&family=Fira+Sans:wght@400;500&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--color-bg:#a90e02;--color-text:#fffbd4;--color-text-soft:#e3a99a;--color-text-readable:#ecc4b8;--color-accent:#f2c14e;--color-line:#fffbd438;--font-display:"Libre Franklin", sans-serif;--font-body:"Fira Sans", sans-serif;--font-mono:"IBM Plex Mono", monospace;--fw-display-semibold:600;--fw-display-bold:700;--fw-display-extrabold:800;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-pill:999px;--bp-mobile:390px;--bp-tablet:768px;--bp-desktop:1200px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:clip}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);overflow-x:clip}a{color:inherit}img{max-width:100%;display:block}.wrap{max-width:960px;margin:0 auto;padding:0 32px}@media (width<=768px){.wrap{padding:0 20px}}header.site-header{border-bottom:1px solid var(--color-line);grid-template-columns:1fr auto 1fr;align-items:center;padding:28px 0;display:grid}header.site-header .nav-left{text-align:left}header.site-header .nav-center{font-family:var(--font-display);font-weight:var(--fw-display-extrabold);letter-spacing:.04em;text-transform:uppercase;text-align:center;font-size:15px}header.site-header .nav-right{justify-content:flex-end;align-items:center;gap:14px;display:flex}header.site-header a{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:12px;text-decoration:none}header.site-header a:hover,header.site-header a.active{color:var(--color-accent)}.lang{font-family:var(--font-mono);letter-spacing:.06em;color:var(--color-text-soft);border-left:1px solid var(--color-line);gap:5px;padding-left:14px;font-size:11px;display:flex}.lang a{font:inherit;letter-spacing:inherit;text-transform:none}.lang .active{color:var(--color-text);font-weight:500}.mobile-header,.m-nav{display:none}@media (width<=768px){header.site-header.desktop-nav{display:none}.mobile-header{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;padding:18px 0;text-decoration:none;display:flex}.mark{background:var(--color-accent);width:30px;height:30px;font-family:var(--font-display);font-weight:var(--fw-display-extrabold);color:var(--color-bg);border-radius:6px;justify-content:center;align-items:center;font-size:13px;text-decoration:none;display:flex}.burger{border:1px solid var(--color-line);width:32px;height:32px;color:var(--color-text);cursor:pointer;background:0 0;border-radius:8px;font-size:14px}.m-nav{border-bottom:1px solid var(--color-line);max-height:0;transition:max-height .25s;display:block;overflow:hidden}.m-nav.open{max-height:180px}.m-nav>a{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text);border-top:1px solid var(--color-line);padding:14px 0;font-size:13px;text-decoration:none;display:block}.m-nav>a.active{color:var(--color-accent)}.m-nav .lang{border-top:1px solid var(--color-line);border-left:none;align-items:center;padding:14px 0}.m-nav .lang a{text-decoration:none}}.status{font-family:var(--font-mono);color:var(--color-text-soft);align-items:center;gap:8px;margin-top:36px;font-size:12px;display:inline-flex}.dot{background:var(--color-accent);border-radius:50%;width:7px;height:7px}h1{font-family:var(--font-display);font-weight:var(--fw-display-extrabold);letter-spacing:-.01em;max-width:680px;margin:20px 0;font-size:46px;line-height:1.18}h1 .accent{color:var(--color-accent)}.sub{color:var(--color-text-soft);max-width:520px;margin-bottom:32px;font-size:17px;line-height:1.6}.ctas{gap:32px;margin-bottom:88px;display:flex}.cta{font-family:var(--font-mono);border-bottom:1px solid var(--color-text);cursor:pointer;color:inherit;background:0 0;border-top:none;border-left:none;border-right:none;padding-bottom:2px;font-size:13px;text-decoration:none}.cta:hover{color:var(--color-accent);border-color:var(--color-accent)}@media (width<=768px){.status{margin-top:24px;font-size:11px}.dot{width:6px;height:6px}h1{margin:16px 0 14px;font-size:26px;line-height:1.25}.sub{margin-bottom:24px;font-size:14px}.ctas{flex-direction:column;gap:14px;margin-bottom:40px}}.section-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-soft);justify-content:space-between;align-items:baseline;margin-bottom:24px;font-size:12px;display:flex}.page-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);margin-top:44px;font-size:12px}.page-lede{font-family:var(--font-display);font-weight:var(--fw-display-extrabold);max-width:640px;margin:16px 0 64px;font-size:38px;line-height:1.25}.page-lede .accent{color:var(--color-accent);font-style:italic}@media (width<=768px){.section-label{margin-bottom:16px;font-size:11px}.page-label{margin-top:28px}.page-lede{margin:12px 0 28px;font-size:22px}}.works-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:36px 28px;margin-bottom:96px;display:grid}.works-grid-full{margin-bottom:88px}.work-card{cursor:pointer;color:inherit;text-decoration:none;display:block}.work-thumb{aspect-ratio:4/3;border-radius:var(--radius-md);border:1px solid var(--color-line);background:linear-gradient(135deg,#f2c14e33,#f2c14e10 60%,#fff0);width:100%;margin-bottom:16px;transition:transform .25s;position:relative;overflow:hidden}.work-thumb img{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.work-card:hover .work-thumb{transform:translateY(-3px)}.work-index{font-family:var(--font-mono);color:var(--color-accent);background:var(--color-bg);border-radius:var(--radius-pill);z-index:1;padding:2px 8px;font-size:11px;position:absolute;top:12px;left:12px}.work-overlay{background:linear-gradient(#3c060100,#3c0601d9);justify-content:space-between;align-items:flex-end;padding:14px 16px;transition:transform .25s;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(100%)}@media (hover:hover){.work-card:hover .work-overlay{transform:translateY(0)}}.work-overlay .tags{margin:0}.work-overlay .tag{color:var(--color-text);background:#ffffff26}.work-overlay .see-more{font-family:var(--font-mono);color:var(--color-text);white-space:nowrap;border-bottom:1px solid var(--color-text);font-size:11px;text-decoration:none}.work-caption{justify-content:space-between;align-items:baseline;display:flex}.work-card h3{font-family:var(--font-display);font-size:19px;font-weight:var(--fw-display-bold)}.work-card .work-year{font-family:var(--font-mono);color:var(--color-text-soft);font-size:12px}.work-card p{color:var(--color-text-soft);margin:6px 0 0;font-size:14px;line-height:1.5}.tags{flex-wrap:wrap;gap:8px;display:flex}.tag{font-family:var(--font-mono);color:var(--color-accent);border-radius:var(--radius-pill);background:#f2c14e26;padding:4px 10px;font-size:11px}.tags-mobile{display:none}@media (width<=768px){.works-grid{flex-direction:column;gap:32px;margin-bottom:48px;display:flex}.work-thumb{margin-bottom:12px}.work-overlay{display:none}.work-index{padding:2px 7px;font-size:10px}.work-card h3{font-size:16px}.work-card .work-year{font-size:11px}.work-card p{margin-top:5px;font-size:13px}.tags-mobile{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.tags-mobile .tag{background:#f2c14e1a;padding:3px 9px;font-size:10px}}.about{grid-template-columns:220px 1fr;align-items:start;gap:48px;margin-bottom:96px;display:grid;overflow-x:clip}.photo-duotone{aspect-ratio:3/4;border-radius:var(--radius-md);width:100%;position:relative;overflow:hidden}.photo-duotone img{object-fit:cover;object-position:top center;filter:grayscale()contrast(1.15)brightness(1.05);width:100%;height:100%;display:block}.photo-duotone:before{content:"";background:linear-gradient(155deg, #6b0901 10%, var(--color-accent) 130%);mix-blend-mode:color;opacity:.92;position:absolute;inset:0}.about-lede{font-family:var(--font-display);font-weight:var(--fw-display-bold);max-width:480px;margin-bottom:18px;font-size:26px;line-height:1.35}.about-lede .accent{color:var(--color-accent)}.about p.body{color:var(--color-text-soft);max-width:520px;margin-bottom:8px;font-size:15px;line-height:1.7}.skills{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.timeline{border-top:1px solid var(--color-line);gap:32px;margin-top:40px;padding-top:30px;display:flex;position:relative}.timeline-item{flex:1;position:relative}.timeline-item .t-dot{background:var(--color-accent);border:2px solid var(--color-bg);border-radius:50%;width:9px;height:9px;position:absolute;top:-34px;left:0}.timeline-item .t-year{font-family:var(--font-mono);color:var(--color-accent);margin-bottom:6px;font-size:12px;display:block}.timeline-item p{color:var(--color-text-soft);max-width:200px;margin:0;font-size:13px;line-height:1.5}@media (width<=768px){.about{margin-bottom:48px;display:block}.photo-duotone{aspect-ratio:4/5;margin-bottom:18px}.about-lede{max-width:none;font-size:20px}.about p.body{max-width:none;font-size:14px}.timeline{border-top:none;flex-direction:column;gap:18px;margin-top:24px;padding-top:0}.timeline-item .t-dot{display:none;position:static}}.about-page{margin-bottom:56px}.about-page .body{max-width:560px;color:var(--color-text-soft);margin-bottom:16px;font-size:16px;line-height:1.7}.pull-quote{font-family:var(--font-display);font-weight:var(--fw-display-bold);color:var(--color-text);border-left:3px solid var(--color-accent);max-width:640px;margin:0 0 72px;padding-left:24px;font-size:28px;font-style:normal;line-height:1.4}.testimonials{grid-template-columns:1fr 1fr;gap:40px;margin-top:24px;margin-bottom:72px;display:grid}.testimonial{border-left:3px solid var(--color-accent);margin:0;padding-left:24px}.testimonial .quote{color:var(--color-text);margin-bottom:16px;font-size:17px;line-height:1.6}.testimonial .attribution{font-family:var(--font-mono);color:var(--color-text-soft);font-size:12px;font-style:normal}.testimonial .attribution a{color:inherit;border-bottom:1px solid var(--color-line);text-decoration:none}.testimonial .attribution a:hover{color:var(--color-accent);border-color:var(--color-accent)}.two-col{grid-template-columns:1fr 1fr;gap:56px;margin-bottom:72px;display:grid}.mini-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-soft);margin-bottom:18px;font-size:11px;display:block}.plain-list{list-style:none}.plain-list li{font-family:var(--font-body);color:var(--color-text);border-bottom:1px solid var(--color-line);padding:10px 0;font-size:15px}.timeline-vertical{border:none;flex-direction:column;gap:22px;margin:0;padding:0;display:flex}.timeline-vertical .timeline-item{padding-left:20px}.timeline-vertical .t-dot{display:block;position:absolute;top:6px;left:0}.timeline-vertical .t-year{margin-bottom:4px;display:inline-block}.timeline-vertical p{max-width:320px}@media (width<=768px){.about-page .body{max-width:none;font-size:14px}.pull-quote{margin:12px 0 36px;padding-left:16px;font-size:19px}.testimonials{margin-top:16px;margin-bottom:48px;display:block}.testimonial{margin-bottom:28px;padding-left:16px}.testimonial:last-child{margin-bottom:0}.testimonial .quote{font-size:15px}.two-col{display:block}.two-col>div{margin-bottom:36px}.two-col>div:last-child{margin-bottom:0}}.back-link{font-family:var(--font-mono);color:var(--color-text-soft);margin-top:24px;font-size:12px;text-decoration:none;display:inline-block}.back-link:hover{color:var(--color-accent)}.case-head{margin-bottom:40px}.case-title{font-family:var(--font-display);font-weight:var(--fw-display-extrabold);margin:20px 0 24px;font-size:44px}.case-meta{flex-wrap:wrap;gap:40px;display:flex}.case-meta p{font-size:15px}.case-live-link{margin-top:24px;display:inline-block}.case-hero{border-radius:var(--radius-lg);border:1px solid var(--color-line);width:100%;margin-bottom:56px;overflow:hidden}.case-hero img{width:100%;height:auto;display:block}.case-body{grid-template-columns:1fr 1fr;gap:56px;margin-bottom:56px;display:grid}.case-col p.body,.case-col-full p.body{color:var(--color-text-readable);margin-top:14px;font-size:15px;line-height:1.7}.case-col-full{grid-column:1/-1;max-width:640px}.gallery-head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.gallery-arrows{gap:8px;display:flex}.g-arrow{border:1px solid var(--color-line);width:32px;height:32px;color:var(--color-text);cursor:pointer;font-family:var(--font-mono);background:0 0;border-radius:50%;font-size:14px}.g-arrow:hover{border-color:var(--color-accent);color:var(--color-accent)}.g-arrow:disabled{opacity:.3;cursor:not-allowed}.g-arrow:disabled:hover{border-color:var(--color-line);color:var(--color-text)}.case-gallery{scroll-snap-type:x mandatory;scrollbar-width:none;align-items:flex-start;gap:20px;margin-bottom:56px;padding-bottom:4px;display:flex;position:relative;overflow-x:auto}.case-gallery::-webkit-scrollbar{display:none}.gallery-item{scroll-snap-align:start;flex-direction:column;flex:none;align-items:center;display:flex}.gallery-thumb{width:100%;margin-bottom:12px}.gallery-thumb img{object-fit:contain;border-radius:8px;width:100%;height:100%;display:block}.gallery-caption{width:100%;font-family:var(--font-mono);color:var(--color-text-soft);text-align:center;overflow-wrap:break-word;word-break:break-word;font-size:12px}.case-divider{border-top:1px solid var(--color-line);padding-top:32px}.stat-callout{border-top:1px solid var(--color-line);align-items:baseline;gap:24px;margin:24px 0 72px;padding:32px 0;display:flex}.stat-number{font-family:var(--font-display);font-weight:var(--fw-display-extrabold);color:var(--color-accent);font-size:56px}.stat-callout p{max-width:340px;color:var(--color-text);font-size:16px}.case-nav{border-top:1px solid var(--color-line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:72px;margin-bottom:72px;padding-top:32px;display:flex}.prev-link{font-family:var(--font-mono);color:var(--color-text-soft);font-size:12px;text-decoration:none}.prev-link:hover{color:var(--color-accent)}.next-block{color:var(--color-text);text-align:right;text-decoration:none}.next-block h3{font-family:var(--font-display);font-weight:var(--fw-display-extrabold);margin-top:6px;font-size:26px}.next-block:hover h3{color:var(--color-accent)}@media (width<=768px){.case-title{margin:16px 0 18px;font-size:30px}.case-meta{gap:24px;margin-bottom:24px}.case-meta p{font-size:13px}.case-hero{margin-bottom:32px}.case-body{margin-bottom:24px;display:block}.case-body .case-col{margin-bottom:24px}.case-body .case-col:last-child{margin-bottom:0}.case-gallery{gap:14px;margin-bottom:32px}.gallery-caption{font-size:10px;line-height:1.3}.case-divider{padding-top:24px}.stat-callout{margin-bottom:32px;padding:20px 0;display:block}.stat-number{margin-bottom:6px;font-size:36px}.case-nav{border-top:1px solid var(--color-line);margin-top:32px;margin-bottom:32px;padding-top:24px;display:block}.prev-link{margin-bottom:14px;display:inline-block}.next-block{text-align:left;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);padding:18px 0;display:block}.next-block h3{font-size:22px}}footer.site-footer{border-top:1px solid var(--color-line);padding:56px 0 48px}footer.site-footer h2{font-family:var(--font-display);font-weight:var(--fw-display-extrabold);max-width:520px;margin-bottom:20px;font-size:34px;line-height:1.2}footer.site-footer h2 .accent{color:var(--color-accent)}.contact-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.email-link{font-family:var(--font-mono);border-bottom:1px solid var(--color-text);padding-bottom:2px;font-size:15px;text-decoration:none}.email-link:hover{color:var(--color-accent);border-color:var(--color-accent)}.socials{gap:20px;display:flex}.socials a{font-family:var(--font-mono);color:var(--color-text-soft);font-size:12px;text-decoration:none}.socials a:hover{color:var(--color-accent)}.copyright{font-family:var(--font-mono);color:var(--color-text-soft);margin-top:40px;font-size:11px}@media (width<=768px){footer.site-footer{padding:36px 0 32px}footer.site-footer h2{margin-bottom:20px;font-size:21px}.contact-row{display:block}.email-link{width:fit-content;margin-bottom:20px;display:block}.socials{margin-bottom:24px}.copyright{margin-top:0}}[data-animate]{will-change:transform, opacity}
