:root{--sidebar:285px;--ink:#202020;--muted:#929292;--line:#e9e9e9;--paper:#fff;--gutter:58px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f7f7;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-weight:300}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#fff;border-right:1px solid #ddd;z-index:10}.sidebar-inner{height:100%;padding:86px 48px 38px;display:flex;flex-direction:column}.logo{display:block;width:148px;margin:0 auto 58px}.logo img{display:block;width:100%;height:auto;filter:none}.sidebar nav{display:flex;flex-direction:column;gap:13px}.sidebar nav a,.side-bottom a{font-size:13px;letter-spacing:.13em;text-decoration:none;color:#777}.sidebar nav a:hover,.side-bottom a:hover{color:#111}.side-bottom{margin-top:auto;font-size:11px;letter-spacing:.05em;color:#aaa;line-height:1.7}.social{margin-bottom:24px}.social span{padding:0 5px;color:#ccc}.content{margin-left:var(--sidebar);background:#fff;min-height:100vh}.page-section{padding:88px var(--gutter) 110px;max-width:1480px;margin:0 auto}.home{min-height:100vh;padding-top:92px;display:grid;grid-template-columns:minmax(250px,.62fr) minmax(500px,1.6fr);grid-template-rows:auto 1fr auto;gap:40px 58px}.home-copy{padding-top:18px;align-self:center}.kicker,.section-label{font-size:11px;letter-spacing:.19em;color:#a0a0a0}.home h1{font-family:'Playfair Display',serif;font-size:58px;font-weight:400;line-height:1.02;margin:25px 0 28px}.home h1 em,.about h2 em,.section-heading h2 em,.contact h2 em{font-weight:400}.lead{max-width:340px;font-size:15px;line-height:1.8;color:#777}.arrow-link{display:inline-flex;gap:15px;align-items:center;margin-top:26px;font-size:11px;letter-spacing:.15em;color:#444;text-decoration:none}.arrow-link span{font-size:19px;line-height:0;transition:transform .2s}.arrow-link:hover span{transform:translateX(5px)}.home-grid{display:grid;grid-template-columns:1.28fr .72fr;gap:34px;align-items:center}.feature{display:block;overflow:hidden;background:#eee}.feature img{display:block;width:100%;height:auto;transition:transform .6s ease}.feature:hover img{transform:scale(1.02)}.feature-large{max-height:680px}.feature-small{max-height:500px}.pager{grid-column:2;font-size:10px;letter-spacing:.16em;color:#9a9a9a}.pager span{padding:0 8px;color:#ccc}.about{border-top:1px solid var(--line)}.about-grid{display:grid;grid-template-columns:minmax(320px,.9fr) 1fr;gap:9%;align-items:center;margin-top:55px}.about-photo{background:#eee}.about-photo img{display:block;width:100%;height:auto}.about-copy{max-width:560px}.about h2,.section-heading h2,.contact h2{font-family:'Playfair Display',serif;font-size:45px;font-weight:400;line-height:1.12;margin:20px 0 30px}.about-copy p,.contact p{font-size:15px;line-height:1.9;color:#777;max-width:520px}.portfolio{border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:50px}.section-heading h2{margin-bottom:0}.count{font-size:10px;letter-spacing:.15em;color:#aaa}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:70px 36px;align-items:start}.gallery figure{margin:0}.gallery img{display:block;width:100%;height:auto}.gallery figcaption{font-size:9px;letter-spacing:.15em;color:#aaa;margin-top:13px}.gallery figure:nth-child(3n){margin-top:45px}.bw-section{background:#fbfbfb}.bw-section .gallery img{filter:none}.contact{border-top:1px solid var(--line);min-height:650px;display:flex;flex-direction:column;justify-content:center}.contact-inner{padding-left:18%;}.contact h2{font-size:56px;margin-top:25px}.contact p{max-width:520px}.email{display:inline-block;margin-top:25px;font-size:18px;color:#222;text-decoration:none;border-bottom:1px solid #bbb;padding-bottom:8px}.email span{padding-left:20px}.contact-meta{display:flex;gap:40px;margin-top:60px;color:#999;font-size:11px;letter-spacing:.09em}footer{border-top:1px solid var(--line);padding:24px var(--gutter);display:flex;justify-content:space-between;color:#aaa;font-size:10px;letter-spacing:.1em}footer a{color:#777;text-decoration:none}
@media(max-width:900px){:root{--sidebar:0px;--gutter:26px}.sidebar{position:relative;width:100%;height:auto;border-right:0;border-bottom:1px solid #ddd}.sidebar-inner{height:auto;padding:28px 26px;display:block}.logo{width:120px;margin:0 0 24px}.sidebar nav{flex-direction:row;flex-wrap:wrap;gap:9px 18px}.side-bottom{display:none}.content{margin-left:0}.home{min-height:auto;display:block;padding-top:60px}.home-copy{padding-bottom:45px}.home-grid{grid-template-columns:1.2fr .8fr;gap:16px}.pager{margin-top:18px}.about-grid{grid-template-columns:1fr;gap:40px}.contact-inner{padding-left:0}.gallery{gap:42px 18px}.gallery figure:nth-child(3n){margin-top:20px}}
@media(max-width:560px){.home h1{font-size:42px}.home-grid{grid-template-columns:1fr}.feature-small{max-width:75%;justify-self:end}.about h2,.section-heading h2{font-size:35px}.contact h2{font-size:40px}.gallery{grid-template-columns:1fr}.gallery figure:nth-child(3n){margin-top:0}.section-heading{align-items:start;gap:15px;flex-direction:column}.contact-meta{flex-direction:column;gap:10px}}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;padding:40px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:100}.lightbox.open{opacity:1;pointer-events:auto}.lightbox img{max-width:92vw;max-height:90vh;width:auto;height:auto}.lightbox button{position:absolute;right:25px;top:15px;border:0;background:none;color:#fff;font-size:38px;font-weight:200;cursor:pointer}
