*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
  --cream:#fdf6ec;
  --brown:#3e2723;
  --gold:#c7923e;
  --tan:#e8d5b7;
  --text:#4a3728;
  --white:#fff;
}

html{scroll-behavior:smooth}

body{
  font-family:'Georgia','Times New Roman',serif;
  color:var(--text);
  background:var(--cream);
  line-height:1.7;
}

/* ---- Hero ---- */
.hero{
  position:relative;
  min-height:90vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  overflow:hidden;
  background:
    linear-gradient(135deg,#d4a76a 0%,#8b5e3c 40%,#5d3a1a 100%);
}

.hero-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 80% 60% at 50% 40%,rgba(253,246,236,.18) 0%,transparent 70%),
    repeating-conic-gradient(from 0deg at 50% 50%,transparent 0deg,rgba(255,255,255,.012) 3deg,transparent 6deg);
  pointer-events:none;
}

.hero-content{position:relative;z-index:1;padding:2rem}

.hero h1{
  font-size:clamp(2.8rem,7vw,5.5rem);
  color:var(--white);
  letter-spacing:.04em;
  line-height:1.15;
  text-shadow:0 2px 12px rgba(0,0,0,.35);
}

.amp{
  font-style:italic;
  color:var(--gold);
}

.tagline{
  margin-top:1rem;
  font-size:clamp(1rem,2.5vw,1.4rem);
  color:var(--tan);
  font-style:italic;
}

.cta{
  display:inline-block;
  margin-top:2rem;
  padding:.8rem 2.4rem;
  font-size:1rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--brown);
  background:var(--gold);
  border-radius:4px;
  transition:background .2s,transform .2s;
}
.cta:hover{background:#daa54a;transform:translateY(-2px)}

/* ---- Sections ---- */
main{max-width:720px;margin:0 auto;padding:4rem 1.5rem}

section{margin-bottom:4rem}

h2{
  font-size:1.6rem;
  color:var(--brown);
  margin-bottom:1rem;
  position:relative;
  display:inline-block;
}
h2::after{
  content:'';
  display:block;
  width:50%;
  height:3px;
  background:var(--gold);
  margin-top:.35rem;
  border-radius:2px;
}

.about p{font-size:1.05rem}

/* ---- Hours ---- */
table{
  width:100%;
  border-collapse:collapse;
  margin-top:.5rem;
}
td{
  padding:.6rem 0;
  border-bottom:1px solid var(--tan);
  font-size:1rem;
}
td:last-child{text-align:right;font-weight:bold}

/* ---- Contact ---- */
address{font-style:normal;font-size:1.05rem}
address p{margin-bottom:.5rem}
address a{color:var(--gold);text-decoration:none}
address a:hover{text-decoration:underline}

/* ---- Footer ---- */
footer{
  text-align:center;
  padding:2rem 1rem;
  font-size:.85rem;
  color:#9e8b7a;
  border-top:1px solid var(--tan);
}

/* ---- Responsive ---- */
@media(max-width:480px){
  main{padding:2.5rem 1rem}
  td{font-size:.9rem}
}
