@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');

:root{--ink:#20201e;--paper:#f4f0e8;--cream:#faf8f2;--accent:#d9573f;--muted:#77736c;--line:#d8d1c5;--max:1160px}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.55}
a{color:inherit} .site-header{max-width:var(--max);margin:auto;padding:28px 28px 18px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.logo{font-size:18px;text-decoration:none;display:flex;flex-direction:column;line-height:.9;letter-spacing:-.04em}.logo span{font-weight:500}.logo strong{font:700 25px "Playfair Display",serif}
nav{display:flex;gap:26px;flex-wrap:wrap;justify-content:flex-end}nav a{text-decoration:none;font-size:14px}nav a:hover,nav .active{color:var(--accent)}
.hero{max-width:var(--max);margin:40px auto 110px;padding:0 28px;min-height:570px;display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:50px}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;color:var(--accent);margin:0 0 18px}
h1,h2,h3{line-height:1.05;margin:0 0 22px;letter-spacing:-.035em}h1{font:700 clamp(64px,9vw,116px) "Playfair Display",serif}h1 em{color:var(--accent);font-weight:600}
.lede{max-width:520px;font-size:19px;color:#56534e;margin:0 0 32px}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.button{display:inline-block;background:var(--ink);color:#fff;text-decoration:none;padding:13px 20px;border-radius:999px;font-size:14px;font-weight:700}.button:hover{background:var(--accent)}.button.small{padding:10px 16px}
.text-link{font-size:14px;font-weight:700;text-underline-offset:5px}.text-link:hover{color:var(--accent)}
.hero-art{height:520px;position:relative;background:#242321;border-radius:3px;overflow:hidden}.spotlight{position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(244,240,232,.95) 0,rgba(244,240,232,.5) 28%,rgba(244,240,232,0) 68%);left:50%;top:34%;transform:translate(-50%,-50%)}.mic{position:absolute;width:120px;height:240px;border:7px solid var(--paper);border-radius:60px;left:50%;top:39%;transform:translate(-50%,-50%)}.mic:after{content:"";position:absolute;width:70px;height:90px;border:7px solid var(--paper);border-top:0;border-radius:0 0 50px 50px;left:18px;top:120px}.mic span{position:absolute;left:50%;top:230px;width:7px;height:70px;background:var(--paper);transform:translateX(-50%)}.stage-line{position:absolute;left:25%;right:25%;bottom:45px;height:3px;background:var(--accent)}
.intro{max-width:760px;margin:0 auto 110px;padding:0 28px}.intro h2{font:600 clamp(38px,5vw,62px) "Playfair Display",serif}.intro>p:last-child{font-size:18px;color:#5e5a54}
.feature-card{max-width:var(--max);margin:0 auto 120px;padding:48px;background:var(--cream);display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.feature-card h2{font:600 44px "Playfair Display",serif}.event-meta{color:var(--muted);font-size:14px}.number{font:700 110px "Playfair Display",serif;color:var(--line)}
footer{max-width:var(--max);margin:auto;padding:28px;display:flex;justify-content:space-between;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
.page{max-width:var(--max);margin:70px auto 120px;padding:0 28px}.page-heading{max-width:750px;margin-bottom:80px}.page-heading h1{font-size:clamp(62px,9vw,100px)}.page-heading>p:last-child{font-size:20px;color:#5e5a54;max-width:650px}
.section-title{font:600 38px "Playfair Display",serif;margin-bottom:30px}.event-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.event-card{background:var(--cream)}.event-photo{height:300px;display:flex;align-items:flex-end;padding:22px}.event-photo span{font:600 50px "Playfair Display",serif}.event-photo {
  height: 300px;
  overflow: hidden;
}

.event-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}.event-body{padding:28px}.event-body h3{font:600 35px "Playfair Display",serif}.past{margin-top:100px}.past-list{border-top:1px solid var(--line)}.past-list article{display:flex;gap:28px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}.past-date{width:64px;text-align:center;font:600 25px "Playfair Display",serif;line-height:.8}.past-date small{font:700 10px "DM Sans",sans-serif;letter-spacing:.12em}.past-list h3{font:600 24px "Playfair Display",serif;margin:0 0 5px}.past-list p{margin:0;color:var(--muted);font-size:14px}
.narrow{max-width:920px}.prose{max-width:720px}.prose h2{font:600 38px "Playfair Display",serif;margin-top:65px}.prose p{font-size:18px;color:#514e48}.prose blockquote{margin:45px 0;padding:25px 0 25px 30px;border-left:4px solid var(--accent);font:italic 32px "Playfair Display",serif}.questions{list-style:none;padding:0;margin:30px 0}.questions li{display:grid;grid-template-columns:170px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.questions span{color:#666158}.resources{list-style:none;padding:0}.resources li{padding:18px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.resources a{font-weight:700;text-decoration-underline-offset:4px}.resources span{color:#666158}.note{margin-top:45px;padding:25px;background:#e8e1d5;font-size:16px}.contact-page{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.contact-card{background:var(--ink);color:var(--paper);padding:45px}.contact-card .eyebrow{color:#e8a08f}.contact-card h2{font:600 48px "Playfair Display",serif}.contact-line{font-size:18px}.contact-card a:not(.button){text-decoration-underline-offset:4px}
@media(max-width:760px){.site-header{align-items:flex-start}.site-header nav{gap:12px}.hero{grid-template-columns:1fr;margin-top:25px;min-height:auto}.hero-art{height:390px}.intro,.feature-card{margin-bottom:80px}.feature-card{padding:30px}.number{display:none}.event-grid,.contact-page{grid-template-columns:1fr}.page{margin-top:45px}.page-heading{margin-bottom:55px}.questions li{grid-template-columns:1fr;gap:4px}footer{gap:15px;flex-direction:column}}
/* Event detail page */

.event-page {
  max-width: var(--max);
  margin: 50px auto 120px;
  padding: 0 28px;
}

.event-hero-image {
  width: 100%;
  height: min(65vh, 650px);
  overflow: hidden;
  background: var(--cream);
}

.event-hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.event-content {
  max-width: 760px;
  margin: 70px auto 0;
}

.event-content h1 {
  font-size: clamp(60px, 9vw, 100px);
  margin-bottom: 25px;
}

.event-content .event-meta {
  font-size: 16px;
  color: var(--muted);
  line-height: 1.7;
}

.event-intro {
  margin-top: 60px;
}

.event-intro p {
  font-size: 20px;
  line-height: 1.7;
  color: #514e48;
}

.event-cta {
  margin-top: 70px;
  padding: 40px;
  background: var(--cream);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.event-cta h2 {
  font: 600 38px "Playfair Display", serif;
}

.event-cta p:not(.eyebrow) {
  color: #5e5a54;
  margin-bottom: 25px;
}

.event-back {
  margin-top: 60px;
  padding-top: 30px;
  border-top: 1px solid var(--line);
}

@media (max-width: 760px) {
  .event-page {
    margin-top: 25px;
  }

  .event-hero-image {
    height: 55vh;
  }

  .event-content {
    margin-top: 50px;
  }

  .event-intro {
    margin-top: 40px;
  }

  .event-intro p {
    font-size: 18px;
  }

  .event-cta {
    padding: 28px;
  }
}.event-card-link,
.event-card-link:hover,
.event-card-link:visited,
.event-card-link:active {
  text-decoration: none;
  color: inherit;
}/* Contact page */

.contact-layout {
  max-width: 1000px;
  margin: 70px auto 120px;
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr);
  gap: 80px;
  align-items: start;
}

.contact-form {
  width: 100%;
}

.form-field {
  margin-bottom: 30px;
}

.form-field label {
  display: block;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 9px;
  letter-spacing: 0.02em;
}

.form-field input,
.form-field textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 14px 15px;
  border: 1px solid var(--line);
  background: transparent;
  font: inherit;
  font-size: 16px;
  color: inherit;
  border-radius: 0;
  outline: none;
}

.form-field textarea {
  resize: vertical;
  min-height: 180px;
}

.form-field input:focus,
.form-field textarea:focus {
  border-color: currentColor;
}

.contact-note {
  padding-top: 5px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  line-height: 1.7;
}

.contact-note .eyebrow {
  color: inherit;
  margin-bottom: 20px;
}

.contact-form .button {
  border: 0;
  cursor: pointer;
}

@media (max-width: 760px) {

  .contact-layout {
    grid-template-columns: 1fr;
    gap: 60px;
    margin-top: 50px;
  }

}