:root { --livia-ink:#171415; --livia-paper:#f5f0e8; --livia-wine:#612035; --livia-sand:#c6aa7d; --livia-muted:#73675f; --livia-rule:rgba(23,20,21,.18); }
body { background:var(--livia-paper); color:var(--livia-ink); }
body, .et_pb_module, .et_pb_text, .et_pb_button { font-family:Arial, Helvetica, sans-serif; }
h1,h2,h3,h4,h5,h6,.et_pb_text h1,.et_pb_text h2,.et_pb_text h3 { color:var(--livia-ink); font-family:Georgia, 'Times New Roman', serif; font-weight:400; letter-spacing:-.025em; }
#main-header { background:rgba(245,240,232,.96); box-shadow:none; border-bottom:1px solid var(--livia-rule); }
#et-top-navigation a { color:var(--livia-ink); font-size:12px; letter-spacing:.11em; text-transform:uppercase; }
#main-footer { background:var(--livia-ink); color:var(--livia-paper); }
.entry-content > p:first-child, .et_pb_text > p:first-child { font-family:Georgia, 'Times New Roman', serif; font-size:clamp(1.45rem,2.3vw,2.4rem); line-height:1.2; max-width:26ch; }
.livia-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1.25rem,3vw,3.25rem); margin:3rem 0 5rem; }
.livia-card { border-top:1px solid var(--livia-rule); padding-top:.85rem; transition:transform .35s ease; }
.livia-card:hover { transform:translateY(-6px); }
.livia-card img { aspect-ratio:1 / 1; display:block; filter:saturate(.94); height:auto; object-fit:cover; transition:filter .35s ease; width:100%; }
.livia-card:hover img { filter:saturate(1.08); }
.livia-card a { color:inherit; text-decoration:none; }
.livia-card h3 { font-family:Georgia, 'Times New Roman', serif; font-size:clamp(1.15rem,1.7vw,1.6rem); font-weight:400; line-height:1.08; margin:.85rem 0 .28rem; }
.livia-card p,.livia-kicker { color:var(--livia-muted); font-size:.72rem; letter-spacing:.12em; margin:0; text-transform:uppercase; }
.livia-event-list { margin:2.5rem 0 4rem; }
.livia-event-list article { border-top:1px solid var(--livia-rule); padding:1.5rem 0; }
.livia-event-list h3 { font-family:Georgia, 'Times New Roman', serif; font-size:clamp(1.6rem,3vw,3rem); font-weight:400; line-height:1; margin:.4rem 0; }
.livia-event-list a { color:inherit; text-decoration:none; }
.livia-event-list h3 a:hover { color:var(--livia-wine); }
.livia-details { border-top:1px solid var(--livia-sand); margin-top:3rem; max-width:28rem; padding-top:1.15rem; }
.livia-button,.et_pb_button { background:var(--livia-wine); border:0; border-radius:0; color:#fff !important; display:inline-block; font-size:.72rem; letter-spacing:.14em; padding:.95rem 1.25rem; text-decoration:none; text-transform:uppercase; }
.livia-button:hover,.et_pb_button:hover { background:var(--livia-ink); padding:.95rem 1.25rem !important; }
.livia-calendar { margin:3rem 0 5rem; }
.livia-calendar-nav { align-items:center; border-bottom:1px solid var(--livia-rule); display:flex; justify-content:space-between; margin-bottom:1rem; padding-bottom:1rem; }
.livia-calendar-nav a { color:var(--livia-wine); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; }
.livia-calendar-nav h2 { font-family:Georgia, 'Times New Roman', serif; font-size:clamp(1.45rem,2vw,2rem); font-weight:400; margin:0; }
.livia-calendar-grid { border-left:1px solid var(--livia-rule); border-top:1px solid var(--livia-rule); display:grid; grid-template-columns:repeat(7,1fr); }
.livia-calendar-heading,.livia-calendar-day { border-bottom:1px solid var(--livia-rule); border-right:1px solid var(--livia-rule); min-height:7rem; padding:.6rem; }
.livia-calendar-heading { color:var(--livia-muted); font-size:.65rem; letter-spacing:.1em; min-height:0; text-transform:uppercase; }
.livia-calendar-day span { display:block; font-family:Georgia, 'Times New Roman', serif; margin-bottom:.5rem; }
.livia-calendar-day a { color:var(--livia-wine); display:block; font-size:.74rem; line-height:1.25; margin:.3rem 0; text-decoration:none; }
@media (max-width:980px) { .livia-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:720px) { .livia-grid { grid-template-columns:1fr; gap:1.5rem; } .livia-calendar-heading { display:none; } .livia-calendar-grid { grid-template-columns:1fr; } .livia-calendar-day { min-height:auto; } .livia-calendar-day.is-empty { display:none; } }
