:root{--color-bg:#fffcfa;--color-surface:#fff5f2;--color-text:#2d2d2d;--color-text-secondary:#9a8e8a;--color-accent:#c44d56;--color-accent-soft:#e8b4b8;--color-border:#f0e6e2;--font-display:"Playfair Display", serif;--font-body:"Inter", sans-serif;--font-mono:"JetBrains Mono", monospace;--radius:2px;--transition-fast:.15s ease}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;line-height:1.6}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;font-weight:500;line-height:1.15}a{color:var(--color-accent);text-decoration:none}.mono{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:400}.photo{width:100%;display:block}.photo-frame{border-radius:var(--radius);position:relative;overflow:hidden}.photo-frame img{object-fit:cover;width:100%;height:100%;transition:transform .6s;display:block}.photo-frame:hover img{transform:scale(1.03)}.hero{align-items:flex-end;min-height:100vh;padding:3rem;display:flex;position:relative}.hero-media{z-index:0;position:absolute;inset:0}.hero-media .photo-frame,.hero-media img{object-fit:cover;width:100%;height:100%}.hero-content{z-index:1;max-width:600px;position:relative}.hero-content .mono{color:var(--color-accent-soft);margin-bottom:1rem;display:block}.hero h1{color:#fff;margin-bottom:.75rem;font-size:clamp(3rem,6vw,5.5rem);font-weight:500}.hero-tag{font-family:var(--font-display);color:#ffffffd9;font-size:1.375rem;font-style:italic}.about{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;max-width:1100px;margin:0 auto;padding:8rem 3rem;display:grid}.about-media{border-radius:var(--radius);position:relative;overflow:hidden}.about-media .photo-frame,.about-media img{object-fit:cover;aspect-ratio:4/5;width:100%;height:100%;display:block}.about-content .mono{color:var(--color-accent);margin-bottom:1rem;display:block}.about-content h2{margin-bottom:1.5rem;font-size:clamp(1.75rem,3vw,2.75rem);font-weight:500;line-height:1.2}.about-content p{color:var(--color-text-secondary);margin-bottom:1rem;font-size:1.0625rem;line-height:1.6}@media (width<=768px){.about{grid-template-columns:1fr;gap:2.5rem}.about-media img{aspect-ratio:16/9}}.works{padding:8rem 3rem}.works-header{text-align:center;margin-bottom:4rem}.works-header .mono{color:var(--color-accent);margin-bottom:1rem;display:block}.works-header h2{font-size:clamp(2rem,4vw,3.5rem);font-weight:500}.masonry{grid-template-columns:repeat(3,1fr);grid-auto-rows:10px;gap:1.5rem;max-width:1200px;margin:0 auto;display:grid}.masonry-item{grid-row:span 28}.masonry-item:nth-child(2),.masonry-item:nth-child(5){grid-row:span 36}.masonry-item:nth-child(3),.masonry-item:nth-child(6){grid-row:span 24}.masonry-item .photo-frame{border-radius:var(--radius);width:100%;height:100%;overflow:hidden}.masonry-item img{object-fit:cover;width:100%;height:100%;display:block}.caption{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);margin-top:.75rem;font-size:.6875rem}@media (width<=768px){.masonry{grid-template-columns:repeat(2,1fr)}}.services{background:var(--color-surface);padding:8rem 3rem}.services-header{text-align:center;margin-bottom:4rem}.services-header .mono{color:var(--color-accent);margin-bottom:1rem;display:block}.services-header h2{font-size:clamp(2rem,4vw,3.5rem);font-weight:500}.service-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1000px;margin:0 auto;display:grid}.service-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:2.5rem}.service-card h3{margin-bottom:1rem;font-size:1.25rem;font-weight:500}.service-card p{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.6}@media (width<=768px){.service-grid{grid-template-columns:1fr}}.contact{text-align:center;justify-content:center;padding:10rem 3rem;display:flex}.contact-inner{max-width:560px}.contact-inner .mono{color:var(--color-accent);margin-bottom:1rem;display:block}.contact-inner h2{margin-bottom:1.5rem;font-size:clamp(2rem,4vw,3.5rem);font-weight:500}.contact-lead{color:var(--color-text-secondary);margin-bottom:2.5rem;font-size:1.125rem;line-height:1.6}.contact-btn{background:var(--color-accent);color:#fff;font-family:var(--font-body);border-radius:var(--radius);transition:opacity var(--transition-fast);padding:.875rem 2.5rem;font-size:.9375rem;font-weight:500;display:inline-block}.contact-btn:hover{opacity:.85}.contact-note{color:var(--color-text-secondary);margin-top:1.5rem;font-size:.875rem}.contact-note a{color:var(--color-text);border-bottom:1px solid var(--color-border);transition:border-color var(--transition-fast)}.contact-note a:hover{border-color:var(--color-accent)}.footer{border-top:1px solid var(--color-border);text-align:center;padding:4rem 3rem}.footer-inner{max-width:640px;margin:0 auto}.footer-name{font-family:var(--font-display);margin-bottom:.75rem;font-size:1.125rem;font-weight:500}.footer-line{color:var(--color-text-secondary);margin-bottom:.25rem;font-size:.875rem}.footer-line a{color:var(--color-text-secondary);transition:border-color var(--transition-fast);border-bottom:1px solid #0000}.footer-line a:hover{border-color:var(--color-border)}.footer-credit{color:var(--color-text-secondary);opacity:.6;margin-top:2rem;font-size:.75rem}.footer-credit a{color:var(--color-text-secondary)}
