*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#1d1d1d;background:#fff7ef;line-height:1.55}a{color:inherit}nav{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 6vw}.brand{font-weight:800;font-size:1.15rem}.navlinks{display:flex;gap:18px;font-weight:700}.hero{background:linear-gradient(135deg,#fff1dc,#ffd0a1)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center;padding:36px 6vw 70px}.hero h1{font-size:clamp(2.4rem,6vw,5.2rem);line-height:.95;margin:10px 0 18px}.eyebrow{font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#8e3418}.subheading{font-size:clamp(1.05rem,2vw,1.35rem);max-width:760px}.hero-img{width:100%;border-radius:26px;box-shadow:0 20px 50px rgba(0,0,0,.22);object-fit:cover;max-height:680px}.buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.button{border:2px solid #151515;border-radius:999px;padding:12px 18px;text-decoration:none;font-weight:800;background:#fff}.button.primary{background:#151515;color:#fff}.section{padding:58px 6vw;max-width:1260px;margin:auto}.section h2{font-size:clamp(1.8rem,4vw,3.2rem);line-height:1.05;margin:0 0 18px}.intro>p,.menu>p,.location>p,.seo-text>p{font-size:1.15rem;max-width:850px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}.cards div{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:18px;padding:20px;box-shadow:0 8px 20px rgba(0,0,0,.05)}.cards h3{margin-top:0}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.photo-grid img{width:100%;height:260px;object-fit:cover;border-radius:18px;background:#eee}.about{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.about img{width:100%;border-radius:22px;box-shadow:0 12px 32px rgba(0,0,0,.18)}.menu-pages{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.menu-pages img{width:100%;border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.16);background:white}footer{text-align:center;padding:34px 6vw;background:#151515;color:#fff}footer a{color:#fff}@media(max-width:850px){nav{align-items:flex-start}.navlinks{font-size:.92rem;gap:12px;flex-wrap:wrap}.hero-grid,.about{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.photo-grid{grid-template-columns:1fr 1fr}.menu-pages{grid-template-columns:1fr}.hero-img{max-height:none}}@media(max-width:520px){.cards,.photo-grid{grid-template-columns:1fr}.section{padding:42px 5vw}.hero-grid{padding:22px 5vw 48px}.photo-grid img{height:auto}}
.story-text-menu{background:#fff;border-radius:22px;margin-top:30px}
.story-text-menu h2{margin-top:32px}
.story-text-menu h3{margin-top:22px;margin-bottom:6px;font-size:1.25rem}
.story-text-menu p,.story-text-menu li{font-size:1.05rem}
.story-text-menu ul{padding-left:22px}


/* V3 readability improvements */
.story-text-menu,
.homepage-positioning,
section:has(> h2),
section:has(> h3) {
  padding-left: 30px;
  padding-right: 30px;
}

.story-text-menu,
.homepage-positioning {
  padding-top: 24px;
  padding-bottom: 24px;
}

.homepage-positioning ul,
.story-text-menu ul {
  margin-left: 0;
  padding-left: 22px;
}

@media (max-width: 640px) {
  .story-text-menu,
  .homepage-positioning,
  section:has(> h2),
  section:has(> h3) {
    padding-left: 24px;
    padding-right: 24px;
  }
}


/* V4 final typography and spacing refinements */
.story-text-menu,
.homepage-positioning,
section:has(> h2),
section:has(> h3) {
  padding-left: 30px;
  padding-right: 30px;
}

.story-text-menu,
.homepage-positioning {
  padding-top: 20px;
  padding-bottom: 24px;
  font-size: 1.08rem;
  line-height: 1.55;
}

.story-text-menu p,
.story-text-menu li,
.homepage-positioning p,
.homepage-positioning li,
section p,
section li {
  font-size: 1.06rem;
  line-height: 1.55;
}

.story-text-menu h2,
.homepage-positioning h2 {
  margin-top: 22px;
  margin-bottom: 10px;
}

.story-text-menu h3,
.homepage-positioning h3 {
  margin-top: 18px;
  margin-bottom: 8px;
}

.story-text-menu ul,
.homepage-positioning ul {
  margin-top: 6px;
  margin-bottom: 16px;
  padding-left: 22px;
}

.homepage-positioning {
  margin-top: 8px;
}

@media (max-width: 640px) {
  .story-text-menu,
  .homepage-positioning,
  section:has(> h2),
  section:has(> h3) {
    padding-left: 24px;
    padding-right: 24px;
  }

  .story-text-menu p,
  .story-text-menu li,
  .homepage-positioning p,
  .homepage-positioning li,
  section p,
  section li {
    font-size: 1.02rem;
    line-height: 1.55;
  }
}
