@font-face{font-family:Inter;src:url('./assets/inter-regular.woff2');font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('./assets/inter-bold.woff2');font-weight:700;font-display:swap}
:root{--ink:#e02200;--gap:36px;--page-width:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:white;color:var(--ink);font-family:Inter,Arial,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:5px}p,h1,h2,figure{margin:0}img,video{display:block;max-width:100%}button:hover,a.text-link:hover{text-decoration:underline}.home-shell{max-width:1200px;margin:auto;display:flex;align-items:flex-start;gap:40px}.sidebar{width:260px;flex:none;padding:56px 16px 56px 24px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:space-between}.brand{font-size:27px;font-weight:700;line-height:.7;letter-spacing:-.6px;display:block;margin-bottom:18px}.services{font-size:13px;line-height:1.2}.home-nav{display:flex;flex-direction:column;align-items:flex-start;gap:6px;font-weight:700;line-height:1.2}.email-details{font-weight:400;font-size:13px;line-height:1.4;margin-top:8px;overflow-wrap:anywhere}.email-details a{display:block}.email-details button{display:block;margin-top:5px}.home-main{flex:1;min-width:0;padding:56px 36px 160px 0}.featured{width:calc((100% - 36px)/2);display:block;margin-bottom:36px}.portfolio-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px}.portfolio-column{display:flex;flex-direction:column;gap:36px;min-width:0}.card{display:block;position:relative}.media-box{position:relative;overflow:hidden;background:#f1f0ee;aspect-ratio:var(--ratio,1.25)}.media-box img,.media-box video{height:100%;width:100%;object-fit:var(--fit,cover);object-position:var(--position,center)}.media-box .media-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:12px;color:#8c817e;font:11px/1.4 Inter,Arial,sans-serif;text-align:center}.media-box:has(img) .media-fallback{display:none}.card-caption{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,rgba(0,0,0,.62));color:white;font-size:12px;line-height:1.3;padding:30px 12px 12px;opacity:0;transition:opacity .18s}.card:hover .card-caption,.card:focus-visible .card-caption{opacity:1}.about-main{padding-top:56px;max-width:620px}.about-text{font-size:16px;line-height:1.4}.about-main .back{display:inline-block;margin-top:24px}.project-shell{padding:32px;min-height:100vh}.back{display:inline-block;font-size:16px;line-height:1.35;margin-bottom:26px}.project-gallery{position:relative;margin:0 -32px;padding:0 32px;display:flex;gap:30px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.project-gallery::-webkit-scrollbar{display:none}.project-gallery .gallery-item{flex:none;height:550px;aspect-ratio:var(--ratio,0.8);scroll-snap-align:start}.gallery-item .media-box{height:100%;width:100%}.gallery-controls{position:relative;height:0;display:flex;justify-content:flex-end;gap:18px;top:-290px;pointer-events:none}.gallery-controls button{pointer-events:auto;background:rgba(255,255,255,.9)}.gallery-controls button{font-size:22px;min-width:32px;min-height:32px}.project-video{height:550px;display:flex;justify-content:center;align-items:center}.project-video .media-box{height:100%;width:auto;max-width:100%}.project-video video{object-fit:contain}.project-info{display:flex;justify-content:space-between;align-items:flex-start;margin-top:32px;gap:36px}.project-copy{max-width:540px;line-height:1.2;font-size:16px}.project-copy>p{margin-bottom:4px}.project-copy .role{font-weight:700}.project-copy .credits{margin-top:12px}.project-footer{text-align:right;display:flex;flex-direction:column;gap:4px;font-size:16px;line-height:1.2;flex:none}.project-footer .name{font-weight:700}.project-footer .email-details{text-align:right}.project-footer .email-details button{margin-left:auto}.empty-state{margin:80px auto;max-width:600px;padding:24px}.empty-state h1{font-size:26px;margin-bottom:20px}
@media(max-width:809px){.home-shell{display:block}.sidebar{width:100%;height:auto;position:relative;padding:32px 24px;gap:28px}.brand{font-size:25px;line-height:1}.home-nav{flex-direction:row;flex-wrap:wrap;gap:18px;font-size:14px}.home-main{padding:0 24px 72px}.featured{width:calc((100% - 18px)/2);margin-bottom:18px}.portfolio-grid{gap:18px}.portfolio-column{gap:18px}.about-main{padding:8px 24px 80px}.project-shell{padding:24px}.project-gallery{margin:0 -24px;padding:0 24px;gap:18px}.project-gallery .gallery-item{height:min(65vh,480px);max-width:calc(100vw - 48px)}.project-video{height:min(65vh,550px)}.project-info{flex-direction:column;gap:32px}.project-footer{text-align:left}.project-footer .email-details{text-align:left}.project-footer .email-details button{margin-left:0}.card-caption{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.hover-details{position:absolute;top:50%;left:24px;width:calc(100% - 40px);font-size:10px;line-height:14.5px;pointer-events:none}.hover-details[hidden],.hover-role[hidden]{display:none}.hover-role{display:inline;background:var(--ink);color:white;font-weight:700;padding:0 3px;-webkit-box-decoration-break:clone;box-decoration-break:clone}.hover-title{max-width:230px;margin-top:12px;font-size:10px;line-height:11.5px}
.email-details a{display:table;background:var(--ink);color:white;padding:1px 3px;line-height:1.2}.project-footer .email-details a{margin-left:auto}
@media(max-width:809px){.hover-details{display:none}}
@media(max-width:809px){.project-footer .email-details a{margin-left:0}}
.project-gallery{padding-left:40vw;scroll-padding-left:40vw}.project-copy{max-width:min(800px,70vw)}.project-copy .project-role .role{margin-top:2px}.project-label{display:table;background:var(--ink);color:white;font-weight:700;padding:0 3px;line-height:1.1}.project-heading{margin-top:28px}.project-about{margin-top:28px}.project-about .description{margin-top:2px}.project-copy .credits{margin-top:16px}
@media(max-width:809px){.project-gallery{padding-left:24px;scroll-padding-left:24px}.project-copy{max-width:100%}.project-heading,.project-about{margin-top:24px}}
.project-gallery-wrap{position:relative;margin:0 -32px}.project-gallery{margin:0;padding:0 32px 0 40vw}.gallery-controls{position:absolute;inset:0;top:0;height:auto;display:flex;align-items:center;justify-content:space-between;padding:0 24px;pointer-events:none}.gallery-controls .gallery-arrow{pointer-events:auto;display:grid;place-items:center;width:40px;height:56px;min-width:0;min-height:0;background:transparent}.gallery-arrow::before{content:"";display:block;width:13px;height:13px;border-top:2px solid white;border-right:2px solid white;filter:drop-shadow(0 1px 2px rgba(0,0,0,.85))}.gallery-arrow.previous::before{transform:rotate(-135deg)}.gallery-arrow.next::before{transform:rotate(45deg)}
@media(max-width:809px){.project-gallery-wrap{margin:0 -24px}.project-gallery{margin:0;padding:0 24px}.gallery-controls{padding:0 12px}}
@media(min-width:1440px) and (min-height:850px){.project-gallery-wrap,.project-video{margin-top:clamp(32px,5.5vh,76px)}}
.project-shell>.back{position:relative;top:6px;font-size:20px;font-weight:500;margin-bottom:16px}.project-info{margin-top:48px}
.mobile-caption{display:none}
@media(max-width:809px){
 .home-shell{display:block}
 .sidebar{--mobile-pad:clamp(24px,7.5vw,32px);display:flex;flex-direction:column;width:100%;height:auto;position:relative;padding:28px var(--mobile-pad) 0;gap:0}
 .home-nav{order:-1;display:flex;flex-direction:row;justify-content:space-between;flex-wrap:nowrap;width:100%;gap:0;margin-bottom:62px;font-size:13px}
 .sidebar .brand{font-size:25px;line-height:1;margin-bottom:18px}
 .sidebar .services{font-size:12px;line-height:1.16}
 .home-main{--mobile-pad:clamp(24px,7.5vw,32px);padding:34px var(--mobile-pad) 72px}
 .featured{width:100%;margin-bottom:24px}
 .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
 .portfolio-column{display:contents}
 .portfolio-grid .card{order:var(--mobile-order)}
 .mobile-caption{display:block;margin-top:9px;font-size:10px;line-height:1.25}
 .mobile-role,.mobile-title{display:block}
 .mobile-role{font-weight:700}
 .home-nav .contact{position:relative}
 .home-nav .email-details{position:absolute;top:calc(100% + 6px);right:0;z-index:5;min-width:max-content;margin:0;text-align:right}
 .home-nav .email-details a,.home-nav .email-details button{margin-left:auto}
 .project-shell{padding:18px clamp(24px,7.5vw,32px) 72px}
 .project-shell>.back{top:0;margin-bottom:40px}
 .project-video{height:auto;display:block}
 .project-video .media-box,.project-gallery .media-box{height:auto;width:100%;max-width:100%;aspect-ratio:auto!important;background:transparent}
 .project-video .media-box img,.project-video .media-box video,.project-gallery .media-box img,.project-gallery .media-box video{display:block;width:100%;height:auto;object-fit:contain}
 .project-gallery-wrap{margin:0 calc(-1 * clamp(24px,7.5vw,32px))}
 .project-gallery{padding:0 clamp(24px,7.5vw,32px);align-items:center}
 .project-gallery .gallery-item{width:calc(100vw - 2 * clamp(24px,7.5vw,32px));height:auto;max-width:none;aspect-ratio:auto}
 .project-info{margin-top:26px;gap:48px}
 .project-footer{font-size:14px}
 .project-footer .email-details{font-size:12px}
}
