
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Poppins:wght@300;400;500;600&display=swap');

:root {
  --solis-body:#3B2414;
  --solis-paper:#FBF4E6;
  --solis-frame:#CBB082;
  --solis-gold:#946C3C;
  --solis-gold-light:#C9A25F;
  --solis-header:#F5EBDC;
  --solis-footer:#F7E9D4;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: linear-gradient(180deg, #FAF7F0 0%, #F7F4EF 35%, #EADBBF 100%);
  color: #3B2414;
  font-family: "Times New Roman", serif;
  line-height: 1.8;
  margin: 0;
  padding: 0;
  min-height: 100vh;
}
a { color:#946C3C; text-decoration:none; }
a:hover, a:focus { color:#C9A25F; text-decoration:underline; }
.site-header {
  position: relative;
  background:#F5EBDC;
  border:none;
  box-shadow:none;
  z-index:20;
}
.nav-wrap { max-width: 1100px; margin:0 auto; padding:20px 24px 1.5rem; }
.site-nav { display:flex; justify-content:center; align-items:center; gap:1.55rem; flex-wrap:wrap; }
.site-nav a {
  font-family:"Poppins",sans-serif;
  color:#5A4330;
  font-weight:500;
  font-size:1rem;
}
.site-nav a[aria-current="page"] { color:#946C3C; text-decoration:underline; text-underline-offset:.35em; }
.menu-toggle { display:none; border:1px solid #CBB082; background:#FBF4E6; color:#5A4330; padding:.55rem .8rem; border-radius:6px; font-family:"Poppins",sans-serif; margin:0 auto; }
main { margin-top:0; }
.entry-content {
  background-color:#FBF4E6;
  border:2px solid #CBB082;
  box-shadow:0 0 18px rgba(150,120,70,.18);
  border-radius:8px;
  max-width:900px;
  margin:60px auto;
  padding:50px 60px;
  box-sizing:border-box;
}
.home .entry-content {
  padding:0;
  overflow:hidden;
  background:transparent;
  border:0;
  box-shadow:none;
  max-width:none;
  width:100%;
  margin:0;
}
.home .entry-content figure {
  width:100%;
  margin:0;
}
.home .entry-content img {
  width:100%;
  height:auto;
}
h1,h2,h3,h4,h5,h6 {
  font-family:"Playfair Display",serif;
  color:#7A572E;
  letter-spacing:.4px;
  line-height:1.3;
}
h1 {
  text-align:center;
  font-size:44px;
  margin-bottom:34px;
  border-bottom:1px solid #D1AF7A;
  padding-bottom:12px;
}
h2 { font-size:25px; margin-top:40px; margin-bottom:18px; color:#946C3C; }
h3 { font-size:22px; color:#8B6A3E; margin-top:32px; margin-bottom:14px; }
p, li { text-align:justify; font-size:18px; margin-bottom:20px; color:#3A2818; }
blockquote { margin:1.5rem 0; padding:.25rem 0 .25rem 1.25rem; border-left:3px solid #CBB082; font-style:italic; }
figure { margin:1.5rem auto; }
img { max-width:100%; height:auto; display:block; }
.wp-block-image.aligncenter, .aligncenter { text-align:center; margin-left:auto; margin-right:auto; }
.wp-block-image.aligncenter img { margin-left:auto; margin-right:auto; }
.wp-block-separator, hr { border:0; border-top:1px solid #D1AF7A; margin:2rem 0; }
.has-text-align-center { text-align:center !important; }
.has-text-align-right { text-align:right !important; }
.has-text-align-left { text-align:left !important; }
.has-large-font-size { font-size:1.25rem; }
.has-medium-font-size { font-size:1.05rem; }
.has-small-font-size { font-size:.9rem; }
.wp-block-buttons { display:flex; gap:.75rem; flex-wrap:wrap; margin:1.5rem 0; }
.wp-block-button__link { display:inline-block; padding:.65rem 1.05rem; border:1px solid #CBB082; border-radius:999px; background:#F7E9D4; }
.wp-block-columns { display:flex; gap:2rem; align-items:flex-start; }
.wp-block-column { flex:1 1 0; min-width:0; }
.site-footer {
  background:#F7E9D4;
  padding:0;
  margin:0;
}
.site-footer p {
  text-align:center !important;
  color:#3B2414 !important;
  font-size:.9rem !important;
  padding:18px 20px;
  margin:0;
}
.story .entry-content { background:#F7F4EF; }
.story .entry-content p { text-align:left !important; font-family:"Poppins",sans-serif; font-size:16px; line-height:1.8; color:#3E2B22; }
.story .entry-content h1 { color:#6B4E3D; }
.skip-link { position:absolute; left:-9999px; }
.skip-link:focus { left:1rem; top:1rem; z-index:100; padding:.5rem; background:white; }

@media (max-width: 768px) {
  .nav-wrap { padding:14px 14px 16px; }
  .menu-toggle { display:block; }
  .site-nav { display:none; flex-direction:column; gap:.7rem; padding-top:1rem; }
  .site-nav.open { display:flex; }
  .entry-content { padding:35px 24px; margin:30px 10px; }
  .home .entry-content { margin:20px 10px; }
  h1 { font-size:36px; }
  h2 { font-size:22px; }
  p, li { font-size:17px; }
  .wp-block-columns { flex-direction:column; }
}
