:root{
  --primary: #1a2436;
  --accent: #b8963e;
  --bg: #f6f3ee;
  --text: #1f2430;
  --muted: #5b6270;
}
*{box-sizing:border-box}
body{margin:0;font-family:"DM Sans",system-ui,sans-serif;color:var(--text);background:linear-gradient(180deg,#fff, var(--bg))}
.container{width:min(1120px,92%);margin:0 auto}
.site-header{position:sticky;top:0;background:#ffffffeb;backdrop-filter:blur(8px);border-bottom:1px solid #e6e8ef;z-index:20}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.9rem 0}
.brand{font-weight:700;color:var(--primary);text-decoration:none}
nav{display:flex;gap:0.9rem;flex-wrap:wrap}
nav a{text-decoration:none;color:var(--muted);padding:0.35rem 0.7rem;border-radius:999px}
nav a.active,nav a:hover{background:#f3f5fa;color:var(--primary)}
.page-main{min-height:calc(100vh - 140px)}
.hero-block{padding:3.2rem 0 2rem;background:radial-gradient(circle at 80% 5%, #ffffff 0%, var(--bg) 55%)}
.hero-block h1{margin:0;font-size:clamp(1.7rem,3.6vw,3rem);line-height:1.1}
.hero-block p{max-width:70ch;color:var(--muted);font-size:1.02rem}
.content-block{padding:1.3rem 0 3rem}
.prose{background:#fff;border:1px solid #e9eaf0;border-radius:16px;padding:1.35rem;box-shadow:0 8px 28px #1218270a}
.prose h2,.prose h3{color:var(--primary)}
.grid-blog{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}
.card{background:#fff;border:1px solid #e9eaf0;border-radius:16px;padding:1rem}
.card h3{margin-top:0}
.card a{text-decoration:none;color:var(--primary)}
.meta{color:var(--muted);font-size:0.9rem}
.contact-wrap{margin-top:1rem}
.contact-form{display:grid;gap:0.8rem}
.contact-form label{display:grid;gap:0.4rem;font-size:0.95rem}
.contact-form input,.contact-form textarea{width:100%;border:1px solid #cfd3df;border-radius:12px;padding:0.72rem}
.contact-form button{border:0;background:var(--primary);color:#fff;border-radius:12px;padding:0.72rem;font-weight:700;cursor:pointer}
.notice,.error{padding:0.85rem;border-radius:10px}
.notice{background:#e6f8ea;color:#085e25}
.error{background:#ffe9e9;color:#8c1c1c}
.site-footer{border-top:1px solid #e6e8ef;padding:1.1rem 0;margin-top:2rem;color:var(--muted);font-size:0.9rem}
@media (max-width: 740px){
  nav{width:100%;justify-content:flex-start}
  .hero-block{padding-top:2.2rem}
}