:root{
 --bg:#1c1e21;--panel:#25282c;--panel2:#202327;--text:#f3f3f4;--muted:#b7b9be;
 --line:#3b3e43;--max:1540px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit}
.site-header{height:76px;position:fixed;z-index:50;top:0;left:0;right:0;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(to bottom,rgba(28,30,33,.88),rgba(28,30,33,0));border-bottom:1px solid transparent;transition:.3s}
.site-header.scrolled{background:rgba(28,30,33,.92);backdrop-filter:blur(14px);border-bottom-color:rgba(255,255,255,.06)}
.brand{display:flex;flex-direction:column;font-weight:700;letter-spacing:.22em;line-height:1.05}.brand small{font-size:.56rem;letter-spacing:.48em;color:#d0d2d6}
.nav{display:flex;gap:28px}.nav a{opacity:.8;position:relative;padding:8px 0}.nav a:hover{opacity:1}.nav a:after{content:"";position:absolute;bottom:2px;left:0;right:100%;height:1px;background:#fff;transition:.2s}.nav a:hover:after{right:0}
.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:1.5rem}
.hero{height:96vh;min-height:680px;position:relative;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;filter:brightness(.63) saturate(1.02)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,30,33,.74),rgba(28,30,33,.28) 52%,rgba(28,30,33,.14)),linear-gradient(0deg,rgba(28,30,33,.58),transparent 30%)}
.hero-copybox{position:absolute;left:6vw;bottom:10vh;z-index:2;max-width:850px}.eyebrow{letter-spacing:.25em;font-size:.71rem;color:#cfd1d5;font-weight:600}
.hero h1,.section h2{letter-spacing:-.05em}.hero h1{font-size:clamp(3.8rem,7.5vw,8rem);line-height:.85;margin:.7rem 0 1rem}.hero-text{max-width:630px;color:#e0e1e3}.hero-link{display:inline-block;margin-top:1.2rem;border-bottom:1px solid rgba(255,255,255,.9);padding-bottom:4px}
.section{max-width:var(--max);margin:auto;padding:115px 5vw}.intro{max-width:1100px}.section h2{font-size:clamp(2.4rem,5vw,5rem);line-height:.96;margin:.5rem 0 1.2rem}.lead{font-size:clamp(1.1rem,2.2vw,1.55rem);color:#c9cbd0;max-width:920px}
.section-title{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:26px;margin-bottom:20px}
.back-button{border:1px solid var(--line);background:transparent;color:#ddd;padding:9px 14px;cursor:pointer}.back-button:hover{border-color:#fff}
.breadcrumb{min-height:28px;color:#9fa2a8;font-size:.85rem;margin-bottom:28px}.breadcrumb button{background:none;border:0;color:#d2d3d6;padding:0;cursor:pointer}.breadcrumb span{padding:0 8px;color:#70737a}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.portfolio-card{background:var(--panel);cursor:pointer;overflow:hidden;border:1px solid rgba(255,255,255,.035)}
.portfolio-card .cover{aspect-ratio:4/3;overflow:hidden;background:#222}.portfolio-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,opacity .3s}.portfolio-card:hover img{transform:scale(1.018);opacity:.93}
.card-info{padding:20px 20px 22px}.card-info span{font-size:.7rem;letter-spacing:.18em;color:#92959b;text-transform:uppercase}.card-info h3{font-size:1.45rem;margin:.3rem 0 .2rem}.card-info p{color:#aeb1b6;margin:0;font-size:.9rem}
.gallery{columns:3 320px;column-gap:14px}.gallery-item{break-inside:avoid;margin:0 0 14px;cursor:zoom-in;position:relative;overflow:hidden;background:#26292d}.gallery-item img{width:100%;transition:transform .4s ease,opacity .3s}.gallery-item:hover img{transform:scale(1.012);opacity:.94}
.gallery-meta{position:absolute;left:0;right:0;bottom:0;padding:56px 16px 14px;background:linear-gradient(transparent,rgba(20,22,24,.88));opacity:0;transition:.25s}.gallery-item:hover .gallery-meta{opacity:1}.gallery-meta strong{display:block}.gallery-meta span{font-size:.76rem;color:#c1c3c7}
.about{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:90px}.about-title{position:sticky;top:115px;align-self:start}.about-title h2{font-size:clamp(3rem,6vw,6rem);line-height:.87}.signature{text-transform:uppercase;letter-spacing:.22em;font-size:.73rem;color:#979aa0}.about-copy{font-size:1.11rem;line-height:1.75;color:#c9cbd0}.about-lead{font-size:1.38rem;color:#f0f1f2}.about blockquote{margin:2.4rem 0 0;padding:1rem 0 1rem 1.4rem;border-left:1px solid #8b8e94;font-style:italic;font-size:1.3rem;color:#eee}
.contact{border-top:1px solid var(--line);text-align:center}.contact h2{max-width:850px;margin:.5rem auto 1.2rem}.contact p{color:#bfc2c6}.button{display:inline-block;border:1px solid rgba(255,255,255,.85);padding:12px 20px;margin:15px 0;transition:.2s}.button:hover{background:#f4f4f4;color:#1c1e21}.contact small{display:block;color:#85888e}
footer{max-width:var(--max);margin:auto;border-top:1px solid var(--line);padding:28px 5vw 44px;color:#93969c;font-size:.82rem;display:flex;justify-content:space-between}
.lightbox{width:100vw;height:100vh;max-width:none;max-height:none;border:0;padding:0;background:rgba(10,11,13,.985);color:#fff;overflow:hidden}.lightbox::backdrop{background:rgba(0,0,0,.96)}
.lightbox figure{width:100%;height:100%;margin:0;padding:28px 72px 42px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.lightbox figure img{ width:75vw;height:72vh;object-fit:contain;box-shadow:0 28px 90px rgba(0,0,0,.5);}
.lightbox figcaption{padding-top:10px;color:#c5c7cb;min-height:28px}
.lightbox button{position:fixed;z-index:4;background:rgba(32,35,39,.78);border:1px solid rgba(255,255,255,.08);color:#fff;cursor:pointer;backdrop-filter:blur(8px);transition:background .2s,border-color .2s}.lightbox button:hover{background:rgba(55,58,63,.92);border-color:rgba(255,255,255,.22)}.lb-close{right:22px;top:18px;font-size:2rem;width:48px;height:48px}.lb-prev,.lb-next{top:50%;transform:translateY(-50%);font-size:3rem;width:58px;height:86px}.lb-prev{left:14px}.lb-next{right:14px}
.empty{color:#aaa;padding:30px 0}
@media(max-width:900px){.menu-toggle{display:block}.nav{display:none;position:absolute;right:4vw;top:62px;flex-direction:column;gap:10px;background:#25282c;border:1px solid var(--line);padding:18px 22px}.nav.open{display:flex}.hero{height:86vh;min-height:620px}.hero-copybox{left:6vw;right:6vw}.hero h1{font-size:clamp(3rem,13vw,5.8rem)}.section{padding:80px 6vw}.card-grid{grid-template-columns:1fr}.gallery{columns:2 150px;column-gap:8px}.gallery-item{margin-bottom:8px}.about{grid-template-columns:1fr;gap:30px}.about-title{position:static}footer{display:block}footer a,footer span{display:block;margin-bottom:7px}.section-title{align-items:center}.lightbox figure{padding:52px 12px 58px}.lightbox figure img{max-width:96vw;max-height:86vh}.lb-prev,.lb-next{width:44px;height:68px;font-size:2.4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important}}


/* v0.7 */
.featured{border-top:1px solid var(--line)}
.featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.featured-card{background:var(--panel);cursor:pointer;overflow:hidden;border:1px solid rgba(255,255,255,.04)}
.featured-cover{aspect-ratio:4/3;overflow:hidden;background:#23262a}
.featured-cover img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,opacity .3s ease}
.featured-card:hover img{transform:scale(1.015);opacity:.94}
.featured-info{padding:22px 22px 26px}
.featured-info span{display:block;color:#94979d;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase}
.featured-info h3{margin:.45rem 0 .55rem;font-size:1.55rem}
.featured-info p{margin:0;color:#b7bac0;font-size:.95rem;line-height:1.6}
.gallery-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:50px;align-items:end;padding:18px 0 42px}
.gallery-head h3{margin:.35rem 0 .7rem;font-size:clamp(2.5rem,5vw,5.2rem);line-height:.95;letter-spacing:-.045em}
.gallery-meta-line{margin:.3rem 0 0;color:#9ea1a7;font-size:.92rem;letter-spacing:.04em}
.gallery-description{max-width:820px;margin:1.2rem 0 0;color:#c6c8cd;font-size:1.08rem;line-height:1.7}
.gallery-count{color:#8e9197;font-size:.85rem;white-space:nowrap;padding-bottom:.4rem}
@media(max-width:900px){
 .featured-grid{grid-template-columns:1fr}
 .gallery-head{grid-template-columns:1fr;gap:12px;padding-bottom:30px}
 .gallery-count{white-space:normal}
}


/* v0.7.1 – Selected Work / Lightbox refinement */
.selected-work-heading{
  max-width:1050px;
  margin-bottom:42px;
}
.selected-work-heading h2{
  max-width:980px;
  margin:.6rem 0 0;
  font-size:clamp(1.6rem,3vw,3rem);
  line-height:1.02;
  letter-spacing:-.045em;
}
@media(max-width:900px){
  .selected-work-heading{margin-bottom:28px}
  .selected-work-heading h2{font-size:clamp(2rem,8vw,3.25rem)}
}
