:root {
  --container-max: 72ch;
}

html,
body {
  background: #fff;
  color: #111;
  margin: 0;
  padding: 0;
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.container {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 1.25rem;
}

header {
  text-align: center;
  margin: 1.25rem 0 0.5rem;
}

h1, h2 {font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;}
.site-title, .site-subtitle {
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  
  font-weight: 600;
  letter-spacing: 0.3px;
  margin: 0.25rem 0;
}

h2 {font-weight:normal}


.site-title {
  font-size: 1.9rem;
}

.site-subtitle {
  font-size: clamp(1.4rem, 1.6vw, 1.35rem);
}

.site-tagline {
  font-size: 0.9rem;
  margin: 0.25rem 0 0.75rem;
  color: #333;
}

nav {font-size:0.8em}

nav a {
  color: #111;
  text-decoration: none;
  margin: 0 0.35rem;
}

nav a:hover {
  text-decoration: underline;
}

hr.rule {
  border: 0;
  border-top: 2px solid #eee;
  margin: 1.25rem 0;
}


.contents {
  /* font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial; */
  font-size: 0.8rem;
  
  
}

.feature {
  margin: 1.25rem 0 1.5rem;
}


.feature img {
  float: right;
  width: min(45%, 320px);
  height: auto;
  margin: 0 0 0.75rem 1rem;
  border-radius: 4px;
  object-fit: cover;
  shape-outside: inset(0 round 6px);
}

.feature::after {
  content: "";
  display: table;
  clear: both;
}


.section-title {
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  font-size: 1.6rem;
  font-weight: 600;
  margin: 0 0 1rem;
}

.topimage,
.img-fluid {
  display: block;
  float: none;
  clear: both;
  /* sits below any earlier floats */
  max-width: 70%;
  /* 70% of the container/page width */
  max-height: 70%;
  /* keep aspect ratio */
  margin: 0 auto 1rem;
  /* centered, space below */
}



.posts {
  display: grid;
  gap: 1rem;
}

.post {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  margin-bottom: 2rem; /* adjust as needed */
}

.post:last-child {
  margin-bottom: 0; /* prevent extra gap after the final post */
}

.post img {
  width: 175px;
  height: auto;
  /* flex: 0 0 140px; */
  border-radius: 4px;
  object-fit: cover;
  vertical-align: top;
}

.post .text {
  flex: 1;
}

.post .title {
  font-weight: 600;
  margin: 0 0 0.25rem;
}

.post p {
  margin: 0;
  
}

p {
  margin: 0 0 0.9rem;
}

p.wordcount {
padding-top: 0.5em;
  font-size: 0.8em;
  font-style:italic;
  font-weight:400;
}

.ptitle .psubtitle {
  display: block;
}

.ptitle {
  font-size: 1.9em;     /* matches large bold title */
  font-weight: bold;
  margin-bottom: 0.2em;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
}


.psubtitle{
  font-style:italic;
  font-size: 0.7em;   /* slightly smaller */
  font-weight: normal;
  margin-top: 0.0em;
  margin-bottom:0.2em;
}


a {
  color: #0a3a52;
}

@media (max-width: 700px) {
  .feature img {
    float: none;
    display: block;
    width: 100%;
    margin: 0 0 0.75rem 0;
    shape-outside: none;
  }
}

@media (max-width: 560px) {
  .post {
    flex-direction: column;
  }

  .post img {
    width: 100%;
    height: auto;
    flex-basis: auto;
  }
}

.measure-72 {
  width: min(72ch, 100%);
  margin-inline: left;        /* center in its parent */
  overflow-wrap: anywhere;    /* wrap long tokens so the width is respected */
  box-sizing: border-box;     /* padding stays inside the 72ch */
}

/* Footer styles */
footer {
  background: #f7f7f7;
  border-top: 1px solid #ccc;
  padding: 1rem 0;
  margin-top: 2rem;
}

footer .container {
  text-align: center;
  font-size: 0.9rem;
  color: #555;
}

.share {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;   /* cross-axis alignment */
  list-style: none;
  padding: 0;
  margin: 1rem 0;
}

.share li { display: flex; }

.share a,
.share button {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin: 0;                 /* kill default button margin */
  text-decoration: none;
  font: 500 0.95rem ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  line-height: 1;            /* same text box height */
  padding: .45rem .7rem;
  min-height: 2.25rem;       /* consistent height */
  border: 1px solid #ccc;
  border-radius: .75rem;
  background: #f7f7f7;
  color: #0a3a52;
  cursor: pointer;
}

.share a:hover,
.share button:hover { background: #eee; }
