*,::after,::before{box-sizing:border-box;margin:0;padding:0}:root{--color-primary:#2c3e50;--color-secondary:#e74c3c;--color-accent:#f1c40f;--color-text:#333;--color-text-light:#666;--color-background:#fff;--color-background-alt:#f8f9fa;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--max-width:1200px;--header-height:60px;--spacing-unit:1rem}body{font-family:var(--font-family);line-height:1.6;color:var(--color-text);background:var(--color-background);min-height:100vh;display:flex;flex-direction:column;margin:0}h1,h2,h3,h4,h5,h6{color:var(--color-primary);margin-top:2rem;margin-bottom:1rem}a{color:var(--color-secondary);text-decoration:none;transition:color .3s ease}a:hover{color:var(--color-primary);text-decoration:underline}p{margin-bottom:var(--spacing-unit)}header{background:var(--color-primary);padding:0;color:#fff;position:sticky;top:0;z-index:100;box-shadow:0 2px 4px rgba(0,0,0,.1)}.header-container{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-unit);height:var(--header-height);display:flex;align-items:center;justify-content:space-between}nav ul{list-style:none;display:flex;gap:calc(var(--spacing-unit) * 2);margin:0;padding:0}nav a{color:#fff;text-decoration:none;font-weight:500;padding:.5rem;border-radius:4px;transition:background-color .3s ease}nav a:hover{background-color:rgba(255,255,255,.1);color:var(--color-accent);text-decoration:none}nav a[aria-current=page]{background-color:rgba(255,255,255,.2);color:var(--color-accent)}main{flex:1;padding:calc(var(--spacing-unit) * 2);max-width:var(--max-width);margin:0 auto;width:100%}.content-container{background:var(--color-background);padding:calc(var(--spacing-unit) * 2);border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.05)}footer{background:var(--color-primary);color:#fff;padding:calc(var(--spacing-unit) * 2);margin-top:calc(var(--spacing-unit) * 2)}.footer-content{max-width:var(--max-width);margin:0 auto;text-align:center}.footer-content p{margin:0;opacity:.8}.logo{color:#fff;font-size:1.5rem;font-weight:700;text-decoration:none;transition:color .3s ease}.logo:hover{color:var(--color-accent);text-decoration:none}.blog-index{max-width:900px;margin:0 auto}.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-unit);margin-top:var(--spacing-unit)}.post-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,.1);transition:transform .3s ease}.post-card:hover{transform:translateY(-4px)}.post-thumbnail{width:100%;height:200px;object-fit:cover}.post-content{padding:var(--spacing-unit)}.post-content h2{margin-top:0}.read-more{display:inline-block;margin-top:var(--spacing-unit)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-unit);padding:var(--spacing-unit) 0}.gallery-item{position:relative;overflow:hidden;border-radius:8px;aspect-ratio:1}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.gallery-item:hover img{transform:scale(1.05)}.contact-form{max-width:600px;margin:2rem auto}.form-group{margin-bottom:var(--spacing-unit)}.form-group label{display:block;margin-bottom:.5rem;color:var(--color-text)}.form-group input,.form-group textarea{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-family:inherit}.form-group textarea{resize:vertical}.submit-button{background:var(--color-primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.submit-button:hover{background:var(--color-secondary)}.submit-button:disabled{background:#ccc;cursor:not-allowed}.form-status{margin-top:var(--spacing-unit);padding:var(--spacing-unit);border-radius:4px}.success-message{display:none;color:#2ecc71;background:#e8f8f5;padding:1rem;border-radius:4px;margin-bottom:var(--spacing-unit)}.error-message{display:none;color:#e74c3c;background:#fdedec;padding:1rem;border-radius:4px;margin-bottom:var(--spacing-unit)}.button-loader{color:#fff;font-style:italic}@media (max-width:768px){nav ul{flex-direction:column}main{padding:1rem}.post-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}