.page{display:flex;flex-direction:column;gap:72px;padding:0 56px 72px;max-width:1240px;margin:0 auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:10;padding:16px 18px}.brand{display:flex;align-items:center;justify-content:flex-start}.brand-logo{width:38px;height:38px;display:block;transform:scale(1.2)}:root[data-theme=light] .brand-logo{filter:invert(1)}.site-nav{display:flex;gap:18px;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase}.site-nav a{font-weight:500;position:relative;padding-bottom:4px}main{display:flex;flex-direction:column;gap:88px;margin-top:8px}.eyebrow{font-size:.65rem;text-transform:uppercase;letter-spacing:.28em;color:var(--accent);font-weight:600}.hero h1{font-size:clamp(2.2rem,3vw + 1.4rem,3.6rem);color:var(--ink)}.lead{font-size:1rem;max-width:560px}.button{border:1px solid var(--line);padding:10px 20px;border-radius:var(--radius-sm);background:var(--ink);font-weight:500;font-size:.7rem;text-transform:uppercase;letter-spacing:.22em;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--bg);text-decoration:none}.button:hover{background:transparent;color:var(--ink);text-decoration:none}.button.outline:hover,.button.ghost:hover{background:transparent;color:var(--ink);border-color:var(--ink)}.button.outline{background:transparent;color:var(--ink)}.button.ghost{background:transparent;color:var(--ink);border-color:transparent}.button.small{padding:6px 12px;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase}.mode-pill{border:1px solid var(--line);padding:8px 12px;border-radius:var(--radius-sm);font-size:.62rem;text-transform:uppercase;letter-spacing:.26em;color:var(--ink);background:var(--card)}.section-head{display:grid;gap:24px;align-items:end;margin-bottom:28px;animation:rise-in .7s ease both}.section-head h2{font-size:clamp(1.8rem,1.8vw + 1.2rem,2.6rem)}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}.project-card{background:var(--card);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column;animation:rise-in .7s ease both;transition:border-color .2s ease}.project-card:nth-child(3n+1){border-color:var(--line)}.project-card:nth-child(3n+2){border-color:var(--line)}.project-card:nth-child(3n){border-color:var(--line)}.project-card:hover{border-color:var(--ink)}.project-card:nth-child(1){animation-delay:.05s}.project-card:nth-child(2){animation-delay:.12s}.project-card:nth-child(3){animation-delay:.18s}.project-card:nth-child(4){animation-delay:.24s}.project-media{position:relative;overflow:hidden;aspect-ratio:4 / 3;border-bottom:1px solid var(--line);display:block}.project-media img{width:100%;height:100%;object-fit:cover}.project-body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:14px;flex:1}.project-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.project-title h3{font-size:1.4rem}.project-title span{font-size:.85rem;color:var(--ink-soft)}.project-medium{font-size:.65rem;text-transform:uppercase;letter-spacing:.22em;color:var(--ink)}.project-description{flex:1}.project-tags{display:flex;flex-wrap:wrap;gap:8px}.project-tags span{background:transparent;padding:4px 6px;border-radius:var(--radius-sm);font-size:.55rem;border:1px solid var(--line);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft)}.sketches{display:flex;flex-direction:column;gap:24px}.sketch-actions{display:flex;justify-content:flex-start}.sketch-frame{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);padding:18px;display:grid;gap:12px;cursor:pointer;animation:rise-in .7s ease both;position:relative}.sketch-image{width:100%;height:64vh;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--bg-alt);transition:opacity .2s ease}.sketch-image.is-loading{opacity:0}.sketch-hint{font-size:.65rem;text-transform:uppercase;letter-spacing:.28em;color:var(--ink-soft)}.contact-card{background:var(--contact-bg);color:var(--contact-ink);padding:36px;border-radius:var(--radius-xl);border:1px solid var(--contact-line);display:grid;grid-template-columns:1.2fr 1fr;gap:24px;animation:rise-in .7s ease both}.contact-card p{color:#f7f2eabf}.contact-info{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.contact-info a{color:var(--contact-ink);font-weight:500;display:inline-flex;align-items:center;gap:10px}.social-link{width:46px;height:46px;justify-content:center;border:1px solid var(--contact-line);border-radius:var(--radius-md);padding:6px;transition:border-color .2s ease}.social-link-large{width:120px}.social-link:hover{border-color:#f7f2ea80}.contact-socials{display:flex;gap:12px;flex-wrap:wrap}.theme-toggle{width:36px;height:36px;padding:0;border-radius:var(--radius-sm)}.theme-toggle svg{width:20px;height:20px;fill:currentColor}.theme-toggle img{width:20px;height:20px;display:block}.social-icon{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center}.social-icon-large{width:80px}.social-icon svg{width:100%;height:100%;fill:currentColor}.site-footer{display:flex;justify-content:space-between;gap:12px;font-size:.72rem;color:var(--ink-soft);border-top:1px solid var(--line);padding:24px 0 0;animation:soften-in .8s ease both}@media (max-width: 1000px){.hero,.section-head,.contact-card{grid-template-columns:1fr}}@media (max-width: 720px){.page{padding:0 20px 56px;gap:56px}.site-header{flex-direction:row;align-items:center;flex-wrap:wrap;justify-content:center;gap:12px;padding:12px 0 16px}.brand{width:100%;text-align:center;order:1;display:flex;justify-content:center}.brand-logo{width:44px;height:44px}.site-nav{flex-wrap:nowrap;gap:12px;font-size:.65rem;letter-spacing:.2em;order:2}.theme-toggle{position:fixed;left:16px;bottom:16px;z-index:20}.sketch-image{height:40vh}.site-footer{flex-direction:column;align-items:flex-start;text-align:left}}
