/* v21: a continuous photographic wall, with no secondary gallery destination. */
.world-title h1{white-space:nowrap;font-size:clamp(30px,3.7vw,58px);letter-spacing:3px;margin-bottom:18px}
.world-title .event-place{font-size:13px;letter-spacing:1.4px;display:block;margin:0}
.moments-track{display:block;overflow:visible;padding:0;scroll-snap-type:none}
.photo-row{display:grid;gap:12px;margin-bottom:12px;align-items:start}
.photo-row .moment{display:block;width:100%;min-width:0;margin:0;padding:0;border:0;border-radius:3px;background:#e9e4dd;overflow:hidden;cursor:zoom-in;line-height:0}
.photo-row .moment img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:0;transition:filter .25s ease}
.photo-row .moment:hover img{filter:brightness(1.07)}
.photo-row .moment:focus-visible{outline:3px solid #a77843;outline-offset:3px}
#photo-dialog{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:64px 76px;border:0;background:rgba(17,15,13,.97);color:#fff;overflow:hidden;box-sizing:border-box}
#photo-dialog::backdrop{background:rgba(17,15,13,.9)}
#photo-dialog[open]{display:grid;place-items:center}
.photo-stage{width:100%;height:100%;min-height:0;display:grid;place-items:center;position:relative}
.photo-stage img{display:block;width:100%;height:100%;min-height:0;object-fit:contain;transition:opacity .18s ease}
.photo-status{position:absolute;inset:auto;text-align:center;font-size:14px;color:#ddd}
#photo-dialog button{position:absolute;z-index:2;display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff38;border-radius:50%;background:#ffffff0d;color:#fff;cursor:pointer;font:300 30px/1 Arial}
#photo-dialog button:hover{background:#ffffff25}
#photo-dialog button:focus-visible{outline:2px solid #dfbe8c;outline-offset:4px}
#photo-dialog button:disabled{opacity:.18;cursor:default}
#photo-dialog .photo-close{right:24px;top:18px;font-size:26px}
#photo-dialog .photo-prev{left:16px;top:calc(50% - 22px)}
#photo-dialog .photo-next{right:16px;top:calc(50% - 22px)}
.photo-counter{position:absolute;left:28px;top:31px;font:12px/1 Arial;letter-spacing:2px;color:#e6ded1}
@media(max-width:700px){
 .site-header{padding-left:5%;padding-right:5%}
 .brand{gap:0;font-size:20px}
 .brand span{display:block;font-size:10px;letter-spacing:.3px;margin-left:10px;padding-left:10px;max-width:145px;line-height:1.6}
 .site-header #atmosphere-link{display:none}
 .world-title h1{font-size:clamp(25px,6.6vw,36px);letter-spacing:1px;white-space:nowrap;margin-bottom:13px}
 .world-title .event-place{font-size:11px;letter-spacing:0}
 .photo-row{gap:7px;margin-bottom:7px}
 #photo-dialog{padding:72px 12px 92px}
 #photo-dialog .photo-prev{left:calc(50% - 62px);top:auto;bottom:24px}
 #photo-dialog .photo-next{right:calc(50% - 62px);top:auto;bottom:24px}
}
@media(prefers-reduced-motion:reduce){.photo-stage img,.photo-row .moment img{transition:none}}
/* v22: three continuous thematic ribbons */
#moments{padding:48px 0 0;overflow:hidden}
#moments .section-heading{padding:0 5%;margin-bottom:24px;align-items:center;gap:20px}
#moments .section-heading h2{font-size:30px;margin:0}
#moments .section-heading .kicker{margin-bottom:8px}
#moments .section-heading>p{display:none}
.wall-motion{font-size:12px;color:#806b54;padding:9px 14px;border:1px solid #d9cbb7;border-radius:30px;margin-left:auto;white-space:nowrap}
.photo-lane{display:grid;grid-template-columns:240px minmax(0,1fr);margin-bottom:12px;align-items:stretch}
.lane-label{padding:24px 18px 12px max(24px,3.5vw);display:flex;flex-direction:column;justify-content:center;background:linear-gradient(105deg,#f8f5ef,#f1e9dc55)}
.lane-label h3{font:500 25px/1.4 var(--serif);margin:0;white-space:nowrap;color:#554532}
.exhibition-description{min-height:66px;margin:12px 0 0;max-width:180px;font-size:13px;line-height:1.8;color:#8a7967}
.lane-viewport{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;cursor:grab;touch-action:pan-x pan-y;overscroll-behavior-x:contain;mask-image:linear-gradient(to right,transparent,#000 20px,#000 calc(100% - 30px),transparent)}
.lane-viewport::-webkit-scrollbar{display:none}
.lane-viewport:active{cursor:grabbing}
.lane-track,.lane-strip{display:flex;gap:12px;width:max-content}
.lane-strip .moment{flex:none;height:clamp(150px,14vw,205px);width:auto;min-width:0;border:0;padding:0;overflow:hidden;border-radius:3px;background:#ebe4d9;line-height:0}
.lane-strip .moment img{display:block;height:100%;width:100%;aspect-ratio:auto;object-fit:contain;user-select:none;-webkit-user-drag:none;pointer-events:none}
.lane-strip .moment:focus-visible{outline:3px solid #a77843;outline-offset:-3px}
#moments footer{margin:28px 5% 0}
@media(max-width:700px){
 #moments{padding-top:28px}
 #moments .section-heading{padding:0 6%;margin-bottom:20px}
 #moments .section-heading h2{font-size:23px}
 .wall-motion{font-size:11px;padding:7px 10px}
 .photo-lane{grid-template-columns:1fr;margin-bottom:20px}
 .lane-label{padding:0 6% 10px;background:none}
 .lane-label h3{font-size:21px}
 .exhibition-description{min-height:30px;margin:5px 0 0;max-width:100%;font-size:12px}
 .lane-strip .moment{height:155px}
 .lane-viewport{mask-image:linear-gradient(to right,transparent,#000 10px,#000 calc(100% - 10px),transparent)}
}
/* Champagne film: a physical carrier for the moving photographs. */
#moments{background:radial-gradient(ellipse at 70% 5%,#f5e6ca66,transparent 55%),#f8f5ef}
.photo-lane{margin-bottom:19px}
.lane-viewport{padding:7px 0 14px}
.lane-track{position:relative;padding:19px 0;background:linear-gradient(110deg,#463a2e,#756147 24%,#ac8c59 45%,#5b4938 70%,#45372b);box-shadow:0 8px 10px -7px #51402d70,0 2px 2px #fff8 inset}
.lane-track::before,.lane-track::after{content:'';position:absolute;left:0;right:0;height:5px;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 9px,#f8f5ef 9px 18px,transparent 18px 26px);opacity:.85}
.lane-track::before{top:6px}.lane-track::after{bottom:6px}
.lane-strip .moment{height:clamp(135px,12vw,175px);border-radius:1px;box-shadow:0 0 0 1px #251e1880}
.lane-label{background:none}
.lane-label h3{font-size:24px}
@media(max-width:700px){.lane-strip .moment{height:145px}.photo-lane{margin-bottom:17px}.lane-label h3{font-size:21px}}
@media(max-width:700px){#moments .section-heading{display:flex;align-items:center;gap:10px}#moments .section-heading h2{font-size:21px}.wall-motion{flex-shrink:0}}
/* Light passes over a translucent film base; reflections fall off into the paper. */
#moments{background:radial-gradient(ellipse at 74% 15%,#ead4ad66,transparent 58%),linear-gradient(135deg,#f9f6ef,#f1ece5 55%,#f7f2e8)}
.lane-viewport{padding-top:6px;padding-bottom:48px}
.photo-lane{margin-bottom:0}
.lane-track{background:linear-gradient(105deg,#3f352e 0%,#665640 18%,#b59968 38%,#d4bc8b 49%,#9a7851 60%,#5c4538 79%,#42372e 100%);background-size:1100px 100%;box-shadow:0 5px 8px -4px #58432c6b,0 1px 1px #fff9 inset;-webkit-box-reflect:below 4px linear-gradient(to bottom,transparent 69%,rgba(100,76,46,.30))}
.lane-track::before,.lane-track::after{opacity:.76}
.lane-strip .moment{box-shadow:0 0 0 1px #31241580,0 1px 2px #21170d44}
@media(max-width:700px){.lane-viewport{padding-bottom:35px}.photo-lane{margin-bottom:7px}}
/* Independent mirrored layers keep every ribbon's reflection visible. */
.lane-viewport{position:relative}
.lane-track{-webkit-box-reflect:unset}
.film-reflection{position:absolute;left:0;top:calc(100% - 44px);height:44px;width:max-content;overflow:hidden;pointer-events:none;opacity:.32;mask-image:linear-gradient(to bottom,#000,transparent)}
.reflection-track{transform:scaleY(-1);box-shadow:none!important}
.reflection-track .moment{pointer-events:none}
.exhibition-lane{grid-template-columns:340px minmax(0,1fr)}
.exhibition-lane .lane-label{padding-top:12px;padding-bottom:18px;justify-content:flex-start}
.exhibition-lane .exhibition-description:empty{min-height:76px;margin:0}
.exhibition-entries{display:grid;gap:14px}
.exhibition-entries h4{font-size:14px;line-height:1.4;margin:0 0 4px;color:#62492d;font-weight:600}
.exhibition-entries p{font-size:12px;line-height:1.7;margin:0;color:#877763;max-width:240px}
.exhibition-lane .lane-viewport{align-self:center}
@media(max-width:700px){.exhibition-lane{grid-template-columns:1fr}.exhibition-lane .lane-label{padding:0 6% 12px}.exhibition-lane .exhibition-description:empty{min-height:36px}.exhibition-entries{grid-template-columns:1fr 1fr;gap:12px 20px}.film-reflection{top:calc(100% - 33px);height:33px}}
.exhibition-lane{grid-template-columns:400px minmax(0,1fr)}
.exhibition-lane .exhibition-description:empty{display:none}
.exhibition-entries{grid-template-columns:1fr 1fr;gap:16px 18px;margin-top:18px}
.exhibition-lane .lane-label{padding-right:24px;justify-content:center}
.exhibition-entries p{line-height:1.75}
@media(max-width:700px){.exhibition-lane{grid-template-columns:1fr}.exhibition-lane .lane-label{padding-right:6%}.exhibition-entries{margin:14px 0 8px;gap:14px 22px}}
/* Title and editorial copy sit above each full-width ribbon. */
.photo-lane,.exhibition-lane{display:block;margin-bottom:16px}
.lane-label,.exhibition-lane .lane-label{padding:10px 5% 18px;display:block;text-align:center}
.lane-label h3{font-size:27px;letter-spacing:1px}
.exhibition-entries{max-width:1200px;margin:20px auto 4px;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;text-align:left}
.exhibition-entries h4{font-size:15px;margin-bottom:7px}
.exhibition-entries p{max-width:260px;font-size:13px;line-height:1.8}
.lane-viewport{width:100%}
@media(max-width:700px){.lane-label,.exhibition-lane .lane-label{padding:8px 6% 14px}.lane-label h3{font-size:23px}.exhibition-entries{grid-template-columns:1fr 1fr;gap:18px 24px;margin-top:18px}.exhibition-entries h4{font-size:14px}.exhibition-entries p{font-size:12px}.photo-lane{margin-bottom:12px}}

/* The header scrolls away: no fixed-header offset for the photo wall. */
html{scroll-padding-top:0}

.exhibition-lane .lane-viewport{max-width:1500px;margin-inline:auto}
.exhibition-lane .lane-strip .moment{height:clamp(145px,17vw,265px)}

/* v26: restore the conference title's champagne-gold material. */
.world-title h1{color:#92612e;background:linear-gradient(170deg,#70451f 3%,#b48345 28%,#d4b579 44%,#93602e 59%,#b58a4c 80%,#795027 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 0 #fff5db99);text-shadow:none;animation:none}
.world-title .event-place{color:#574335}
