.draft-preview-banner{background:#e1e9df;color:var(--ink);display:flex;justify-content:center;gap:30px;padding:12px 20px;font-size:11px;flex-wrap:wrap}.draft-preview-banner a{border-bottom:1px solid var(--gold)}.real-gallery{align-items:start}.gallery-photo{margin:0;background:var(--paper)}.gallery-photo img{display:block;width:100%;height:270px;object-fit:cover}.gallery-photo figcaption{padding:22px}.gallery-photo h3{font-size:28px;margin-block:13px 10px}.gallery-photo p{font-size:12px;color:var(--muted);margin:0;white-space:pre-line}.testimonials-section{padding-block:65px}.testimonial-carousel{margin-top:30px;max-width:850px;border-top:1px solid var(--line);padding-top:30px}.testimonial-carousel blockquote{font:italic 32px/1.5 var(--serif);margin:0;white-space:pre-line}.testimonial-credit{font-size:12px;color:var(--muted);margin-top:22px}.testimonial-controls{display:flex;align-items:center;gap:18px;margin-top:20px;font-size:10px;color:var(--muted)}.testimonial-controls button{display:grid;place-items:center;width:44px;height:44px;background:#ffffff70;border:1px solid var(--line);border-radius:50%;font-size:18px;color:var(--ink)}.testimonial-controls button:hover{background:#ece8df}@media(max-width:650px){.real-gallery{grid-template-columns:1fr}.gallery-photo img{height:240px}.testimonial-carousel blockquote{font-size:27px}.testimonials-section{padding-block:40px}.draft-preview-banner{gap:10px}}
.gallery-cover{display:block;width:100%;padding:0;border:0;background:transparent}.programme-view-button{border:1px solid var(--ink);border-radius:999px;padding:10px 18px;min-height:44px;background:transparent;color:var(--ink);font-size:14px;margin-top:18px}.programme-view-button:hover{background:var(--ink);color:white}.programme-dialog{width:min(1000px,calc(100% - 32px));padding:32px}.programme-dialog h2{font-size:36px;margin:15px 55px 24px 0}.programme-dialog .dialog-close{font:14px var(--sans);min-height:44px;padding:8px;right:20px;top:15px}.programme-full-photo{display:block;width:100%;max-height:65vh;object-fit:contain;background:#fff}.programme-caption{font-size:16px;white-space:pre-line;margin-top:18px}.programme-view-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:20px}.programme-view-controls button{min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--ink);font-size:14px}.programme-view-controls span{font-size:14px}.testimonial-carousel{max-width:none}.testimonial-track{display:flex;gap:24px;align-items:stretch}.testimonial-card{flex:1;min-width:0;border:1px solid var(--line);border-radius:12px;background:#fff;padding:30px;display:flex;flex-direction:column}.testimonial-card.featured{background:var(--ink);color:#fff;border-color:var(--ink)}.testimonial-card blockquote{font:400 18px/1.8 var(--sans);flex:1;overflow-wrap:anywhere}.testimonial-card .testimonial-credit{font-size:14px;margin-bottom:0}.testimonial-card.featured .testimonial-credit{color:#e7d4a3}.testimonial-controls{justify-content:center;font-size:14px}.testimonial-controls button{width:auto;height:auto;min-height:44px;min-width:90px;padding:10px 16px;border-radius:999px;font-size:14px}.testimonials-section h2{margin-bottom:24px}@media(max-width:650px){.testimonial-card:not(.featured){display:none}.testimonial-card{padding:26px}.testimonial-card blockquote{font-size:18px}.programme-dialog{padding:20px}.programme-dialog h2{font-size:30px}.programme-view-controls{gap:12px}.programme-view-controls button{padding:10px;font-size:12px}.gallery-photo p{font-size:14px}}
.real-gallery{align-items:stretch}.gallery-photo{display:flex;flex-direction:column;height:100%}.gallery-photo figcaption{flex:1;display:flex;flex-direction:column}.gallery-photo h3{min-height:2.14em}.gallery-photo .programme-view-button{align-self:flex-start;margin-top:auto}.gallery-photo figcaption>p{margin-bottom:18px}.testimonial-window{overflow:hidden}.testimonial-track{gap:24px}.testimonial-card,.testimonial-card.featured{background:#102a43;color:#fff;border-color:#102a43;flex:0 0 calc((100% - 48px)/3)}.testimonial-card .testimonial-credit,.testimonial-card.featured .testimonial-credit{color:#fff}.testimonial-card.peripheral{opacity:.25}.has-peeks .testimonial-track{width:calc(100% - 48px);margin-left:24px;transform:translateX(calc(-1 * ((100% - 48px)/3 + 24px)))}.testimonial-dots{display:flex;justify-content:center;gap:4px;margin-top:22px}.testimonial-dots button{width:44px;height:44px;border:0;background:transparent;padding:16px;position:relative}.testimonial-dots button:after{content:'';display:block;width:12px;height:12px;border-radius:50%;background:#102a43;opacity:.25}.testimonial-dots button[aria-current=true]:after{opacity:1}.testimonials-section .testimonial-card blockquote{font-size:18px}.testimonial-track{align-items:stretch}@media(max-width:650px){.testimonial-card:not(.featured){display:flex}.testimonial-card,.testimonial-card.featured{flex-basis:calc(100% - 48px)}.testimonial-window:not(.has-peeks) .testimonial-track{padding-left:24px}.testimonial-card:not(.featured){opacity:.25}.has-peeks .testimonial-track{width:100%;margin-left:24px;transform:translateX(calc(-100% + 24px))}.testimonial-card.peripheral:first-child{display:none}.has-peeks .testimonial-track{transform:none}.gallery-photo h3{min-height:0}}

.testimonial-category{font:600 14px/1.5 var(--sans);letter-spacing:.06em;color:#e7d4a3;margin:0 0 18px}.testimonial-dots[hidden]{display:none}
/* Photo viewer: steady image area, nearby controls, and direct photo selection. */
.programme-dialog{width:min(1080px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border-radius:14px}
.programme-dialog h2{font-size:32px;margin:0 52px 18px 0;line-height:1.2}
.programme-dialog .dialog-close{display:grid;place-items:center;position:absolute;right:16px;top:16px;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#fff;color:#102a43;font-size:20px}
.programme-photo-stage{position:relative;background:#102a43;border-radius:9px;overflow:hidden;touch-action:pan-y pinch-zoom}
.programme-photo-stage .programme-full-photo{width:100%;height:min(58dvh,620px);max-height:none;object-fit:contain;background:#102a43;opacity:1;transition:opacity .2s ease}
.programme-full-photo.photo-loading{opacity:.45}
.programme-photo-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;display:grid;place-items:center;border:1px solid #ffffff70;border-radius:50%;background:#102a43dd;color:white;font:36px/1 var(--sans);padding:0;box-shadow:0 2px 12px #0003}
.programme-photo-arrow.previous{left:14px}.programme-photo-arrow.next{right:14px}
.programme-photo-arrow:hover{background:#fff;color:#102a43}.programme-photo-arrow[hidden]{display:none}
.programme-view-controls{justify-content:space-between;gap:12px;margin-top:12px;color:var(--muted)}
.programme-view-controls .programme-swipe-hint{font-size:12px}.programme-caption{font-size:14px;margin:12px 0 0}
.programme-thumbnails{display:flex;gap:10px;overflow-x:auto;padding:8px 4px 10px;margin-top:8px;scroll-snap-type:x proximity;scrollbar-width:thin}
.programme-thumbnail{flex:0 0 74px;width:74px;height:60px;border:2px solid transparent;background:transparent;border-radius:6px;padding:3px;scroll-snap-align:center;opacity:.65}
.programme-thumbnail img{display:block;width:100%;height:100%;object-fit:cover;border-radius:3px}
.programme-thumbnail[aria-current=true]{border-color:var(--gold);opacity:1}.programme-thumbnail:hover{opacity:1}
.programme-thumbnails[hidden],.programme-swipe-hint[hidden]{display:none}
@media(max-width:650px){
  .gallery-preview.real-gallery{display:flex;overflow-x:auto;gap:16px;scroll-snap-type:x mandatory;padding-bottom:14px;align-items:stretch;scrollbar-width:thin}
  .real-gallery .gallery-photo{flex:0 0 88%;height:auto;scroll-snap-align:start;min-width:0}
  .real-gallery .gallery-photo h3{min-height:2.14em}.real-gallery .gallery-photo figcaption{min-height:190px}
  .programme-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:16px;border-radius:12px}
  .programme-dialog h2{font-size:26px;margin-right:48px}.programme-dialog .dialog-close{right:10px;top:10px}
  .programme-photo-stage .programme-full-photo{height:52dvh;min-height:180px}
  .programme-photo-arrow{width:44px;height:44px;font-size:32px}.programme-photo-arrow.previous{left:8px}.programme-photo-arrow.next{right:8px}
  .programme-thumbnail{flex-basis:64px;width:64px;height:54px}.programme-view-controls span{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.programme-full-photo{transition:none}.programme-thumbnails{scroll-behavior:auto}}
