/* RBNH - Rockford Better Nursing Homes
   Design per design.json: beige damask-style background, two-tier header,
   blue-grey menu bar, script section headings, serif body text. */

:root{
  --bg: #EEE6D6;
  --panel: #F3EDE1;
  --menubar: #5F7491;
  --menubar-text: #FFFFFF;
  --btn: #2E5A87;
  --btn-text: #FFFFFF;
  --text: #333333;
  --heading: #3A3A3A;
  --link: #4A5A7A;
  --border: #D9CDB2;
}

@font-face{ /* fallback handled via Google Fonts link in <head> */ }

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background-color: var(--bg);
  background-image:
    radial-gradient(circle at 20px 20px, rgba(163,142,96,0.10) 2px, transparent 3px),
    radial-gradient(circle at 60px 60px, rgba(163,142,96,0.08) 2px, transparent 3px);
  background-size: 80px 80px;
  color: var(--text);
  font-family: "Libre Baskerville", "EB Garamond", Georgia, "Times New Roman", serif;
  font-size: 17px;
  line-height: 1.65;
}

a{ color: var(--link); text-decoration: underline; }
a:hover{ color: var(--btn); }

.wrap{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
}

/* ---------- Header ---------- */
header.site-header{
  background: var(--panel);
  border-bottom: 1px solid var(--border);
}
.header-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  padding: 18px 0 10px;
  gap: 12px;
}
.logo-text{
  font-family: "Libre Baskerville", Georgia, serif;
  font-weight:700;
  font-size: 26px;
  color: var(--heading);
  text-decoration:none;
  line-height:1.1;
}
.logo-text .script{
  display:block;
  font-family: "Great Vibes", cursive;
  font-size: 30px;
  font-weight: 400;
  color: var(--btn);
}
.tagline{
  display:block;
  font-size: 13px;
  color:#6b6456;
  font-style: italic;
  font-weight:400;
}
nav.top-menu{
  font-size: 15px;
}
nav.top-menu ul{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:0;
  margin:0;padding:0;
}
nav.top-menu li{
  padding: 0 10px;
  border-right: 1px solid var(--border);
}
nav.top-menu li:last-child{ border-right:none; }
nav.top-menu a{
  color: var(--heading);
  text-decoration:none;
}
nav.top-menu a:hover{ text-decoration:underline; }

nav.main-menu{
  background: var(--menubar);
}
nav.main-menu .wrap{
  display:flex;
  justify-content:flex-end;
}
nav.main-menu ul{
  list-style:none;
  display:flex;
  margin:0;padding:0;
  flex-wrap:wrap;
}
nav.main-menu li{ position:relative; }
nav.main-menu > ul > li > a{
  display:block;
  padding: 14px 18px;
  color: var(--menubar-text);
  text-decoration:none;
  font-family:"Great Vibes", cursive;
  font-size: 24px;
  letter-spacing:.5px;
}
nav.main-menu > ul > li.active > a,
nav.main-menu > ul > li > a:hover{
  background: rgba(0,0,0,0.12);
}
nav.main-menu .submenu{
  display:none;
  position:absolute;
  left:0; top:100%;
  background: var(--panel);
  border:1px solid var(--border);
  min-width: 220px;
  z-index: 20;
  box-shadow: 0 6px 14px rgba(0,0,0,0.15);
}
nav.main-menu li:hover .submenu,
nav.main-menu li:focus-within .submenu{ display:block; }
nav.main-menu .submenu li a{
  font-family:"Libre Baskerville", serif;
  font-size: 15px;
  color: var(--heading);
  padding: 9px 14px;
  display:block;
  text-decoration:none;
  border-bottom:1px solid var(--border);
}
nav.main-menu .submenu li:last-child a{ border-bottom:none; }
nav.main-menu .submenu li a:hover{ background: var(--bg); }

