.category-receptions .category-hero { min-height: clamp(580px, 68svh, 720px); height: auto; }
.category-receptions .category-image { object-position: 50% 55%; }
.category-receptions .category-shade { background: linear-gradient(90deg, rgba(7,13,24,.82), rgba(7,13,24,.48) 43%, rgba(7,13,24,.08) 78%); }
.category-receptions .category-content { max-width: 760px; padding: 90px 24px 100px var(--page-gutter); }
.category-receptions .category-content .eyebrow { color: #e0c98d; margin-bottom: 25px; }
.category-receptions .category-content h1 { max-width: none; margin-bottom: 0; color: #e0c98d; font-size: clamp(64px, 6.2vw, 92px); line-height: 1.04; text-wrap: initial; text-shadow: 0 2px 18px rgba(0,0,0,.28); }
.reception-title-event { display: block; max-width: 11ch; }
.reception-title-venue { display: block; margin-top: 20px; font-size: clamp(30px, 2.85vw, 40px); line-height: 1.25; letter-spacing: -.01em; text-wrap: balance; }
.reception-hero-rule { display: block; width: 58px; height: 1px; margin: 27px 0 24px; background: #c5ae74; }
.category-receptions .category-monogram { left: var(--page-gutter); opacity: .2; }
.category-receptions .category-intro { max-width: 510px; }
.reception-story { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: start; gap: clamp(38px, 5vw, 76px); max-width: 1500px; margin-inline: auto; padding: 80px var(--page-gutter) 90px; background: var(--paper); }
.reception-story-feature { min-width: 0; }
.reception-story-heading { margin-bottom: 34px; }
.reception-story-heading .gold-rule { margin: 0 0 28px; }
.reception-story h2 { max-width: 18ch; margin: 0; font-size: clamp(38px, 3.8vw, 56px); line-height: 1.14; letter-spacing: -.025em; text-wrap: balance; }
.reception-story-copy { max-width: 62ch; }
.reception-story-carriages { width: 100%; max-width: 460px; margin: 22px auto 0; }
.reception-story-carriages-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.reception-story-carriages button { position: relative; display: block; min-width: 0; width: 100%; padding: 4px; border: 1px solid var(--line); background: rgba(255,255,255,.12); }
.reception-story-carriages img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; }
.reception-story-carriages figcaption { margin-top: 12px; color: var(--muted); font-size: 11px; line-height: 1.6; letter-spacing: .13em; text-align: center; text-transform: uppercase; }
.reception-story-carriages .reception-photo-plus { right: 8px; bottom: 8px; width: 27px; height: 27px; font-size: 21px; }
.reception-story-copy p { margin: 0 0 26px; color: var(--muted); font-size: 16px; line-height: 1.95; }
.reception-story-copy p:first-child { color: var(--ink); font-size: 18px; line-height: 1.85; }
.reception-story-copy p:last-child { margin: 0; padding-top: 24px; border-top: 1px solid var(--line); color: var(--ink); font-family: Georgia, 'Times New Roman', serif; font-size: 23px; line-height: 1.55; }
.reception-story + .reception-gallery { border-top: 1px solid var(--line); }
.reception-photo button { display: block; width: 100%; border: 0; padding: 0; background: transparent; }
.reception-gallery { padding: 80px var(--page-gutter); background: var(--paper); }
.reception-collage-intro { max-width: 880px; margin: 0 auto 40px; }
.reception-collage-heading { max-width: 760px; margin: 0 auto; text-align: center; }
.reception-collage-heading .gold-rule { margin: 0 auto 22px; }
.reception-collage-heading h2 { margin: 0; color: var(--ink); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(30px, 3.2vw, 40px); font-weight: 400; line-height: 1.2; letter-spacing: -.02em; text-wrap: balance; }
.reception-collage-note { max-width: 60ch; margin: 0 auto 24px; color: var(--muted); font-family: Arial, Helvetica, sans-serif; font-size: 16px; line-height: 1.7; text-align: center; }
.reception-speakers { max-width: 600px; margin: 32px auto 0; }
.reception-speakers h3 { margin: 0 0 20px; color: var(--ink); font-family: Georgia, 'Times New Roman', serif; font-size: 21px; font-weight: 400; line-height: 1.4; letter-spacing: 0; text-align: center; text-transform: none; text-wrap: balance; }
.reception-speaker-names { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 56px; max-width: 520px; margin: 0 auto; padding: 0; list-style: none; color: #705623; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: 400; line-height: 1.6; text-align: left; }
.reception-speaker-names li { min-width: 0; text-wrap: balance; }
html[data-background="white"] .reception-speaker-names { color: #80652c; }
.reception-collage-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; max-width: 1120px; margin: 0 auto; }
.reception-collage-card { min-width: 0; margin: 0; }
.reception-collage-card figcaption { margin-top: 10px; color: var(--muted); font-size: 12px; line-height: 1.5; text-align: center; }
.reception-collage-card:nth-last-child(2):nth-child(4n + 1) { grid-column: 2; }
@media (min-width: 901px) {
  .reception-collage-grid > .reception-collage-card:nth-last-child(3):nth-child(4n + 1),
  .reception-collage-grid > .reception-collage-card:nth-last-child(3):nth-child(4n + 1) ~ .reception-collage-card { transform: translateX(calc(50% + 12px)); }
  .reception-collage-card:last-child:nth-child(4n + 1) { grid-column: 2; transform: translateX(calc(50% + 12px)); }
}
.reception-collage-card button { position: relative; display: block; width: 100%; padding: 6px; border: 1px solid var(--line); background: rgba(255,255,255,.12); box-shadow: 0 4px 14px rgba(16,25,35,.06); transition: border-color .2s ease, box-shadow .2s ease; }
.reception-collage-card img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; }
.reception-collage-card button:hover { border-color: var(--gold); box-shadow: 0 6px 18px rgba(16,25,35,.13); }
.reception-photo-plus { position: absolute; right: 12px; bottom: 12px; display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid #d8c48b; background: rgba(16,25,35,.9); color: #e0c98d; font-size: 23px; font-weight: 400; line-height: 1; }
.reception-gallery-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 38px; }
.reception-gallery-heading h2 { margin-bottom: 18px; font-size: clamp(34px, 3.4vw, 50px); letter-spacing: -.025em; line-height: 1.2; }
.reception-gallery-heading p:last-child { margin-bottom: 0; color: var(--muted); font-size: 13px; }
.reception-gallery-heading .text-link { flex-shrink: 0; }
.reception-photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 35px; }
.reception-photo img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.reception-photo-lead { grid-column: 1 / -1; }
.reception-photo-lead img { aspect-ratio: auto; }
.reception-story-photo { margin: 0; }
.reception-story-photo button { padding: 7px; border: 1px solid var(--line); }
.reception-story-photo img { display: block; width: 100%; height: auto; aspect-ratio: auto; }
.reception-photo figcaption { margin-top: 18px; text-align: center; font-size: 11px; text-transform: uppercase; letter-spacing: .13em; }
.reception-photo figcaption span { display: block; margin-top: 7px; color: var(--muted); font-size: 10px; text-transform: none; letter-spacing: .04em; }
.reception-films { padding: clamp(60px, 7vw, 100px) var(--page-gutter); border-top: 1px solid var(--gold); background: var(--navy); color: #fff; }
.reception-films-inner { max-width: 1280px; margin-inline: auto; }
.reception-films-heading { display: flex; align-items: end; justify-content: space-between; gap: 45px; margin-bottom: 45px; }
.reception-films-heading .eyebrow { color: #d8c48b; margin-bottom: 24px; }
.reception-films-heading .gold-rule { margin-bottom: 25px; }
.reception-films-heading h2 { max-width: 16ch; margin: 0; font-size: clamp(36px, 3.8vw, 56px); line-height: 1.15; letter-spacing: -.025em; }
.reception-films-heading > p { max-width: 390px; margin: 0; color: #d0d5dc; font-size: 14px; line-height: 1.9; }
.reception-films-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: start; gap: clamp(28px, 4vw, 55px); }
.reception-film-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 24px; }
.reception-film { display: block; min-width: 0; text-decoration: none; }
.reception-film-open { display: block; text-decoration: none; }
.reception-film-poster { position: relative; display: block; overflow: hidden; border: 1px solid rgba(174,154,99,.65); background: #050a10; }
.reception-film-poster::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,10,16,.3), transparent 65%); pointer-events: none; }
.reception-film-poster img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; transition: transform .3s ease; }
.reception-film-play { position: absolute; z-index: 1; inset: 0; display: grid; place-items: center; width: 50px; height: 50px; margin: auto; border: 1px solid #e2d2a1; border-radius: 50%; background: rgba(7,13,24,.65); color: #fff; transition: background .2s ease; }
.reception-film-play svg { margin-left: 3px; }
.reception-film-featured .reception-film-play { width: 76px; height: 76px; }
.reception-film-featured .reception-film-play svg { width: 32px; height: 32px; }
.reception-film-meta { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px 12px; padding: 18px 0 20px; border-bottom: 1px solid rgba(174,154,99,.35); }
.reception-film-label { color: #d8c48b; font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.reception-film time { color: #d0d5dc; font-size: 12px; }
.reception-film h3 { grid-column: 1 / -1; margin: 0; color: #fff; font-size: 22px; font-weight: 400; line-height: 1.25; }
.reception-film-featured h3 { font-size: clamp(28px, 2.5vw, 38px); }
.reception-film-action { grid-column: 1 / -1; margin-top: 4px; color: #e2d2a1; font-size: 10px; letter-spacing: .09em; text-transform: uppercase; }
.reception-film-action span { display: inline-block; margin-left: 8px; font-size: 15px; }
.reception-film:hover .reception-film-poster { border-color: #e2d2a1; }
.reception-film:hover .reception-film-poster img { transform: scale(1.025); }
.reception-film:hover .reception-film-play { background: rgba(7,13,24,.9); }
.reception-film-open:focus-visible { outline: 2px solid #e2d2a1; outline-offset: 6px; }
.reception-film-youtube { display: inline-block; margin-top: 13px; color: #d8c48b; font-size: 11px; text-underline-offset: 4px; }
.reception-film-youtube:hover { color: #fff; }
.reception-video-lightbox { --focus: #c5b480; position: fixed; inset: 0; width: min(1140px, calc(100% - 36px)); max-width: none; max-height: calc(100dvh - 36px); padding: 22px; border: 1px solid var(--gold); background: var(--navy); color: #fff; overflow: auto; }
.reception-video-lightbox::backdrop { background: rgba(3,7,12,.88); }
.reception-video-lightbox .close-button { color: #fff; }
.reception-video-player { width: 100%; aspect-ratio: 16 / 9; background: #03070b; }
.reception-video-player iframe { display: block; width: 100%; height: 100%; border: 0; }
.reception-video-external { display: inline-block; margin-top: 18px; color: #e2d2a1; font-size: 12px; text-underline-offset: 4px; }
.reception-lightbox { position: fixed; inset: 0; width: min(1200px, calc(100% - 40px)); max-width: none; max-height: calc(100dvh - 40px); padding: 20px; border: 1px solid var(--gold); background: var(--navy); color: #fff; overflow: auto; }
.lightbox-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
.lightbox-head h2 { margin: 0; font-size: 24px; line-height: 1.2; }
.lightbox-head .close-button { color: #fff; flex-shrink: 0; }
.lightbox-image { width: 100%; height: auto; max-height: calc(100dvh - 240px); object-fit: contain; }
.lightbox-caption { margin: 14px 0 0; font-size: 12px; color: #d0d5dc; text-align: center; }
.lightbox-navigation { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 15px; }
.lightbox-navigation button { min-height: 44px; padding: 8px 15px; border: 1px solid var(--gold); background: transparent; color: #fff; font-size: 11px; }
.lightbox-navigation p { margin: 0; color: #c5b480; font-size: 11px; }
@media (max-width: 1050px) {
  .reception-story { grid-template-columns: minmax(0, 1fr); gap: 36px; max-width: 900px; }
  .reception-story h2 { max-width: 20ch; }
  .reception-story-copy { max-width: none; }
}
@media (max-width: 1000px) {
  .reception-films-grid { grid-template-columns: minmax(0, 1fr); }
  .reception-films-heading { align-items: start; gap: 30px; }
  .reception-film-list { gap: 32px 26px; }
}
@media (max-width: 900px) {
  .reception-collage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .reception-collage-card:nth-last-child(2):nth-child(4n + 1) { grid-column: auto; }
  .reception-collage-card:last-child:nth-child(2n + 1) { grid-column: 1 / -1; justify-self: center; width: calc((100% - 20px) / 2); }
}
@media (max-width: 600px) {
  .reception-story-carriages-grid { gap: 10px; }
  .category-receptions .category-image { object-position: 76% 50%; }
  .category-receptions .category-shade { background: linear-gradient(90deg, rgba(7,13,24,.84), rgba(7,13,24,.45)); }
  .category-receptions .category-hero { min-height: 0; }
  .category-receptions .category-content h1 { font-size: clamp(44px, 11vw, 64px); line-height: 1.05; }
  .reception-title-venue { margin-top: 18px; font-size: clamp(27px, 6.7vw, 34px); }
  .reception-hero-rule { margin-top: 24px; margin-bottom: 23px; }
  .reception-story { padding: 45px var(--page-gutter) 50px; gap: 28px; }
  .reception-story-heading { margin-bottom: 28px; }
  .reception-story-heading .gold-rule { margin-bottom: 22px; }
  .reception-story h2 { font-size: 38px; }
  .reception-story-copy p { font-size: 15px; line-height: 1.9; margin-bottom: 23px; }
  .reception-story-copy p:first-child { font-size: 16px; line-height: 1.85; }
  .reception-story-copy p:last-child { font-size: 21px; padding-top: 22px; }
  .category-receptions .category-content { padding: 72px var(--page-gutter) 78px; }
  .reception-gallery { padding: 50px var(--page-gutter); }
  .reception-collage-intro { margin-bottom: 32px; }
  .reception-collage-note { margin-bottom: 20px; }
  .reception-collage-heading .gold-rule { margin-bottom: 20px; }
  .reception-speakers { margin-top: 28px; }
  .reception-speakers h3 { margin-bottom: 18px; font-size: 20px; }
  .reception-speaker-names { gap: 10px 24px; }
  .reception-collage-grid { gap: 15px; }
  .reception-collage-card:last-child:nth-child(2n + 1) { width: calc((100% - 15px) / 2); }
  .reception-collage-card button { padding: 4px; }
  .reception-photo-plus { right: 8px; bottom: 8px; width: 27px; height: 27px; font-size: 22px; }
  .reception-gallery-heading { flex-direction: column; align-items: flex-start; gap: 7px; }
  .reception-gallery-heading h2 { font-size: 34px; }
  .reception-photos { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .reception-films-heading { flex-direction: column; margin-bottom: 30px; }
  .reception-film-list { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .reception-film-featured .reception-film-play { width: 58px; height: 58px; }
  .reception-film-featured .reception-film-play svg { width: 26px; height: 26px; }
  .reception-film h3 { font-size: 26px; }
  .reception-video-lightbox { width: calc(100% - 20px); max-height: calc(100dvh - 20px); padding: 14px; }
  .reception-video-lightbox .lightbox-head h2 { font-size: 22px; }
  .reception-lightbox { width: calc(100% - 20px); max-height: calc(100dvh - 20px); padding: 14px; }
  .lightbox-head h2 { font-size: 20px; }
  .lightbox-image { max-height: calc(100dvh - 270px); }
  .lightbox-navigation button { padding: 8px 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .reception-film-poster img, .reception-film-play { transition: none; }
  .reception-collage-card button { transition: none; }
  .reception-film:hover .reception-film-poster img { transform: none; }
}
:is(.reception-collage, .reception-story-carriages) .reception-photo-plus { right: 6px; bottom: 6px; width: 20px; height: 20px; border: 0; background: transparent; box-shadow: none; color: #fff; text-shadow: 0 1px 4px rgba(0,0,0,.8); font-size: 20px; font-weight: 300; line-height: 1; }
