@font-face{font-family:'Lato';font-style:normal;font-weight:300;font-display:swap;src:url('/assets/fonts/lato-300.woff2') format('woff2');}
@font-face{font-family:'Lato';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/lato-400.woff2') format('woff2');}
@font-face{font-family:'Lato';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/lato-700.woff2') format('woff2');}
@font-face{font-family:'Lato';font-style:normal;font-weight:900;font-display:swap;src:url('/assets/fonts/lato-900.woff2') format('woff2');}

:root{--bg:#ffffff;--fg:#111111;--muted:#777777;--line:#e5e5e5;}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:auto;}
body{font-family:'Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;font-weight:400;color:var(--fg);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;height:auto;}
header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px;padding:28px 32px;border-bottom:1px solid var(--line);}
.logo{font-weight:900;font-size:1.35rem;letter-spacing:.02em;text-transform:uppercase;}
nav{display:flex;flex-wrap:wrap;gap:20px;}
nav a{font-size:.9rem;font-weight:400;color:var(--muted);}
nav a:hover{color:var(--fg);}
nav a.active{color:var(--fg);font-weight:700;}
main{padding:36px 32px 64px;max-width:1440px;margin:0 auto;}
h1{font-weight:900;font-size:1.6rem;margin-bottom:28px;letter-spacing:.01em;}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:28px 24px;}
.card{display:block;}
.card .thumb{width:100%;aspect-ratio:5/4;object-fit:cover;background:#f2f2f2;}
.card-title{font-weight:700;font-size:1rem;margin-top:12px;color:var(--fg);}
.card-subtitle{font-size:.85rem;color:var(--muted);margin-top:2px;}
.project h1{margin-bottom:6px;}
.project .subtitle{color:var(--muted);margin-bottom:26px;}
.video{position:relative;aspect-ratio:16/9;background:#000;margin-bottom:30px;}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.credits{font-size:.9rem;color:var(--muted);margin-bottom:30px;border-top:1px solid var(--line);padding-top:18px;}
.credits div{margin-bottom:4px;}
.credits strong{color:var(--fg);font-weight:700;}
.gallery img{width:100%;margin-bottom:20px;}
.about p{margin-bottom:18px;max-width:68ch;font-size:1.02rem;}
.about img{margin-bottom:20px;max-width:100%;}
footer{padding:24px 32px;border-top:1px solid var(--line);color:var(--muted);font-size:.8rem;}
@media(max-width:640px){header,main,footer{padding-left:18px;padding-right:18px;}.grid{grid-template-columns:1fr 1fr;gap:18px 14px;}.card-title{font-size:.9rem;}}
