/* Activity directory and calendar follow the accepted, open typographic layout. */
.activities-overview-intro h1{font-size:clamp(44px,6vw,76px);line-height:1.08}
.public-site .activities-overview-intro>p{max-width:980px;font-size:clamp(20px,2.2vw,27px);line-height:1.45}
.activities-overview-intro .actions{margin-top:22px}
.activities-overview-intro .text-link{font-size:18px}
.activities-directory{border-top:1px solid var(--line);padding-block:24px 28px;margin-top:12px}
.activities-directory>h2{font-size:clamp(28px,2.5vw,34px);line-height:1.2;margin-bottom:22px}
.activity-directory-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:36px;row-gap:24px}
.activity-directory-group{min-width:0}
.activity-directory-group>h3{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.09em;line-height:1.4;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.activity-directory-group ul{list-style:none;margin:0;padding:0}
.activity-directory-group li{margin:0;padding:0}
.activity-directory-group a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding:8px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:21px;line-height:1.3;text-decoration:none}
.activity-directory-group a>span:first-child{min-width:0;overflow-wrap:anywhere}
.activity-directory-group a>span:last-child{flex-shrink:0;font-family:var(--sans);font-size:20px;color:var(--rust)}
.activity-directory-group a:hover>span:first-child,.activity-directory-group a:focus-visible>span:first-child{color:var(--rust)}
.activities-calendar{border-top:1px solid var(--line);padding-top:32px;padding-bottom:64px}
.activities-calendar .activity-calendar-heading{margin-bottom:20px;align-items:flex-end}
.activities-calendar .activity-calendar-heading h2{font-size:clamp(31px,3.4vw,43px);line-height:1.2}
.activities-calendar .activity-calendar-heading .caption{margin-top:10px}
.activities-calendar .activity-filters{background:none;border:0;padding:0;margin:0 0 24px}
.activities-calendar .active-activity-filter{margin:0 0 20px;font-size:16px}
.activities-calendar .activity-filter-selects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 24px;align-items:start}
.activities-calendar .activity-filter-selects>div{min-width:0;max-width:none}
.activities-calendar .activity-filter-selects label{font-size:14px;font-weight:500;margin-bottom:7px}
.activities-calendar .activity-filter-selects select{width:100%;min-width:0;min-height:46px;background:transparent;border-radius:0;font-size:16px}
.activities-calendar .activity-filter-selects select:disabled{opacity:1;color:var(--ink);background:var(--tint);cursor:default}
.activities-calendar .activity-filter-selects .filter-actions{grid-column:1/-1;display:flex;align-items:center;gap:16px 24px;flex-wrap:wrap}
.activities-calendar .filter-actions .text-link{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.activities-calendar .calendar-event-row:first-of-type{margin-top:10px}
@media(max-width:1000px){
  .activity-directory-groups{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
}
@media(max-width:800px){
  .activities-calendar .activity-filter-selects{column-gap:14px}
}
@media(max-width:600px){
  .activities-overview-intro h1{font-size:44px}
  .public-site .activities-overview-intro>p{font-size:20px}
  .activities-directory{padding-block:22px 26px;margin-top:6px}
  .activities-directory>h2{margin-bottom:20px}
  .activity-directory-groups{grid-template-columns:minmax(0,1fr);row-gap:22px}
  .activities-calendar{padding-top:28px}
  .activities-calendar .activity-calendar-heading{align-items:flex-start;gap:14px}
  .activities-calendar .activity-filter-selects{grid-template-columns:minmax(0,1fr);gap:15px}
  .activities-calendar .activity-filter-selects .filter-actions{gap:12px}
}

/* Activity descriptions precede an open, compact list of practical details. */
.public-site .activity-content .activity-description{max-width:68ch}
.public-site .article-layout--single{grid-template-columns:minmax(0,850px)}
.public-site .activity-content>.activity-practical:first-child{margin-top:0;padding-top:0;border-top:0}
.public-site .activity-content .activity-practical-list dd>ul{margin:0;padding-left:20px}
.public-site .activity-content .activity-practical-list a[href^="mailto:"]{display:inline-flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere}
.public-site .activity-history{max-width:850px;margin-block:32px}
.public-site .activity-archive{border-block:1px solid var(--line)}
.public-site .activity-archive>summary{font:26px/1.35 var(--serif);padding:18px 28px 18px 0;cursor:pointer;color:var(--ink)}
.public-site .activity-archive>summary:focus-visible{outline:2px solid var(--rust);outline-offset:3px}
.public-site .activity-archive-content{padding-block:8px 26px;font-size:16px;line-height:1.7}
.public-site .activity-archive-content>p:first-child{color:var(--muted);margin-bottom:24px;max-width:68ch}
.public-site .activity-archive-content h2{font-size:27px;margin:30px 0 18px}
.public-site .activity-archive-content p{max-width:68ch;margin-bottom:18px}
.public-site .activity-archive-content img{display:block;max-width:100%;height:auto;max-height:650px;object-fit:contain;margin-block:20px}
.public-site .activity-content .activity-practical{margin-top:34px;padding-top:28px;border-top:1px solid var(--line)}
.public-site .activity-content .activity-practical>h2{margin:0 0 16px}
.public-site .activity-content .activity-practical-note{max-width:68ch;font-size:16px;line-height:1.65;margin:0 0 20px;color:var(--ink)}
.public-site .activity-content .activity-practical-list{margin:0;max-width:68ch}
.public-site .activity-content .activity-practical-list>div{display:grid;grid-template-columns:145px minmax(0,1fr);column-gap:24px;border-top:1px solid var(--line);padding-block:14px;font-size:17px;line-height:1.6}
.public-site .activity-content .activity-practical-list>div:last-child{border-bottom:1px solid var(--line)}
.public-site .activity-content .activity-practical-list dt{font-weight:600}
.public-site .activity-content .activity-practical-list dd{margin:0;min-width:0;overflow-wrap:anywhere}
.public-site .activity-content .activity-practical-contact{align-items:center}
.public-site .activity-content .activity-practical-contact dd{display:flex;flex-wrap:wrap;align-items:center;gap:0 16px}
.public-site .activity-content a[href^="tel:"],.public-site .activity-content .activity-dates-link{display:inline-flex;align-items:center;min-height:44px;color:var(--rust);text-underline-offset:5px}
.public-site .activity-content a[href^="tel:"]{white-space:nowrap}
.public-site .activity-content a:hover{color:var(--ink)}
.public-site .activity-content a:focus-visible{outline-color:var(--rust)}
@media(max-width:600px){
  .public-site .activity-content .activity-practical{margin-top:28px;padding-top:24px}
  .public-site .activity-content .activity-practical-note{font-size:15px;margin-bottom:18px}
  .public-site .activity-content .activity-practical-list>div{grid-template-columns:112px minmax(0,1fr);column-gap:16px;padding-block:13px;font-size:16px}
  .public-site .activity-content .activity-practical-contact dd{gap:0 12px}
}
@media(max-width:390px){
  .public-site .activity-content .activity-practical-list>div{grid-template-columns:minmax(0,1fr);row-gap:4px}
}

/* Readable activity articles pair an introduction with a subject-specific photo. */
.public-site .activity-article-page{padding-top:28px}
.public-site .activity-article-page .article-title{max-width:100%;margin-bottom:30px}
.public-site .activity-article-page .article-title>p{max-width:48ch}
.public-site .activity-opening{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:center;margin-bottom:44px}
.public-site .activity-opening-copy{min-width:0;max-width:70ch}
.public-site .activity-opening-copy .rich-content{max-width:none}
.public-site .activity-opening-copy p:last-child{margin-bottom:0}
.public-site .activity-opening-copy>.text-link{margin-top:8px}
.public-site .activity-opening--text{display:block;max-width:70ch}
.public-site .activity-cover{margin:0;min-width:0}
.public-site .activity-cover .content-cover-image{display:block;width:100%;height:auto;max-height:none;object-fit:contain;background:none}
.public-site .activity-cover figcaption{font-size:13px;line-height:1.5;color:var(--muted);margin-top:8px;max-width:70ch}
.public-site .activity-cover figcaption a{text-underline-offset:3px}
.public-site .activity-article-page .activity-content{max-width:70ch}
.public-site .activity-article-page .activity-content p{font-size:18px;line-height:1.75}
.public-site .activity-article-page .activity-content .activity-practical{margin-top:0}
.public-site .activity-article-page .activity-schedule{margin-top:44px;padding-top:32px}
.public-site .activity-article-page .article-navigation{align-self:start}
.public-site .hunt-section{margin-top:40px}
.public-site .hunt-section>h2{max-width:30ch;margin-bottom:22px}
.public-site .hunt-section-intro{max-width:68ch;margin:-8px 0 24px;color:var(--muted);font-size:17px;line-height:1.65}
.public-site .hunt-list{display:grid;gap:12px}
.public-site .hunt-row{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:24px;padding:0 24px 0 0;background:var(--tint);border-radius:5px;overflow:hidden}
.public-site .hunt-date{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;align-self:stretch;padding:18px 10px;background:#e7f0e2;color:var(--green);font-variant-numeric:tabular-nums}
.public-site .hunt-date strong{font:700 32px/1 var(--serif)}
.public-site .hunt-date span{text-transform:uppercase;font:400 13px/1.3 var(--sans)}
.public-site .hunt-row-copy{min-width:0;padding-block:22px}
.public-site .hunt-row-copy h3{font-size:25px;font-weight:600;line-height:1.25;margin:0}
.public-site .hunt-row-copy h3 a{text-decoration:none;text-underline-offset:5px}
.public-site .hunt-row-copy h3 a:hover{text-decoration:underline}
.public-site .hunt-row-copy>p{font-size:15px;line-height:1.6;margin-top:8px;color:var(--ink)}
.public-site .hunt-row-copy>.caption{font-size:14px;color:var(--muted)}
.public-site .hunt-row-facts{display:flex;flex-wrap:wrap;gap:8px 28px;margin:14px 0 0;font-variant-numeric:tabular-nums}
.public-site .hunt-row-facts>div{display:flex;flex-wrap:wrap;gap:4px 8px}
.public-site .hunt-row-facts dt{font-size:14px;color:var(--muted)}
.public-site .hunt-row-facts dd{font-size:15px;font-weight:600;margin:0}
.public-site .hunt-row-action{align-self:center;max-width:230px;min-height:44px;font-size:16px}
.public-site .hunt-row--pending{background:none;border-bottom:1px solid var(--line);border-radius:0}
.public-site .hunt-directory>.actions{margin-top:36px}
@media(max-width:1000px){
  .public-site .activity-opening{gap:30px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .public-site .hunt-row{grid-template-columns:80px minmax(0,1fr);gap:0 20px;padding-right:20px}
  .public-site .hunt-date{grid-row:1/3}
  .public-site .hunt-row-copy{padding-bottom:10px}
  .public-site .hunt-row-action{grid-column:2;margin-bottom:16px}
}
@media(max-width:800px){
  .public-site .activity-opening{grid-template-columns:minmax(0,1fr);gap:26px;margin-bottom:34px}
  .public-site .activity-cover{max-width:680px}
  .public-site .activity-article-page .article-title{margin-bottom:24px}
}
@media(max-width:600px){
  .public-site .activity-article-page{padding-top:24px}
  .public-site .hunt-detail-page .event-detail-header h1{font-size:clamp(30px,8.6vw,36px);line-height:1.15}
  .public-site .activity-article-page .activity-content p{font-size:17px;line-height:1.7}
  .public-site .activity-opening-copy.rich-content{font-size:17px;line-height:1.7}
  .public-site .activity-article-page .activity-schedule{margin-top:32px;padding-top:26px}
  .public-site .hunt-section{margin-top:32px}
  .public-site .hunt-section>h2{font-size:29px;margin-bottom:20px}
  .public-site .hunt-section-intro{font-size:16px}
  .public-site .hunt-row{grid-template-columns:64px minmax(0,1fr);gap:0 14px;padding-right:16px}
  .public-site .hunt-date{padding-inline:6px}
  .public-site .hunt-date strong{font-size:28px}
  .public-site .hunt-row-copy{padding-top:18px}
  .public-site .hunt-row-copy h3{font-size:22px}
  .public-site .hunt-row-copy>p{font-size:14px}
  .public-site .hunt-row-facts{gap:6px 18px}
  .public-site .hunt-row-facts>div{display:block}
  .public-site .hunt-row-action{font-size:15px;max-width:none}
}
