*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#faf9f7;--color-surface:#fff;--color-text-primary:#1a1a1a;--color-text-secondary:#6b6b6b;--color-accent:#b08d7a;--color-border:#e8e4e0;--font-heading:"Georgia", "Times New Roman", serif;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--gap:1rem;--gap-lg:2rem;--radius:4px;--max-width:1400px}html{scroll-behavior:smooth;font-size:16px}body{background-color:var(--color-bg);color:var(--color-text-primary);font-family:var(--font-body);flex-direction:column;min-height:100vh;line-height:1.6;display:flex}.site-main{flex-direction:column;flex:1;align-items:center;padding:2rem 1.5rem 3rem;display:flex}.hero-image{width:100%;max-width:680px;height:auto;display:block}main{width:100%;max-width:var(--max-width);padding:var(--gap-lg) 1.5rem;flex:1;margin:0 auto}.site-header{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#faf9f7d9;padding:1.25rem 1.5rem}.header-nav{justify-content:space-between;align-items:center;display:flex}.header-brand{font-family:var(--font-heading);color:var(--color-text-primary);letter-spacing:.04em;font-size:1.25rem;text-decoration:none;transition:color .2s}.header-brand:hover{color:var(--color-accent)}.header-links{align-items:center;gap:1rem;display:flex}.nav-link{color:var(--color-text-secondary);letter-spacing:.06em;font-size:.85rem;text-decoration:none;transition:color .2s}.nav-link:hover{color:var(--color-accent)}.nav-social{color:var(--color-text-secondary);align-items:center;transition:color .2s;display:inline-flex}.nav-social:hover{color:var(--color-accent)}.nav-social svg{width:1.05rem;height:1.05rem}.site-title{text-align:center;font-family:var(--font-heading);color:var(--color-text-primary);letter-spacing:.02em;margin-top:1.5rem;font-size:clamp(1.5rem,4vw,2.4rem);font-weight:400}.site-tagline{text-align:center;color:var(--color-text-secondary);letter-spacing:.1em;text-transform:uppercase;margin-top:.5rem;font-size:.78rem}.loading-indicator,.error-message{text-align:center;color:var(--color-text-secondary);padding:3rem 1rem;font-style:italic}.error-message{color:#c0392b}.gallery-section{margin-bottom:3.5rem}.gallery-section-title{font-family:var(--font-heading);color:var(--color-text-primary);text-transform:capitalize;letter-spacing:.03em;border-bottom:1px solid var(--color-border);margin-bottom:1.25rem;padding-bottom:.6rem;font-size:clamp(1.3rem,3vw,1.9rem);font-weight:400}.gallery-count{color:var(--color-text-secondary);font-size:.8rem;font-family:var(--font-body);margin-left:.5rem;font-weight:400}.image-grid{gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.image-card{border-radius:var(--radius);background-color:var(--color-border);aspect-ratio:4/3;cursor:pointer;position:relative;overflow:hidden}.image-card img{object-fit:cover;opacity:0;width:100%;height:100%;transition:transform .35s,opacity .3s;display:block}.image-card img.loaded{opacity:1}.image-card:hover img,.image-card:focus-within img{transform:scale(1.04)}.image-card:focus-within{outline:2px solid var(--color-accent);outline-offset:2px}.site-footer{text-align:center;color:var(--color-text-secondary);padding:1.5rem 1rem;font-size:.82rem}@media (max-width:480px){.image-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}
