:root {
  --bg: #f6f1e8;
  --paper: #fffdf8;
  --ink: #2f2a24;
  --muted: #7a7065;
  --accent: #a65d57;
  --accent-soft: #ead2cf;
  --line: #d8cfc4;
}

*{
box-sizing:border-box;
}

body{
margin:0;
font-family:Georgia,"Times New Roman",serif;
background:var(--bg);
color:var(--ink);
line-height:1.7;
}

a{
color:var(--accent);
text-decoration:none;
}

a:hover{
text-decoration:underline;
}

.layout{
width:1100px;
max-width:95%;
margin:30px auto;
display:grid;
grid-template-columns:2fr 1fr;
gap:25px;
}

.card{
background:var(--paper);
border:1px solid var(--line);
border-radius:15px;
}

.hero{
padding:35px;
margin-bottom:25px;
}

.site-title{
margin:0;
font-size:42px;
}

.tagline{
color:var(--muted);
}

.nav{
margin-top:20px;
}

.nav a{
margin-right:10px;
padding:7px 14px;
border:1px solid var(--line);
border-radius:20px;
background:white;
}

.post{
padding:25px;
margin-bottom:20px;
}

.post-meta{
font-size:14px;
color:var(--muted);
margin-bottom:10px;
}

.post h2{
margin-top:0;
}

.read-more{
font-weight:bold;
}

.sidebar{
display:flex;
flex-direction:column;
gap:20px;
}

.box{
padding:20px;
}

.about-photo{
width:100%;
aspect-ratio:1/1;
background:#ddd;
border-radius:10px;
display:flex;
align-items:center;
justify-content:center;
margin-bottom:10px;
}

.badge{
display:inline-block;
padding:5px 10px;
background:var(--accent-soft);
border-radius:20px;
font-size:13px;
margin:3px;
}

.list{
list-style:none;
padding:0;
}

.list li{
margin-bottom:8px;
}

.footer{
text-align:center;
margin:40px 0;
color:var(--muted);
}

.blink{
animation:blink 1s infinite;
color:var(--accent);
}

@keyframes blink{
50%{opacity:0.3;}
}