/* Core legacy styles (existing) … keep all your existing rules */
body {
  font: 11px Verdana, Helvetica, Arial;
  margin: 0px;
  background-color: #F9F2DF;
  background-image: url('../images/watermark.gif');
  background-repeat: no-repeat;
  background-position: 50px 115px;
}
table { border: none; font: 11px Verdana, Helvetica, Arial; }
img { border: none; }
a { font-weight: bold; color: #c90; text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { font-size: 16px; color: #000; }
h2 { font-size: 12px; color: #000; }

div.blocks-top    { position: relative; width: 100%; background-image: url('../images/main_blue_background.gif'); }
div.blocks-menu   { position: relative; width: 100%; background-image: url('../images/menu_background.png'); background-repeat: repeat-x; background-color: #f1d898; }
div.blocks-main   { position: relative; width: 100%; }
div.blocks-inner  { position: relative; width: 30%; margin: 10px; }
div.blocks-bottom { position: relative; width: 100%; background-image: url('../images/feature_box_centre.gif'); }
div.blocks-bottom-margin { position: relative; width: 100%; height: 11px; background-image: url('../images/feature_box_top_centre.gif'); }
div.blocks-bottom-bottom { position: relative; width: 100%; height: 11px; background-image: url('../images/feature_box_bottom_centre.gif'); }

div.blocks-menu p { padding: 5px; margin: 0px; }
div.blocks-menu p a { color: #c90; font-size: 14px; padding-right: 22px; padding-left: 22px; }

/* ====== Existing additions for header/menu spacing ====== */
#top { display:block; width:0; height:0; margin:0; padding:0; }

.ov-rendered-only .blocks-top table,
.ov-rendered-only .blocks-menu table { border-collapse: collapse; border-spacing: 0; }
.ov-rendered-only .blocks-top td,
.ov-rendered-only .blocks-menu td { padding: 0; vertical-align: middle; }
.ov-rendered-only .blocks-top img { display:block; line-height:0; border:0; }

.ov-rendered-only .blocks-menu { padding-left: 2.75rem; margin:0; padding-top:0; padding-bottom:0; }
.ov-rendered-only .blocks-menu p { padding: 5px 5px 0; margin: 0; } /* remove bottom gap under menu bar */

.ov-rendered-only.blocks-main > p:first-child { margin-top: 0; }
.ov-rendered-only.blocks-main > p:first-child > img:only-child { display:block; line-height:0; }

/* Kill seams in the storyteller “feature box” frame */
.ov-rendered-only .feature-box,
.ov-rendered-only .feature-box table {
  border-collapse: collapse;
  border-spacing: 0;
}

.ov-rendered-only .feature-box td {
  padding: 0;
  vertical-align: top;
  /* REMOVED: line-height: 0;  <-- this was squashing text */
}

/* keep line-height:0 on the SLICE IMAGES only */
.ov-rendered-only .feature-box img {
  display: block;
  line-height: 0;
  border: 0;
  vertical-align: top;
}

/* text cell: give it normal rhythm + a bit of breathing room */
.ov-rendered-only .feature-box .feature-box-inner {
  background-color: #f4e5bc;
  padding: 8px 10px;     /* add some interior space */
  line-height: 1.4;      /* restore readable line height */
}

.ov-rendered-only .feature-box .feature-box-inner p {
  margin: 0 0 .6rem;     /* basic paragraph spacing */
}

/* optional: lock portrait image to exact px to avoid subpixel seams */
.ov-rendered-only .feature-box .portrait-img {
  width: 137px;          /* your actual portrait width */
  height: auto;
}