/* ---------- Breadcrumbs ---------- */
.breadcrumbs{
  font-size: 13px;
  color:#6b6456;
  margin: 18px 0 6px;
}
.breadcrumbs a{ color:#6b6456; }

/* ---------- Content panel ---------- */
main{
  background: var(--panel);
  margin: 0 auto 36px;
  max-width: 1200px;
  padding: 10px 24px 36px;
  border: 1px solid var(--border);
}
.single-col{ max-width: 780px; margin: 0 auto; }

h1{
  font-family: "Libre Baskerville", Georgia, serif;
  color: var(--heading);
  font-size: 30px;
  line-height:1.25;
  margin: 10px 0 20px;
}
h2.script, .section-title{
  font-family:"Great Vibes", cursive;
  font-size: 34px;
  font-weight:400;
  color: var(--btn);
  margin: 28px 0 10px;
}
h2{
  font-family: "Libre Baskerville", Georgia, serif;
  font-size: 22px;
  color: var(--heading);
  margin: 26px 0 10px;
}
h3{
  font-size: 18px;
  color: var(--heading);
  margin: 18px 0 8px;
}
p{ margin: 0 0 14px; }
ul, ol{ margin: 0 0 14px 22px; padding:0; }
li{ margin-bottom:6px; }

.byline{
  font-size: 14px;
  color:#6b6456;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  padding: 8px 0;
  margin-bottom: 22px;
}

.sources{
  background: var(--bg);
  border:1px solid var(--border);
  padding: 14px 18px;
  margin: 24px 0;
  font-size: 15px;
}
.sources h3{ margin-top:0; font-family:"Libre Baskerville", serif; }
.sources ul{ margin-left:18px; }

.notice{
  background: #fbf3df;
  border: 2px solid var(--btn);
  padding: 16px 20px;
  margin: 18px 0 24px;
  font-size: 16px;
}
.notice strong{ color: var(--btn); }

/* ---------- Buttons ---------- */
.btn{
  display:inline-block;
  background: var(--btn);
  color: var(--btn-text) !important;
  font-family:"Great Vibes", cursive;
  font-size: 20px;
  padding: 8px 20px;
  text-decoration:none;
  border-radius: 3px;
  margin-top: 6px;
}
.btn:hover{ background:#24456a; }

/* ---------- Homepage layout ---------- */
.hero{
  display:flex;
  gap: 24px;
  margin: 20px 0 10px;
  flex-wrap:wrap;
}
.hero-photo{ flex: 2 1 420px; }
.hero-photo img{ width:100%; height:auto; display:block; border:1px solid var(--border); }
.hero-mission{ flex: 1 1 280px; background: var(--bg); border:1px solid var(--border); padding:16px 18px; }

.three-col{
  display:flex;
  gap:22px;
  margin: 24px 0;
  flex-wrap:wrap;
}
.three-col .card{
  flex: 1 1 280px;
  background: var(--bg);
  border: 1px solid var(--border);
  padding: 16px 18px;
}
.card h2.script{ margin-top:0; }

.card-grid{
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  margin: 18px 0;
}
.card-grid .card{
  flex:1 1 300px;
  background: var(--bg);
  border:1px solid var(--border);
  padding: 16px 18px;
}

.related{
  margin-top: 32px;
  border-top: 1px solid var(--border);
  padding-top: 18px;
}
.related h2.script{ margin-top:0; }

.faq-list{ list-style:none; margin:0; padding:0; }
.faq-list li{
  border-bottom:1px solid var(--border);
  padding: 10px 0;
}
.faq-list a{ font-size:17px; }

/* ---------- Footer ---------- */
footer.site-footer{
  background: var(--panel);
  border-top: 2px solid var(--menubar);
  padding: 30px 0 14px;
  font-size: 14px;
  color:#5a5648;
}
.footer-cols{
  display:flex;
  gap: 26px;
  flex-wrap:wrap;
  margin-bottom: 18px;
}
.footer-cols .col{ flex: 1 1 260px; }
.footer-cols h3{
  font-family:"Great Vibes", cursive;
  font-weight:400;
  font-size: 22px;
  color: var(--btn);
  margin: 0 0 8px;
}
.footer-cols ul{ list-style:none; margin:0; padding:0; }
.footer-cols li{ margin-bottom:6px; }
.disclaimer{
  border-top:1px solid var(--border);
  padding-top:14px;
  font-size: 13px;
  color:#6b6456;
}
.copyright{
  text-align:center;
  padding-top: 10px;
  font-size: 13px;
  color:#6b6456;
}

/* ---------- Responsive ---------- */
@media (max-width: 760px){
  .header-top{ flex-direction:column; align-items:flex-start; }
  nav.main-menu .wrap{ justify-content:flex-start; }
  nav.main-menu > ul{ flex-direction:column; width:100%; }
  nav.main-menu .submenu{ position:static; display:none; }
  nav.main-menu li:hover .submenu, nav.main-menu li:focus-within .submenu{ display:block; }
  .hero{ flex-direction:column; }
  main{ padding: 10px 14px 28px; }
  h1{ font-size:24px; }
}

.article-photo{
  display:block;
  width:100%;
  height:auto;
  border-radius:4px;
  margin: 18px 0;
}

/* image placeholders (used until real licensed stock photos are supplied) */
.img-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  background: repeating-linear-gradient(45deg, #ddd2b4, #ddd2b4 10px, #e7dcc0 10px, #e7dcc0 20px);
  color:#6b6456;
  font-size: 14px;
  text-align:center;
  border:1px dashed #a3936a;
  min-height: 220px;
  padding: 10px;
}
