@media(min-width:701px){.hero-bottom{flex-direction:column;align-items:flex-start;gap:24px}}
@media(min-width:1001px){.hero{min-height:850px}}

/* Photos for event types on mobile. */
.type-title-arrow{display:none}
.type-thumb{display:block;overflow:hidden}
@media(max-width:700px){
  #typy .type-row{grid-template-columns:minmax(0,1fr) 88px;gap:16px;padding:22px 0;align-items:center}
  #typy .type-row>.index,#typy .type-row>.arrow{display:none}
  #typy .type-title{font-size:28px;min-width:0}
  #typy .type-title small{font-size:12px;line-height:1.55;margin-top:9px}
  #typy .type-title-arrow{display:inline-block;font-family:var(--body);font-size:19px;margin-left:7px;vertical-align:baseline;white-space:nowrap}
  #typy .type-thumb{width:88px;height:72px}
  #typy .type-thumb img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;transform:none}
  #typy .type-thumb img.event-bar{object-position:center 20%;transform:scale(1.3);transform-origin:center 20%}
}
@media(max-width:360px){
  #typy .type-row{gap:12px}
  #typy .type-title{font-size:26px}
}

/* Align event names with the section heading, without row numbering. */
@media(min-width:701px){#typy .type-row{grid-template-columns:minmax(0,1fr) 130px 30px}}
@media(min-width:1001px){#typy .type-row{grid-template-columns:minmax(0,1fr) 180px 50px}}

#gallery-dialog.gala-detail #gallery-description{display:grid;gap:16px}
#gallery-dialog.gala-detail #gallery-description p{margin:0}
#gallery-dialog.gala-detail #gallery-images img{height:auto;aspect-ratio:3/2;object-fit:cover;max-height:none}
#gallery-dialog.gala-detail .gala-welcome-group{grid-column:1/-1;display:grid;grid-template-columns:.9fr 1fr;gap:18px;align-items:center}
#gallery-dialog.gala-detail .gala-guest-photos{display:grid;gap:18px}
#gallery-dialog.gala-detail #gallery-images .gala-welcome-group>img{aspect-ratio:auto;grid-column:auto;height:auto}
@media(max-width:700px){#gallery-dialog.gala-detail .gala-welcome-group{grid-template-columns:1fr}}
#gallery-dialog.gala-detail .gala-car-frame{grid-column:1/-1;position:relative;overflow:hidden;aspect-ratio:2.75}
#gallery-dialog.gala-detail #gallery-images .gala-car-frame>img{position:absolute;width:190%;max-width:none;height:auto;aspect-ratio:auto;left:-41%;top:0;transform:translateY(-56%)}
#gallery-dialog.wedding-detail #gallery-images img{height:auto;aspect-ratio:3/2;max-height:none}
#gallery-dialog.wedding-detail .wedding-portrait-group{grid-column:1/-1;display:grid;grid-template-columns:.9fr 1fr;gap:18px;align-items:center}
#gallery-dialog.wedding-detail .wedding-photo-stack{display:grid;gap:18px}
#gallery-dialog.wedding-detail #gallery-images .wedding-portrait-group>img{grid-column:auto;aspect-ratio:auto}
@media(max-width:700px){#gallery-dialog.wedding-detail .wedding-portrait-group{grid-template-columns:1fr}}
.gala-story{display:grid;grid-template-columns:minmax(0,1fr) 220px;grid-template-rows:1fr auto auto;column-gap:48px;row-gap:10px;align-items:start;margin:28px 0}
#gallery-dialog.gala-detail .gala-story #gallery-description{margin:0;max-width:none}
#gallery-dialog.gala-detail .gala-story #gallery-inquiry{grid-column:1;grid-row:2;justify-self:start;align-self:end;margin:0}
.gala-video-block{display:contents}
.gala-story #gallery-description{grid-column:1;grid-row:1}
.gala-story .gala-video-frame{grid-column:2;grid-row:1/3;align-self:end}
.gala-story .gala-video-enlarge{grid-column:2;grid-row:3;justify-self:center}
.gala-story .gala-video-feedback{grid-column:2;grid-row:4}
.gala-video-frame{position:relative;width:100%;background:#090909;aspect-ratio:9/16}
.gala-video-frame video{display:block;width:100%;height:100%;object-fit:contain}
.gala-video-play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:linear-gradient(transparent,#0005);color:white;font-weight:800;font-size:13px}
.gala-video-play>span:first-child{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--green);color:#090909;padding-left:3px;font-size:20px}
.gala-video-play>span:last-child{background:#090909b3;padding:5px 10px}
.gala-video-play[hidden]{display:none}
.gala-video-feedback{font-size:13px;color:var(--muted);text-align:center}
.gala-video-feedback:empty{display:none}
.gala-video-enlarge{display:flex;align-items:center;gap:8px;min-height:44px;font-size:13px;text-decoration:underline;text-underline-offset:4px}
.gala-video-enlarge span{font-size:22px;color:var(--green)}
.gala-video-frame video:fullscreen{width:100%;height:100%;background:#000;object-fit:contain}
@media(max-width:800px){
 .gala-story{grid-template-columns:1fr;grid-template-rows:auto;gap:24px}
 .gala-video-block{display:grid;justify-items:center;gap:10px;width:min(100%,240px);justify-self:center;order:1}
 .gala-story .gala-video-frame,.gala-story .gala-video-enlarge,.gala-story .gala-video-feedback{grid-column:auto;grid-row:auto}
 #gallery-dialog.gala-detail .gala-story #gallery-inquiry{grid-column:auto;grid-row:auto;order:2}
}

/* Consistent case studies, compact facts and an accessible photo viewer. */
#gallery-dialog.case-detail #gallery-subtitle:empty{display:none}
#gallery-dialog.case-detail #gallery-images{gap:18px}
#gallery-dialog.case-detail #gallery-images img[role="button"]{cursor:zoom-in}
#gallery-dialog.case-detail #gallery-images img:focus-visible{outline-offset:-4px}
#gallery-dialog.festival-detail #gallery-images img{height:auto;max-height:none;aspect-ratio:3/2;object-fit:cover}
#gallery-dialog.festival-detail #gallery-description p+p{margin-top:16px}
#gallery-dialog.festival-detail #gallery-images img[src$="soldout-obsluha.webp"]{object-position:center 35%}
#gallery-dialog.festival-detail .festival-partner-photo{margin:0;grid-column:1/-1}
#gallery-dialog.festival-detail .festival-partner-photo figcaption{margin-top:10px;font-size:13px;color:var(--muted);line-height:1.5}
.case-footer{border-top:1px solid var(--line);margin-top:32px;padding-top:28px;display:flex;justify-content:center}
.case-more summary{cursor:pointer;color:var(--green);font-size:14px;min-height:44px;padding:10px 0}
#gallery-dialog.gala-detail #gallery-description .case-more p+p{margin-top:16px}
@media(min-width:801px){
 .case-more{display:contents}
 .case-more>summary{display:none}
}
@media(max-width:800px){
 #gallery-dialog.case-detail{padding:30px 20px}
 #gallery-dialog.case-detail #gallery-facts{grid-template-columns:1fr 1fr;gap:14px 18px;margin:18px 0;padding:16px 0}
 #gallery-dialog.case-detail #gallery-facts dd{font-size:18px;margin-top:4px}
 #gallery-dialog.case-detail #gallery-facts dt{font-size:11px}
 #gallery-dialog.gala-detail #gallery-facts>div:last-child{grid-column:1/-1}
 #gallery-dialog.festival-detail #gallery-facts>div:last-child{grid-column:1/-1}
 #gallery-dialog.case-detail #gallery-description{font-size:15px;line-height:1.7}
 .gala-story{margin:18px 0;gap:18px}
 #gallery-dialog.gala-detail #gallery-description{gap:4px}
 .case-footer .button{width:100%;gap:16px}
}
#case-photo-viewer{width:calc(100vw - 32px);max-width:1400px;height:calc(100svh - 32px);max-height:none;padding:52px 20px 16px;background:#090909;border:1px solid var(--line);overflow:hidden}
#case-photo-viewer::backdrop{background:#000e}
#case-photo-viewer[open]{display:flex;flex-direction:column;gap:12px}
#case-photo-viewer figure{margin:0;flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;align-items:center}
#case-photo-viewer img{flex:1;min-height:0;width:100%;object-fit:contain}
#case-photo-viewer figcaption{font-size:13px;color:var(--muted);text-align:center;flex-shrink:0}
#case-photo-viewer .photo-close{position:absolute;right:12px;top:6px;width:44px;height:44px;font-size:32px}
#case-photo-viewer .photo-controls{display:flex;align-items:center;justify-content:center;gap:24px;flex-shrink:0}
#case-photo-viewer .photo-controls button{width:48px;height:44px;border:1px solid var(--line);font-size:24px;color:var(--green)}
#case-photo-viewer .photo-count{font-size:13px;min-width:50px;text-align:center}
@media(max-width:700px){#case-photo-viewer{width:100%;height:100svh;padding:54px 12px 16px;border:0}#case-photo-viewer figcaption{font-size:12px}}


@media(max-width:700px){#typy .type-row{padding:18px 0}}
