/* Focused editorial layouts for the event landing pages. */
.event-seo-page .event-seo-hero{
  position:relative;
  isolation:isolate;
  min-height:clamp(480px,58vw,680px);
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  padding:clamp(64px,9vw,112px) 0 58px;
  background:var(--green-deep);
  color:#fff;
}
.event-seo-page .event-seo-hero::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(90deg,rgba(15,29,17,.82) 0%,rgba(15,29,17,.54) 52%,rgba(15,29,17,.12) 100%),
             linear-gradient(0deg,rgba(15,29,17,.38),transparent 55%);
}
.event-seo-page .event-seo-hero-photo{
  position:absolute;
  z-index:-2;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 54%;
}
.event-seo-page .event-seo-hero-inner{
  width:min(100%,var(--container));
  margin:0 auto;
  padding:0 24px;
}
.event-seo-page .event-seo-kicker{
  display:block;
  margin-bottom:14px;
  color:var(--gold);
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.19em;
  text-transform:uppercase;
}
.event-seo-page .event-seo-hero h1{
  max-width:16ch;
  margin:0 0 18px;
  color:#fff;
  font-size:clamp(2.8rem,6vw,5.1rem);
  text-shadow:0 2px 18px rgba(6,14,8,.42);
}
.event-seo-page .event-seo-lede{
  max-width:54ch;
  margin:0 0 28px;
  color:rgba(255,255,255,.94);
  font-size:clamp(1.03rem,1.5vw,1.2rem);
  line-height:1.65;
  text-shadow:0 1px 12px rgba(6,14,8,.5);
}
.event-seo-page .event-seo-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.event-seo-page .event-seo-facts{
  background:var(--cream-deep);
  border-bottom:1px solid var(--line);
}
.event-seo-page .event-seo-facts-inner{
  display:grid;
  grid-template-columns:1fr 1fr 1.35fr;
  max-width:var(--container);
  margin:0 auto;
  padding:0 24px;
}
.event-seo-page .event-seo-fact{
  min-height:83px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:3px;
  padding:12px 22px;
  border-left:1px solid var(--line);
}
.event-seo-page .event-seo-fact:first-child{border-left:0}
.event-seo-page .event-seo-fact span{
  color:var(--coral);
  font-size:.64rem;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.event-seo-page .event-seo-fact strong{
  color:var(--green-deep);
  font-size:.85rem;
  line-height:1.4;
}
.event-seo-page .event-seo-story{
  padding:clamp(64px,8vw,100px) 0;
}
.event-seo-page .event-seo-story-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,.86fr);
  gap:clamp(36px,7vw,96px);
  align-items:center;
}
.event-seo-page .event-seo-copy{max-width:64ch}
.event-seo-page .event-seo-copy h2,
.event-seo-page .event-seo-included h2{
  margin-bottom:20px;
}
.event-seo-page .event-seo-copy p{
  color:var(--ink);
  line-height:1.8;
}
.event-seo-page .event-seo-photo{
  width:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
  display:block;
}
.event-seo-page .event-seo-photo-frame{
  position:relative;
  background:var(--celadon);
}
.event-seo-page .event-seo-photo-frame::before{
  content:"";
  position:absolute;
  inset:12px -12px -12px 12px;
  z-index:-1;
  border:1px solid rgba(58,76,51,.28);
}
.event-seo-page .event-seo-included{
  padding:clamp(54px,7vw,82px) 0;
  background:var(--celadon);
}
.event-seo-page .event-seo-included-inner{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:clamp(32px,7vw,92px);
  align-items:start;
}
.event-seo-page .event-seo-included-intro{
  max-width:38ch;
  color:var(--green);
}
.event-seo-page .event-seo-included ul{
  list-style:none;
  margin:0;
  padding:0;
  border-top:1px solid rgba(36,51,31,.24);
}
.event-seo-page .event-seo-included li{
  position:relative;
  padding:14px 8px 14px 25px;
  border-bottom:1px solid rgba(36,51,31,.24);
  color:var(--green-deep);
}
.event-seo-page .event-seo-included li::before{
  content:"";
  position:absolute;
  top:23px;
  left:3px;
  width:7px;
  height:7px;
  background:var(--coral);
  border-radius:50%;
}
.event-seo-page .event-seo-location{
  padding:clamp(60px,7vw,88px) 0;
}
.event-seo-page .event-seo-location-inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(30px,6vw,78px);
  align-items:center;
}
.event-seo-page .event-seo-location-copy p{max-width:58ch}
.event-seo-page .event-seo-location-copy .event-seo-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px 24px;
  margin-top:22px;
}
.event-seo-page .event-seo-location-copy .event-seo-links a{
  color:var(--coral-deep);
  font-size:.88rem;
  font-weight:600;
  text-underline-offset:4px;
}
.event-seo-page .event-seo-photo-pair{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.event-seo-page .event-seo-photo-pair img{
  width:100%;
  aspect-ratio:4 / 5;
  object-fit:cover;
}
.event-seo-page .event-seo-photo-pair img:last-child{
  margin-top:34px;
}
.event-seo-page .event-seo-end{
  padding:64px 24px;
  background:var(--green-deep);
  color:#fff;
  text-align:center;
}
.event-seo-page .event-seo-end h2{
  max-width:18ch;
  margin:0 auto 14px;
  color:#fff;
}
.event-seo-page .event-seo-end p{
  max-width:55ch;
  margin:0 auto 25px;
  color:rgba(255,255,255,.84);
}
.event-seo-page .event-seo-end .btn{margin:0 auto}
.event-seo-page .nav-toggle .event-seo-menu-mark,
.event-seo-page .nav-toggle .event-seo-menu-mark::before,
.event-seo-page .nav-toggle .event-seo-menu-mark::after{
  display:block;
  width:22px;
  height:2px;
  background:var(--green-deep);
  content:"";
}
.event-seo-page .nav-toggle .event-seo-menu-mark{position:relative}
.event-seo-page .nav-toggle .event-seo-menu-mark::before{
  position:absolute;
  top:-7px;
}
.event-seo-page .nav-toggle .event-seo-menu-mark::after{
  position:absolute;
  top:7px;
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .event-seo-page .event-seo-photo{transition:transform .35s ease}
  .event-seo-page .event-seo-photo-frame:hover .event-seo-photo{transform:scale(1.018)}
}
.event-seo-page .event-seo-share{
  padding:28px 24px 36px;
  border-top:1px solid var(--line);
  background:var(--cream);
  text-align:center;
}
.event-seo-page .event-seo-share p{
  margin:0 0 12px;
  color:var(--green);
  font-size:12px;
  letter-spacing:.08em;
}
.event-seo-page .event-seo-share nav{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 24px}
.event-seo-page .event-seo-share a{color:var(--green-ink);font-size:13px;text-underline-offset:4px}
.event-seo-page .event-seo-share a:hover{color:var(--coral);text-decoration:underline}
.event-seo-page .event-seo-share a:focus-visible{outline:2px solid var(--coral);outline-offset:5px}

/* Keep the closed shared mobile menu inside the viewport on these pages.
   A hidden translateX(100%) panel otherwise doubles the document width. */
@media (max-width:900px){
  .event-seo-page .nav-links{
    transform:none;
    opacity:0;
    transition:opacity .2s ease, visibility 0s linear .2s;
  }
  .event-seo-page .nav-links.open{
    transform:none;
    opacity:1;
    transition:opacity .2s ease;
  }
}
@media (max-width:760px){
  .event-seo-page .event-seo-facts-inner{grid-template-columns:1fr;padding:0}
  .event-seo-page .event-seo-fact{min-height:68px;padding:12px 24px;border-left:0;border-top:1px solid var(--line)}
  .event-seo-page .event-seo-fact:first-child{border-top:0}
  .event-seo-page .event-seo-story-inner,
  .event-seo-page .event-seo-included-inner,
  .event-seo-page .event-seo-location-inner{grid-template-columns:1fr}
  .event-seo-page .event-seo-story-inner{gap:28px}
  .event-seo-page .event-seo-photo-frame{max-width:560px}
  .event-seo-page .event-seo-photo-pair{max-width:640px}
  .event-seo-page .event-seo-hero{min-height:550px}
}
@media (prefers-reduced-motion:reduce){
  .event-seo-page .event-seo-photo{transition:none}
}
