.hero{padding:40px 0 32px;text-align:center}
.hero h1{font-size:clamp(32px,5vw,52px);line-height:1.15;margin-bottom:10px}
.sub{font-size:18px;color:var(--wine);margin-bottom:12px}
.hero .desc{max-width:560px;margin:0 auto 18px;color:var(--muted)}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:24px}
.frame{
  max-width:720px;margin:0 auto;padding:10px;border:1px solid var(--gold);
  outline:1px solid var(--gold);outline-offset:6px;background:var(--vel);
}
.frame img{width:100%;height:220px;object-fit:cover}
.seals{display:flex;justify-content:center;gap:28px;margin-top:18px;flex-wrap:wrap}
.seals div{text-align:center}
.seals strong{display:block;font-size:22px;color:var(--wine)}
.seals span{font-size:12px;letter-spacing:.12em;color:var(--muted)}

.caps{padding:36px 0;background:#efe6d8}
.trays{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.tray{
  width:280px;background:var(--vel);color:var(--cream);padding:28px 22px 24px;
  border-bottom:6px solid var(--gold);
}
.tray:nth-child(2){margin-top:28px}
.tray h3{color:var(--gold);margin-bottom:10px;font-size:18px}
.tray p{font-size:14px;color:#e8d7c8}

.path{padding:36px 0}
.appt{max-width:640px;margin:0 auto}
.slot{
  display:grid;grid-template-columns:88px 1fr;gap:16px;padding:16px 0;
  border-bottom:1px solid var(--line);
}
.when{color:var(--gold);font-weight:700;letter-spacing:.12em;font-size:13px}

.lists{padding:10px 0 40px}
.spread{display:grid;grid-template-columns:1fr 1.1fr;gap:20px;align-items:center;margin-bottom:28px}
.spread:nth-child(even){grid-template-columns:1.1fr 1fr}
.spread:nth-child(even) .pic{order:2}
.spread h3{margin-bottom:10px}
.spread li{padding:4px 0;color:var(--muted)}
.spread img{width:100%;height:140px;object-fit:cover;border:1px solid var(--gold)}

.faq{padding:10px 0 36px}
.acc{max-width:720px;margin:0 auto}
.acc button{
  width:100%;text-align:left;padding:14px 0;background:transparent;border:0;
  border-bottom:1px solid var(--gold);color:var(--wine);font-size:16px;font-weight:700;
}
.acc .a{display:none;padding:8px 0 14px;color:var(--muted);font-size:14px}
.acc .on + .a{display:block}

.cta{padding:0 0 48px}
.invite{
  text-align:center;padding:36px 20px;background:var(--vel);color:var(--cream);
  border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);
}
.invite h2{color:var(--gold);margin-bottom:10px;font-size:clamp(20px,3vw,28px)}
.invite p{margin-bottom:16px;color:#e8d7c8}

@media(max-width:800px){
  .spread,.spread:nth-child(even){grid-template-columns:1fr}
  .spread:nth-child(even) .pic{order:0}
  .tray{margin-top:0!important}
}
