@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Inter:wght@300;400;500;600&family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-primary:#f5f0e8;--bg-secondary:#fffdf9;--bg-glass:#f5f0e8d9;--text-primary:#2e2518;--text-secondary:#7a6e5d;--text-muted:#a89f90;--accent-color:#c4724b;--accent-color-rgb:196, 114, 75;--accent-hover:#a8593a;--sky-blue:#5b8fad;--olive-green:#6b7f4e;--border-color:#2e251814;--border-focus:#c4724b66;--shadow-sm:0 2px 12px #2e25180f;--shadow-lg:0 12px 40px #2e25181a;--font-title:"DM Serif Display", serif;--font-accent:"DM Serif Display", serif;--font-body:"Inter", sans-serif;--font-ui:"Outfit", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#d5cec3;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--accent-color)}h1,h2,h3,h4,h5,h6{font-family:var(--font-title);letter-spacing:-.01em;color:var(--text-primary);font-weight:400}p{color:var(--text-secondary);line-height:1.7}a{color:inherit;text-decoration:none;transition:color .2s,opacity .2s}.square-grid{grid-template-columns:repeat(2,1fr);gap:5px;width:100%;display:grid}@media (width>=768px){.square-grid{grid-template-columns:repeat(3,1fr);gap:6px}}@media (width>=1200px){.square-grid{grid-template-columns:repeat(4,1fr);gap:6px}}.grid-item{aspect-ratio:1;cursor:pointer;z-index:1;background-color:#e8e2d8;transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s;position:relative;overflow:hidden}.grid-item:hover{z-index:10;transform:scale(1.035);box-shadow:0 16px 48px #2e25182e}.grid-item img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.16,1,.3,1),filter .4s;display:block}.grid-item:hover img{transform:scale(1.06)}.grid-overlay{opacity:0;background:linear-gradient(#2e251800 0%,#2e251840 50%,#2e2518bf 100%);flex-direction:column;justify-content:flex-end;padding:1.25rem;transition:opacity .35s;display:flex;position:absolute;inset:0}.grid-item:hover .grid-overlay{opacity:1}.overlay-category{color:#ffffffb3;text-transform:uppercase;letter-spacing:.18em;font-size:.65rem;font-family:var(--font-ui);margin-bottom:.15rem;font-weight:600}.overlay-title{font-family:var(--font-title);color:#fff;font-size:1.15rem;font-weight:400;line-height:1.2}.overlay-meta{color:#fff9;font-size:.72rem;font-family:var(--font-body);letter-spacing:.02em;margin-top:.25rem}.glass-panel{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color)}input,textarea,select{background-color:var(--bg-secondary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);font-family:var(--font-body);border-radius:4px;outline:none;padding:.8rem 1rem;font-size:.95rem;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus,select:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #c4724b1a}.btn-primary{background-color:var(--accent-color);color:#fffdf9;font-weight:600;font-family:var(--font-ui);cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 2rem;font-size:.95rem;transition:transform .2s,background-color .2s,box-shadow .2s;display:inline-flex}.btn-primary:hover{background-color:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 14px #c4724b40}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:var(--text-primary);font-weight:500;font-family:var(--font-ui);border:1px solid var(--text-primary);cursor:pointer;background-color:#0000;border-radius:4px;justify-content:center;align-items:center;gap:.5rem;padding:.8rem 1.8rem;transition:background-color .2s,color .2s;display:inline-flex}.btn-secondary:hover{background-color:var(--text-primary);color:var(--bg-secondary)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:.8s forwards fadeIn}.animate-fade-in-up{animation:.8s cubic-bezier(.16,1,.3,1) forwards fadeInUp}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}
