/* Past events — the listing, the detail page and the photo viewer.
   Same palette and the same type scale as the landing page. */

body.sub-page{background:var(--alabaster,#F5F2EB)}
.skip{position:absolute;left:-9999px;top:0;z-index:999;background:var(--charcoal,#2B2D2F);color:#F5F2EB;
      padding:12px 18px;border-radius:0 0 6px 0;font:600 14px/1 var(--sans,inherit);text-decoration:none}
.skip:focus{left:0}

/* The nav is transparent over the landing hero; sub-pages need it solid. */
.nav--solid{background:var(--charcoal,#2B2D2F);position:sticky;top:0}

/* ----------------------------------------------------------- page header */
.page-head{background:var(--charcoal,#2B2D2F);color:#F5F2EB;padding:72px 0 64px}
.page-head .eyebrow{color:#D69A83}
.page-head h1{margin:10px 0 18px;color:#F5F2EB}
.page-head .lead{color:#C6CEC8;max-width:62ch;margin:0}

.crumbs{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-bottom:22px;
        font:500 13px/1.5 var(--sans,inherit);color:#9BA39C}
.crumbs a{color:#C6CEC8;text-decoration:none;border-bottom:1px solid transparent}
.crumbs a:hover{border-bottom-color:currentColor}
.crumbs span[aria-current]{color:#F5F2EB}
.crumbs span[aria-hidden]{opacity:.5}

/* ------------------------------------------------------------- the cards */
.ev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(316px,1fr));gap:26px}
.ev-grid--compact{grid-template-columns:repeat(auto-fit,minmax(264px,1fr));gap:20px}

.ev-card{min-width:0}
.ev-link{display:flex;flex-direction:column;height:100%;background:var(--paper,#FBF9F4);
         border:1px solid var(--line,#DAD4C8);border-radius:10px;overflow:hidden;
         text-decoration:none;color:inherit;transition:transform .35s var(--ease,ease),box-shadow .35s var(--ease,ease),border-color .35s}
.ev-link:hover,.ev-link:focus-visible{transform:translateY(-4px);border-color:#C3BBA9;
         box-shadow:0 26px 48px -32px rgba(43,45,47,.5)}
.ev-link:focus-visible{outline:2px solid var(--sage-deep,#56705F);outline-offset:3px}

.ev-shot{position:relative;display:block;aspect-ratio:7/5;overflow:hidden;background:#E4E0D6}
.ev-shot img{width:100%;height:100%;object-fit:cover;display:block;
             transition:transform .6s var(--ease,ease)}
.ev-link:hover .ev-shot img{transform:scale(1.045)}
.ev-ph{position:absolute;inset:0;display:grid;place-items:center;
       font:400 46px/1 var(--serif,Georgia,serif);color:#FFFFFF59;letter-spacing:.04em}
.ev-year{position:absolute;left:14px;top:14px;background:#2B2D2FE0;color:#F5F2EB;
         padding:5px 11px;border-radius:999px;font:600 11.5px/1 var(--sans,inherit);letter-spacing:.1em}
.ev-count{position:absolute;right:14px;bottom:14px;background:#F5F2EBE6;color:#2B2D2F;
          padding:5px 10px;border-radius:999px;font:600 11px/1 var(--sans,inherit);letter-spacing:.06em}

.ev-body{display:flex;flex-direction:column;gap:7px;padding:20px 21px 22px;flex:1}
.ev-cat{font:600 10.5px/1 var(--sans,inherit);letter-spacing:.17em;text-transform:uppercase;color:var(--sage-deep,#56705F)}
.ev-title{margin:0;font:400 24px/1.22 var(--serif,Georgia,serif);color:var(--charcoal,#2B2D2F);letter-spacing:-.01em}
.ev-grid--compact .ev-title{font-size:20px}
.ev-sub{font-size:14.5px;color:var(--muted,#55585B);line-height:1.45}
.ev-meta{font:500 13px/1.5 var(--sans,inherit);color:#7C7A72}
.ev-blurb{font-size:14.5px;line-height:1.55;color:var(--muted,#55585B);margin-top:3px}
.ev-more{margin-top:auto;padding-top:13px;font:600 13.5px/1 var(--sans,inherit);color:var(--terracotta-ink,#9E5A42)}
.ev-more i{display:inline-block;transition:transform .3s var(--ease,ease)}
.ev-link:hover .ev-more i{transform:translateX(4px)}

/* ----------------------------------------------------- the detail header */
.ev-hero{position:relative;min-height:clamp(330px,46vh,520px);display:flex;align-items:flex-end;
         background:var(--charcoal,#2B2D2F);color:#F5F2EB;overflow:hidden}
.ev-hero--plain{min-height:0;padding-top:54px}
.ev-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ev-hero-veil{position:absolute;inset:0;
  background:linear-gradient(180deg,#171512C4 0%,#17151266 38%,#171512EE 100%)}
.ev-hero-body{position:relative;width:100%;padding-top:54px;padding-bottom:48px}   /* padding-top/bottom only — the shorthand would wipe out .wrap's side gutters */
.ev-hero h1{margin:8px 0 0;color:#F5F2EB;max-width:20ch}
.ev-hero .eyebrow{color:#D69A83}
.ev-hero-sub{margin:16px 0 0;color:#D5DBD6;font-size:clamp(16px,1.5vw,19px);max-width:58ch;line-height:1.55}
.ev-hero .crumbs{margin-bottom:20px}

/* ------------------------------------------------------- the write-up */
.ev-split{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,.95fr);gap:46px;align-items:start}
.ev-body-copy{margin-top:18px;font-size:16.5px;line-height:1.75;color:var(--muted,#55585B)}
.ev-body-copy p{margin:0 0 18px}
.ev-body-copy h3,.ev-body-copy h4{margin:30px 0 10px;font:400 23px/1.25 var(--serif,Georgia,serif);color:var(--charcoal,#2B2D2F)}
.ev-body-copy ul,.ev-body-copy ol{margin:0 0 18px;padding-left:22px}
.ev-body-copy li{margin-bottom:7px}
.ev-body-copy blockquote{margin:24px 0;padding:4px 0 4px 20px;border-left:2px solid var(--terracotta,#C07A60);
  font:400 20px/1.5 var(--serif,Georgia,serif);color:var(--charcoal,#2B2D2F)}

.ev-facts{background:var(--paper,#FBF9F4);border:1px solid var(--line,#DAD4C8);border-radius:10px;padding:24px 26px;position:sticky;top:92px}
.ev-facts dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:12px 20px}
.ev-facts dt{font:600 10.5px/1.5 var(--sans,inherit);letter-spacing:.15em;text-transform:uppercase;color:#7C7A72;padding-top:2px}
.ev-facts dd{margin:0;font-size:15.5px;line-height:1.45;color:var(--charcoal,#2B2D2F);font-weight:500}
.ev-facts-note{margin:22px 0 0;padding-top:16px;border-top:1px solid var(--line,#DAD4C8);
  font-size:13px;line-height:1.5;color:#7C7A72}

/* ------------------------------------------------------- the photographs */
.ph-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.ph-cell{position:relative;display:block;padding:0;border:0;background:#E4E0D6;cursor:pointer;
         border-radius:8px;overflow:hidden;aspect-ratio:4/3;font:inherit}
.ph-cell img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s var(--ease,ease)}
.ph-cell:hover img,.ph-cell:focus-visible img{transform:scale(1.06)}
.ph-cell:focus-visible{outline:2px solid var(--sage-deep,#56705F);outline-offset:3px}
.ph-cap{position:absolute;left:0;right:0;bottom:0;padding:26px 13px 11px;text-align:left;
        background:linear-gradient(180deg,transparent,#171512DD);color:#F5F2EB;
        font:500 12.5px/1.4 var(--sans,inherit);opacity:0;transition:opacity .3s}
.ph-cell:hover .ph-cap,.ph-cell:focus-visible .ph-cap{opacity:1}

/* ------------------------------------------------------- the photo viewer */
.pview{position:fixed;inset:0;z-index:200;background:#12100EF2;display:flex;align-items:center;
       justify-content:center;padding:clamp(14px,4vw,54px)}
.pview[hidden]{display:none}
.pv-fig{margin:0;max-width:min(1180px,100%);max-height:100%;display:flex;flex-direction:column;gap:14px}
.pv-fig img{max-width:100%;max-height:calc(100vh - 190px);object-fit:contain;border-radius:4px;
            background:#1C1A17;display:block;margin:0 auto}
.pv-fig figcaption{text-align:center;color:#D5D1C8;font:400 14.5px/1.5 var(--sans,inherit);
                   display:flex;flex-direction:column;gap:3px}
.pv-fig figcaption small{color:#8E8A80;font-size:12.5px}
.pv-fig figcaption em{color:#8E8A80;font-style:normal;font-size:12px;letter-spacing:.12em}
.pv-close,.pv-nav{position:absolute;background:#F5F2EB1A;border:1px solid #F5F2EB33;color:#F5F2EB;
  width:46px;height:46px;border-radius:50%;cursor:pointer;font-size:18px;line-height:1;
  display:grid;place-items:center;transition:background .25s}
.pv-close:hover,.pv-nav:hover{background:#F5F2EB33}
.pv-close:focus-visible,.pv-nav:focus-visible{outline:2px solid #D69A83;outline-offset:2px}
.pv-close{top:clamp(12px,3vw,26px);right:clamp(12px,3vw,26px)}
.pv-prev{left:clamp(8px,2.5vw,26px);top:50%;transform:translateY(-50%)}
.pv-next{right:clamp(8px,2.5vw,26px);top:50%;transform:translateY(-50%)}

/* ------------------------------------------------------------ responsive */
@media(max-width:900px){
  .ev-split{grid-template-columns:1fr;gap:30px}
  .ev-facts{position:static}
}
@media(max-width:700px){
  .page-head{padding:44px 0 40px}
  .ev-grid{grid-template-columns:1fr;gap:18px}
  .ev-hero{min-height:300px}
  .ev-hero-body{padding-top:38px;padding-bottom:32px}
  .ph-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:9px}
  .ph-cap{opacity:1;font-size:11.5px;padding:20px 10px 8px}
  .pv-prev{left:8px}.pv-next{right:8px}
  .pv-close,.pv-nav{width:40px;height:40px}
}
@media(prefers-reduced-motion:reduce){
  .ev-link,.ev-shot img,.ph-cell img,.ev-more i{transition:none}
  .ev-link:hover{transform:none}
  .ev-link:hover .ev-shot img,.ph-cell:hover img{transform:none}
}
