/* desca.works - Wabi-sabi Digital Portfolio */
/* Colors: #F5F0E8, #E8DFD4, #D5CFC4, #A0523D, #3D3028, #2A2018, #5A4A3A, #8A7A6A, #C0B0A0, #FAF8F4, #1A1410, #B0A090 */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Inter', sans-serif; font-weight: 400; font-size: 16px; line-height: 1.8; background: #F5F0E8; color: #3D3028; }
.hero { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 40px; background: #E8DFD4; }
.hero-title { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: clamp(3rem, 10vw, 6rem); color: #3D3028; opacity: 0; animation: fadeIn 1.5s ease forwards; }
@keyframes fadeIn { to { opacity: 1; } }
.hero-sub { font-weight: 300; font-size: 17px; color: #8A7A6A; margin-top: 16px; opacity: 0; animation: fadeIn 1s 0.8s ease forwards; }
.section { padding: 100px 40px; display: flex; flex-direction: column; align-items: center; text-align: center; background: #F5F0E8; }
.section-alt { background: #FAF8F4; }
.section-title { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: clamp(2rem, 5vw, 3rem); color: #3D3028; margin-bottom: 20px; }
.section-text { font-weight: 300; font-size: 17px; color: #5A4A3A; max-width: 600px; margin-bottom: 40px; }
.work-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; max-width: 700px; width: 100%; }
.work-card { border: 1px solid #D5CFC4; padding: 28px; text-align: left; transition: border-color 0.3s ease; opacity: 0; transform: translateY(15px); transition: opacity 0.5s ease, transform 0.5s ease, border-color 0.3s ease; }
.work-card.visible { opacity: 1; transform: translateY(0); }
.work-card:hover { border-color: #A0523D; }
.work-card h3 { font-family: 'Space Grotesk', sans-serif; font-size: 18px; color: #A0523D; margin-bottom: 8px; }
.work-card p { font-size: 14px; color: #8A7A6A; }
.site-footer { text-align: center; padding: 40px; background: #2A2018; color: #5A4A3A; font-size: 13px; }
@media (max-width: 768px) { .section { padding: 60px 24px; } .work-grid { grid-template-columns: 1fr; } }
