
:root{
  --bg:#fff8ef;
  --paper:#f7eddc;
  --ink:#4d3620;
  --accent:#c98a1f;
  --accent-dark:#8d5e16;
  --line:#e2cfa6;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Georgia, "Times New Roman", serif;
  color:var(--ink);
  background:linear-gradient(180deg,#fffaf3 0%,#f9efdf 100%);
}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{width:min(1120px,92vw);margin:0 auto}
.site-header{
  padding:24px 0 8px;
  background:rgba(255,248,239,.96);
  position:sticky;top:0;z-index:10;
  backdrop-filter: blur(8px);
  border-bottom:1px solid var(--line);
}
.topbar{display:flex;gap:18px;align-items:center}
.logo{width:88px;height:88px;object-fit:contain;background:#fff;border-radius:50%;padding:8px;border:1px solid var(--line)}
h1{margin:0;font-size:clamp(2rem,5vw,3.3rem);line-height:1}
.tagline,.eyebrow{margin:.3rem 0 0}
.eyebrow{font-size:.88rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-dark)}
.tagline{font-style:italic;color:#6e5338}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center;padding:42px 0 24px}
.hero-copy h2{font-size:clamp(1.8rem,3.5vw,2.8rem);margin:.2rem 0 1rem}
.hero-copy p{font-size:1.08rem;line-height:1.75}
.hero-image{border-radius:28px;border:1px solid var(--line);box-shadow:0 18px 40px rgba(100,70,30,.14)}
.btn{
  display:inline-block;padding:14px 22px;border-radius:999px;text-decoration:none;
  background:var(--accent);color:#fff;border:none;cursor:pointer;font-weight:700;
  box-shadow:0 10px 24px rgba(201,138,31,.25)
}
.btn-light{background:#fff;color:var(--ink);border:1px solid var(--line)}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:1.2rem}
.section{padding:28px 0}
.card,.package-card,.contact-card{
  background:rgba(255,255,255,.58);
  border:1px solid var(--line);
  border-radius:28px;
  box-shadow:0 12px 30px rgba(80,60,20,.08);
}
.card{padding:22px}
.full-poster,.gift-image{border-radius:18px}
.section-heading h3{margin:.2rem 0 .45rem;font-size:clamp(1.5rem,3vw,2.2rem)}
.section-heading p{margin:0;color:#6f5c46}
.grid-packages{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px
}
.package-card{overflow:hidden}
.package-card img{aspect-ratio:4/5;object-fit:cover}
.package-text{padding:18px}
.package-text h4{margin:0 0 .8rem;font-size:1.55rem}
.package-text ul{margin:0;padding-left:1.1rem;line-height:1.7}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gallery-grid img{aspect-ratio:1/1;object-fit:cover;border-radius:20px;border:1px solid var(--line)}
.booking-form{
  margin-top:18px;
  display:grid;gap:14px;
  background:rgba(255,255,255,.72);
  border:1px solid var(--line);
  border-radius:28px;
  padding:24px;
}
.booking-form label{display:grid;gap:8px;font-weight:600}
.booking-form input,.booking-form textarea,.booking-form select{
  width:100%;padding:14px 16px;border-radius:16px;border:1px solid var(--line);
  background:#fffdf8;font:inherit;color:inherit
}
.contact-box{padding-bottom:42px}
.contact-card{padding:24px;text-align:center}
.site-footer{padding:18px 0 40px;text-align:center;color:#7b674e}
@media (max-width: 920px){
  .hero,.two-col,.grid-packages,.gallery-grid{grid-template-columns:1fr}
  .logo{width:70px;height:70px}
}
