
*,*::before,*::after{box-sizing:border-box}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:#222;background:#f6f6f6;line-height:1.6;font-size:16px}
img{max-width:100%;height:auto;display:block}
a{color:#c8232c;text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
.site-header{background:#fff;border-bottom:3px solid #c8232c;padding:18px 0}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.brand{font-size:28px;font-weight:800;color:#c8232c;letter-spacing:-.5px;text-decoration:none}
.brand small{display:block;font-size:12px;color:#888;font-weight:400;letter-spacing:0}
nav.main{display:flex;gap:6px;flex-wrap:wrap}
nav.main a{padding:10px 14px;color:#333;font-weight:600;border-radius:6px;min-height:44px;display:inline-flex;align-items:center}
nav.main a:hover{background:#fbeaec;color:#c8232c;text-decoration:none}
.layout{display:grid;grid-template-columns:1fr 300px;gap:28px;margin:28px 0}
@media(max-width:900px){.layout{grid-template-columns:1fr}}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}
.card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.08);transition:transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.12)}
.card a{color:inherit;display:block}
.card a:hover{text-decoration:none}
.card .thumb{aspect-ratio:348/215;background:#eee;overflow:hidden}
.card .thumb img{width:100%;height:100%;object-fit:cover}
.card .body{padding:14px 16px 18px}
.card h3{margin:0 0 8px;font-size:17px;line-height:1.35;color:#222}
.card .excerpt{font-size:14px;color:#555;margin:0}
.post{background:#fff;border-radius:8px;padding:28px 30px;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.post h1{margin:0 0 8px;font-size:30px;line-height:1.25;color:#1a1a1a}
.post .meta{color:#888;font-size:14px;margin-bottom:18px;border-bottom:1px solid #eee;padding-bottom:12px}
.post .hero{margin:0 -30px 22px;background:#eee}
.post .hero img{width:100%;height:auto}
.post .content{font-size:17px;line-height:1.75}
.post .content h2,.post .content h3{margin:1.6em 0 .6em;line-height:1.3;color:#1a1a1a}
.post .content h2{font-size:22px}
.post .content h3{font-size:19px}
.post .content p{margin:0 0 1em}
.post .content ul,.post .content ol{padding-left:1.4em;margin:0 0 1em}
.post .content li{margin:.3em 0}
.post .content blockquote{border-left:4px solid #c8232c;padding:8px 16px;margin:1em 0;background:#fbeaec;font-style:italic}
.post .content img{margin:1em 0;border-radius:6px}
.post .content a{color:#c8232c;font-weight:500}
aside.sidebar{display:flex;flex-direction:column;gap:20px}
.widget{background:#fff;border-radius:8px;padding:18px 20px;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.widget h3{margin:0 0 12px;font-size:15px;text-transform:uppercase;letter-spacing:.5px;color:#c8232c;border-bottom:2px solid #c8232c;padding-bottom:8px}
.widget ul{list-style:none;margin:0;padding:0}
.widget li{padding:8px 0;border-bottom:1px solid #f0f0f0}
.widget li:last-child{border:none}
.widget a{color:#333;font-size:14px;line-height:1.4}
.widget a:hover{color:#c8232c}
.search-box{display:flex;gap:6px}
.search-box input{flex:1;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:15px;min-height:44px}
.search-box button{padding:10px 14px;background:#c8232c;color:#fff;border:0;border-radius:6px;font-weight:600;cursor:pointer;min-height:44px}
.site-footer{background:#222;color:#bbb;padding:30px 0 24px;margin-top:40px;font-size:14px}
.site-footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px}
.site-footer a{color:#fff}
.site-footer .legal a{margin:0 8px}
.breadcrumb{font-size:14px;color:#777;margin:0 0 16px}
.breadcrumb a{color:#777}
.breadcrumb span{margin:0 6px;color:#bbb}
@media(max-width:720px){
  .post{padding:22px 18px}
  .post .hero{margin:0 -18px 18px}
  .post h1{font-size:24px}
  .post .content{font-size:16px}
  .brand{font-size:22px}
  nav.main a{padding:8px 10px;font-size:14px}
}
