*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #181818;--text: #ddd8d0;--muted: #9a9490;--accent: #e040fb;--serif: "EB Garamond", Georgia, serif;--sans: "Inter", system-ui, sans-serif}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--serif);-webkit-font-smoothing:antialiased}nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.75rem 2.5rem}.logo{font-family:var(--sans);font-size:.85rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);text-decoration:none}.nav-email{font-family:var(--sans);font-size:.8rem;font-weight:600;color:var(--text);text-decoration:none;transition:color .2s}.nav-email:hover{color:var(--text)}#hero{min-height:100svh;display:flex;align-items:center;padding:6rem 2.5rem 4rem;position:relative;overflow:hidden}#hero-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#hero:before{content:"";position:absolute;top:-10%;left:-5%;width:55%;height:70%;background:radial-gradient(ellipse at top left,rgba(224,64,251,.07) 0%,transparent 70%);pointer-events:none}#hero-text{font-family:var(--serif);font-size:clamp(3.5rem,9.5vw,9.5rem);font-weight:400;line-height:1.05;letter-spacing:-.025em;color:var(--text)}.char{display:inline;opacity:0;animation:charIn .35s ease forwards}@keyframes charIn{0%{opacity:0;color:#3a3535}40%{color:#fff}to{opacity:1;color:var(--text)}}#services{padding:8rem 2.5rem;border-top:1px solid rgba(255,255,255,.06)}.services-inner{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4rem}.service-col h3{font-family:var(--serif);font-size:clamp(2rem,3.5vw,3rem);font-weight:400;line-height:1.1;letter-spacing:-.02em;margin-bottom:1.75rem}.service-col p{font-family:var(--sans);font-size:.875rem;color:var(--muted);line-height:1.8;margin-bottom:1.75rem}.service-col ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}.service-col li{font-family:var(--sans);font-size:.8rem;color:var(--muted);padding-left:1.25rem;position:relative}.service-col li:before{content:"—";position:absolute;left:0;color:var(--accent)}#work{padding:8rem 2.5rem;border-top:1px solid rgba(255,255,255,.06)}.work-label{font-family:var(--serif);font-size:clamp(2rem,3.5vw,2.75rem);font-weight:400;letter-spacing:-.02em;color:var(--text);margin-bottom:2rem}.work-items{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}.work-item{display:block;text-decoration:none;color:inherit}.work-img-wrap{width:100%;height:360px;overflow:hidden;margin-bottom:1.75rem}.work-img-wrap img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;transition:transform .6s ease}.work-item:hover .work-img-wrap img{transform:scale(1.02)}.work-meta{display:flex;align-items:baseline;gap:2rem}.work-title{font-family:var(--serif);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:400;letter-spacing:-.02em;color:var(--text)}.work-desc{font-family:var(--sans);font-size:.85rem;color:var(--muted);flex:1}.work-link{font-family:var(--sans);font-size:.8rem;color:var(--accent);white-space:nowrap;transition:opacity .2s}.work-item:hover .work-link{opacity:.7}#about{padding:7rem 2.5rem;border-top:1px solid rgba(255,255,255,.06)}.about-text{font-family:var(--serif);font-size:clamp(1.75rem,3vw,2.5rem);font-weight:400;line-height:1.35;letter-spacing:-.015em;max-width:640px}#contact{padding:7rem 2.5rem;border-top:1px solid rgba(255,255,255,.06)}.contact-label{font-family:var(--sans);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:1.5rem}.email-link{font-family:var(--serif);font-size:clamp(1.75rem,3.5vw,3rem);font-weight:400;letter-spacing:-.02em;color:var(--text);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:.08em;transition:color .2s,border-color .2s}.email-link:hover{color:var(--accent);border-color:var(--accent)}footer{padding:2rem 2.5rem;border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:center}.footer-copy{font-family:var(--sans);font-size:.75rem;color:var(--muted)}@media(max-width:768px){nav{padding:1.25rem}#hero{padding:6rem 1.25rem 3rem}#services,#about,#contact{padding-left:1.25rem;padding-right:1.25rem}footer{padding:1.5rem 1.25rem}.services-inner,.work-items{grid-template-columns:1fr;gap:3rem}.service-col p{max-width:100%}}
