*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;color:#222}body{background:#fff}a{color:inherit;text-decoration:none}.site-header{position:fixed;top:0;left:0;right:0;z-index:30;height:100px;padding:18px 5vw;display:flex;align-items:center;justify-content:space-between;color:#fff;transition:background .25s,box-shadow .25s}.site-header.scrolled,.inner-page .site-header{background:rgba(18,18,18,.94);box-shadow:0 1px 10px rgba(0,0,0,.16)}.brand img{width:64px;height:64px;object-fit:contain;display:block}.main-nav{display:flex;gap:38px;align-items:center}.main-nav a{font-size:14px;letter-spacing:.12em;text-transform:uppercase;position:relative;padding:10px 0}.main-nav a:after{content:"";position:absolute;left:0;bottom:4px;height:1px;width:0;background:#fff;transition:width .25s}.main-nav a:hover:after{width:100%}.menu-toggle{display:none;background:none;border:0;padding:10px}.menu-toggle span{display:block;width:28px;height:2px;background:#fff;margin:6px 0}.site-footer{padding:24px 5vw;font-size:11px;letter-spacing:.08em;color:#888;text-align:center;background:#111}.home-page{height:100vh;min-height:600px;overflow:hidden;color:#fff}.hero-slider,.hero-slide,.hero-shade{position:fixed;inset:0}.hero-slide{background-size:cover;background-position:center;opacity:0;transform:scale(1);will-change:opacity,transform}.hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,.34));z-index:1}.home-page .site-header{z-index:3}.home-main{position:relative;z-index:2;height:calc(100vh - 56px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:100px 20px 20px}.home-logo{width:150px;height:150px;object-fit:contain;margin-bottom:8px}.home-main h1{font-weight:300;letter-spacing:.28em;font-size:42px;margin:0 0 15px 12px}.home-main h2{font-weight:300;font-size:16px;letter-spacing:.12em;margin:0}.home-page .site-footer{position:fixed;bottom:0;left:0;right:0;z-index:3;background:transparent;color:rgba(255,255,255,.72)}.inner-page{padding-top:100px}.inner-hero,.inner-shade{position:absolute;top:0;left:0;right:0;height:100px}.inner-hero{background-size:cover;background-position:center}.inner-shade{background:rgba(0,0,0,.62)}.page-main{min-height:calc(100vh - 156px)}.page-heading{padding:72px 5vw 46px;text-align:center;background:#f6f6f6;border-bottom:1px solid #eee}.page-heading h1{margin:0;font-size:26px;font-weight:300;letter-spacing:.12em;color:#303030}.page-content{padding:58px 6vw 80px}.content-narrow{max-width:1040px;margin:0 auto}.content-narrow h2,.intro-kicker{font-size:14px;letter-spacing:.12em;text-transform:lowercase;font-weight:400;color:#777;margin:0 0 38px}.cv-block{display:grid;grid-template-columns:190px 1fr;gap:45px;padding:0 0 54px}.cv-year{font-size:15px;font-weight:600}.cv-block h3{font-size:17px;font-weight:500;margin:0 0 18px}.cv-block p{font-size:15px;line-height:1.7;margin:6px 0;color:#555}.section-label{margin-top:8px!important}.services ul{list-style:none;margin:0;padding:0}.services li{position:relative;padding:0 0 20px 28px;line-height:1.65;color:#4a4a4a;font-size:15px}.services li:before{content:"—";position:absolute;left:0;color:#999}.projects-page .page-content{padding-left:3vw;padding-right:3vw}.intro-kicker{text-align:center;margin-bottom:42px}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;max-width:1500px;margin:0 auto}.project-card{position:relative;aspect-ratio:4/3;overflow:hidden;cursor:pointer;background:#ddd}.project-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease,filter .45s}.project-overlay{position:absolute;inset:0;background:rgba(0,0,0,.08);display:flex;align-items:center;justify-content:center;flex-direction:column;color:#fff;text-align:center;padding:22px;transition:background .25s}.project-overlay h2{font-size:18px;font-weight:400;letter-spacing:.04em;text-shadow:0 1px 6px rgba(0,0,0,.5);margin:0}.project-overlay span{font-size:28px;line-height:1;margin-top:10px;opacity:0;transform:translateY(8px);transition:.25s}.project-card:hover img{transform:scale(1.045);filter:brightness(.82)}.project-card:hover .project-overlay{background:rgba(0,0,0,.24)}.project-card:hover .project-overlay span{opacity:1;transform:none}.lightbox{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center}.lightbox.open{display:flex}.lightbox figure{margin:0;max-width:88vw;max-height:88vh;text-align:center}.lightbox img{max-width:88vw;max-height:82vh;display:block;margin:auto;object-fit:contain}.lightbox figcaption{color:#ddd;font-size:13px;letter-spacing:.06em;padding-top:12px}.lb-close,.lb-prev,.lb-next{position:absolute;border:0;background:transparent;color:#fff;cursor:pointer;z-index:2}.lb-close{right:22px;top:15px;font-size:42px;font-weight:200}.lb-prev,.lb-next{top:50%;transform:translateY(-50%);font-size:64px;padding:20px}.lb-prev{left:12px}.lb-next{right:12px}.contact-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1.25fr;gap:70px;align-items:start}.contact-info h2{font-size:19px;font-weight:500;margin:0 0 12px}.contact-info p{line-height:1.7;color:#555;font-size:15px}.contact-info .contact-spacer{margin-top:38px}.contact-info a:hover{text-decoration:underline}.map-wrap iframe{width:100%;height:390px;border:0;filter:grayscale(1)}
@media(max-width:900px){.site-header{height:82px;padding:10px 22px}.inner-page{padding-top:82px}.brand img{width:56px;height:56px}.menu-toggle{display:block;position:relative;z-index:35}.main-nav{position:fixed;inset:0;background:rgba(15,15,15,.98);display:flex;flex-direction:column;justify-content:center;gap:24px;transform:translateX(100%);transition:transform .3s}.main-nav.open{transform:none}.main-nav a{font-size:18px}.projects-grid{grid-template-columns:repeat(2,1fr)}.contact-grid{grid-template-columns:1fr;gap:38px}.cv-block{grid-template-columns:1fr;gap:14px}.page-heading{padding-top:54px;padding-bottom:38px}.page-content{padding-top:45px}}
@media(max-width:600px){.home-main h1{font-size:34px}.home-logo{width:125px;height:125px}.projects-grid{grid-template-columns:1fr}.project-card{aspect-ratio:16/11}.page-heading h1{font-size:20px;line-height:1.5}.page-content{padding-left:24px;padding-right:24px}.projects-page .page-content{padding-left:12px;padding-right:12px}.cv-block{padding-bottom:40px}.lb-prev,.lb-next{font-size:46px;padding:10px}.lb-prev{left:0}.lb-next{right:0}}

/* Project detail pages */
.project-detail-content{max-width:1500px;margin:0 auto;padding-left:3vw;padding-right:3vw}.project-detail-toolbar{margin:0 auto 28px}.back-to-projects{display:inline-block;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#777;padding:8px 0}.back-to-projects:hover{color:#222}.project-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.project-thumb{display:block;overflow:hidden;background:#eee;aspect-ratio:4/3;cursor:zoom-in}.project-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease,filter .35s ease}.project-thumb:hover img{transform:scale(1.025);filter:brightness(.92)}
@media(max-width:900px){.project-thumbs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.project-detail-content{padding-left:12px;padding-right:12px}.project-thumbs{grid-template-columns:1fr;gap:6px}}
