/* Shared navigation and the photographic events archive. */
@media(min-width:951px) and (max-width:1200px){
  .site-header nav{gap:20px;font-size:.8125rem}
  .site-header .brand-monogram{width:52px}
  .site-header .wordmark{font-size:1.25rem}
  .site-header .nav-contact{gap:18px;margin-left:0;padding:11px 14px}
}
.home-events .reading-announcement{display:block;width:100%;max-width:1040px;margin:28px auto 0;background:#faf5e9;border:1px solid #ded3b9}
.reading-banner{display:block;width:100%;height:auto}
.reading-mobile-details{display:none}
.reading-announcement:hover{border-color:#967333}
.home-event-preview{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:center;gap:30px;width:100%;max-width:1040px;margin:28px auto 0;padding-top:25px;border-top:1px solid var(--line)}
.home-event-preview>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.home-event-preview h4{font-family:var(--serif);font-size:2rem;font-weight:400;line-height:1.2;margin:10px 0}
.home-event-preview p:not(.eyebrow){color:var(--muted)}
.home-event-preview .text-link{margin-top:12px}
.home-events .all-events{margin-top:28px}
.events-main{padding:62px 0 65px;background:#faf9f5;min-height:70vh}
.events-wrap{max-width:1120px}
.events-introduction{margin-bottom:36px}
.events-introduction>.eyebrow,.event-detail-heading>.eyebrow{color:#806225;margin-bottom:20px}
.events-site .events-main h1{font-size:clamp(3.3rem,5.5vw,5.25rem);letter-spacing:-2px;line-height:1.08}
.events-main h1 em{color:#767264}
.events-lead{font-size:1.125rem;color:var(--muted);line-height:1.65;margin-top:22px;max-width:780px}
.upcoming-event{padding:27px 32px 28px;background:#f3ead7;border:1px solid #eadfc6;scroll-margin-top:125px}
.upcoming-event>.eyebrow{color:#806225;letter-spacing:1.7px}
.upcoming-event h2{font-size:2.5rem;line-height:1.2;font-style:italic;letter-spacing:-.8px;margin:10px 0 9px}
.upcoming-event>p:not(.eyebrow){font-size:1rem;line-height:1.6;color:#5b584f}
.upcoming-event .upcoming-free{margin-top:12px;font-size:.8125rem!important;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:#806225!important}
.past-events{margin-top:41px}
.past-events>h2,.event-photographs>h2{font-size:2.5rem;letter-spacing:-.8px;line-height:1.2;margin-bottom:25px}
.event-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:38px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}
.event-row:first-of-type{padding-top:0}
.event-thumbnail{display:block;aspect-ratio:2/1;overflow:hidden;background:#e7e5dc}
.event-thumbnail>img{width:100%;height:100%;object-fit:cover;object-position:center 22%;transition:transform .25s}
.event-thumbnail:hover>img{transform:scale(1.025)}
.workshop-thumbnail>img{width:133.333%;max-width:none;height:auto;object-fit:initial;transform:translateY(-21%)}
.workshop-thumbnail:hover>img{transform:translateY(-21%)}
.event-row .eyebrow{color:#695630;font-size:.75rem;letter-spacing:1.5px}
.event-row h3{font-family:var(--serif);font-size:2.25rem;line-height:1.2;letter-spacing:-.65px;margin:10px 0 12px;font-style:italic}
.event-row p:not(.eyebrow){font-size:1rem;color:var(--muted)}
.event-row .text-link{margin-top:17px}
.events-invitation{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:35px;padding-top:24px;border-top:1px solid var(--line);font-size:1rem;color:var(--muted)}
.events-invitation .text-link{color:var(--ink)}
.events-back{font-size:.875rem;margin-bottom:34px}
.event-detail-copy{max-width:790px;font-size:1.0625rem;line-height:1.85;color:var(--muted);margin-top:32px}
.event-detail-copy p+p{margin-top:18px}
.event-detail-copy ul{margin:20px 0 0;padding-left:1.2em}
.event-detail-copy li+li{margin-top:7px}
.event-detail-copy li::marker{color:#967333}
.event-photographs{margin-top:43px;padding-top:32px;border-top:1px solid var(--line)}
.event-photographs>h2{margin-bottom:10px}
.gallery-hint{font-size:.9375rem;color:var(--muted);margin-bottom:25px}
.detail-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.detail-gallery figure{margin:0;min-width:0}
.gallery-photo{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;background:#e3e5dd;cursor:zoom-in}
.gallery-photo img{width:100%;height:100%;object-fit:cover}
.gallery-wide{grid-column:1/-1}
.gallery-wide .gallery-photo{aspect-ratio:auto}
.gallery-wide img{height:auto}
.photo-expand{position:absolute;bottom:12px;right:12px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:rgba(250,249,245,.94);font-size:1.5rem;line-height:1;color:var(--ink)}
.detail-gallery figcaption{font-size:.875rem;line-height:1.5;color:var(--muted);margin-top:11px}
.workshop-gallery .gallery-photo{aspect-ratio:auto}
.workshop-gallery .gallery-photo img{height:auto}
.photo-viewer{background:#11130f;color:#fafaf7;border:0;padding:20px 28px 22px;max-width:none;max-height:none;width:min(1200px,96vw);height:94dvh;overflow:hidden}
.photo-viewer::backdrop{background:rgba(8,10,7,.88)}
.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;height:44px}
.viewer-counter{font-size:.875rem;color:#c4c7bc}
.photo-viewer button{cursor:pointer;border:1px solid #707665;background:transparent;color:#fafaf7;min-height:44px;padding:7px 16px;font-size:.9375rem}
.photo-viewer button:hover{background:#34382c}
.viewer-close{display:flex;align-items:center;gap:20px}
.viewer-close span{font-size:1.7rem;line-height:1}
.photo-viewer figure{margin:15px 0 0;height:calc(100% - 120px);display:flex;flex-direction:column;align-items:center;gap:10px}
.viewer-image{min-height:0;flex:1;width:100%;object-fit:contain}
.viewer-caption{flex:0 0 auto;text-align:center;font-size:.875rem;color:#c4c7bc;line-height:1.5}
.viewer-navigation{display:flex;justify-content:space-between;gap:15px;margin-top:15px}
body.photo-viewer-open{overflow:hidden}
@media(max-width:760px){
  .home-events .reading-announcement{margin-top:23px}
  .reading-mobile-details{display:block;margin-top:12px;font-size:.875rem!important;line-height:1.7!important}
  .reading-mobile-details a{border-bottom:1px solid #967333}
  .home-event-preview{grid-template-columns:110px minmax(0,1fr);gap:18px;align-items:start;padding-top:22px;margin-top:24px}
  .home-event-preview>img{aspect-ratio:1/1}
  .home-event-preview h4{font-size:1.5rem;margin:8px 0}
  .home-event-preview p:not(.eyebrow){font-size:.9375rem}
  .home-event-preview .eyebrow{font-size:.625rem;letter-spacing:1px}
  .home-event-preview .text-link{font-size:.8125rem;gap:9px;line-height:1.6}
  .events-main{padding:37px 0 43px}
  .events-site .events-main h1{font-size:clamp(2.9rem,11.5vw,4rem);letter-spacing:-1.8px}
  .events-lead{font-size:1.0625rem;line-height:1.65;margin-top:20px}
  .events-introduction{margin-bottom:27px}
  .events-introduction>.eyebrow,.event-detail-heading>.eyebrow{font-size:.6875rem;letter-spacing:1.5px}
  .upcoming-event{padding:22px 23px 24px}
  .upcoming-event>.eyebrow{font-size:.6875rem;letter-spacing:1.2px}
  .upcoming-event h2{font-size:2rem}
  .upcoming-event>p:not(.eyebrow){font-size:.9375rem}
  .upcoming-description{margin-bottom:9px}
  .past-events{margin-top:31px}
  .past-events>h2,.event-photographs>h2{font-size:2rem;margin-bottom:23px}
  .event-row{grid-template-columns:1fr;gap:22px;padding:28px 0}
  .event-thumbnail{aspect-ratio:16/9}
  .event-row h3{font-size:2rem}
  .events-invitation{margin-top:28px;padding-top:22px;gap:8px 12px}
  .events-back{margin-bottom:29px}
  .event-detail-copy{font-size:1rem;line-height:1.8;margin-top:26px}
  .event-photographs{margin-top:33px;padding-top:26px}
  .event-photographs>h2{margin-bottom:12px}
  .detail-gallery{grid-template-columns:1fr;gap:26px}
  .gallery-wide{grid-column:auto}
  .photo-viewer{padding:12px 14px;width:100vw;height:100dvh}
  .photo-viewer button{padding:7px 12px;font-size:.875rem}
  .viewer-caption{font-size:.8125rem}
}
@media(prefers-reduced-motion:reduce){.event-thumbnail>img{transition:none}}

/* Name and portrait stay together; the introduction follows on small screens. */
.personal-site .hero-main{row-gap:0}
.hero-main>.hero-copy{grid-column:1;grid-row:1;align-self:end}
.hero-main>.hero-portrait{grid-column:2;grid-row:1 / span 2;align-self:center}
.hero-main>.hero-details{grid-column:1;grid-row:2;align-self:start}
@media(max-width:760px){
  .personal-site .hero-main{display:flex;flex-direction:column;gap:28px}
  .hero-main>.hero-copy,.hero-main>.hero-details,.hero-main>.hero-portrait{align-self:stretch}
  .hero-main>.hero-portrait{margin-top:0}
  .hero-portrait .portrait-topline{display:none}
  .hero-details .hero-position{margin-top:0}
}
