/* The venue is one journey: working space, Di Marco, interiors, arrival. */
.venue-studio-photos figure:first-child{transform:none;width:94%}
.venue-studio-photos figure:first-child img{height:auto;aspect-ratio:auto;object-fit:contain}
.venue-studio-photos figure:last-child{width:40%;bottom:-15px}
.venue-studio-photos figure:last-child img{height:auto;aspect-ratio:2/3;object-fit:cover}
.venue-studio-photos{padding-bottom:105px}
.venue-origin{padding:90px 0 100px;background:var(--ink);color:#fff}
.venue-origin-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}
.venue-origin .eyebrow{color:var(--yellow)}
.venue-origin h2,.venue-photo-story h2{font:800 clamp(32px,3.3vw,48px)/1.13 Wide;margin:20px 0 25px}
.venue-origin h2 .display,.venue-photo-story h2 .display{display:block;transform:none;width:auto;font:400 clamp(55px,6.1vw,90px)/1.05 Display;color:var(--gold);margin-top:8px}
.venue-origin-lead{max-width:390px;font:500 21px/1.55 Reading;color:#dddcd5}
.venue-origin-copy p{font:400 17px/1.85 Reading;color:#deded9;margin:0 0 25px}
.venue-origin-copy .button{margin-top:8px}
.venue-photo-story{background:#eeefec;padding:85px 0 0}
.venue-gallery-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:75px;align-items:end;margin-bottom:55px}
.venue-photo-story h2{margin-bottom:0}.venue-photo-story h2 .display{font-size:clamp(48px,5vw,74px);color:var(--ink)}
.venue-gallery-note{font:400 17px/1.8 Reading;margin:0;max-width:400px}
.venue-mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:48px 42px;align-items:start}
.venue-frame{margin:0;min-width:0;position:relative}
.venue-frame .gallery-button{display:block;width:100%;padding:0;border:0;background:none;position:relative;cursor:zoom-in;overflow:hidden;text-align:left}
.venue-frame .gallery-button img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;transform:none!important}
.venue-photo-open{position:absolute;bottom:14px;right:14px;width:38px;height:38px;background:var(--yellow);color:var(--ink);display:grid;place-items:center;font-size:24px}
.venue-frame .gallery-button:focus-visible{outline:3px solid var(--ink);outline-offset:5px}
.venue-frame-1{grid-column:1/8}.venue-frame-2{grid-column:9/13;margin-top:90px}
.venue-frame-3{grid-column:2/9;margin-top:-100px}.venue-frame-4{grid-column:10/13;margin-top:40px}
.venue-frame-5{grid-column:1/4;margin-top:-60px}.venue-frame-6{grid-column:5/13;margin-top:25px}
.venue-frame-7{grid-column:2/5;margin-top:-35px}.venue-frame-8{grid-column:6/13;margin-top:65px}
.venue-story-map .venue-panorama{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:10px;min-height:0;height:auto;padding:65px max(40px,calc((100vw - 1320px)/2)) 45px}
.venue-story-map .venue-art{position:relative;grid-column:2;grid-row:1;inset:auto;width:100%;height:auto;aspect-ratio:940/640;z-index:0;mask-image:linear-gradient(to bottom,transparent,#000 16%,#000 100%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 16%,#000 100%)}
.venue-story-map .venue-art .venue-context-map{position:static;inset:auto;width:100%;height:auto;min-width:0;object-fit:contain;transform:none}
.venue-story-map .venue-art:after{display:none}
.venue-story-map .venue-copy{grid-column:1;grid-row:1;padding:0!important;max-width:none}
.venue-story-map .venue-copy h2 .display{font-size:80px}
.venue-story-map .venue-copy .venue-amenities{font-size:15px;line-height:1.8;max-width:360px}
.venue-arrival-story{padding:80px 0 65px}
.venue-arrival-heading{display:grid;grid-template-columns:1.05fr .95fr;gap:75px;align-items:center}
.venue-arrival-heading h2{font-size:clamp(30px,3.2vw,42px)}
.venue-arrival-heading h2 .display{font-size:clamp(52px,5.2vw,78px)}
.venue-arrival-story .venue-stay-copy p{font-size:18px;line-height:1.8;margin:0}
.venue-visit-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;border-top:1px solid #0b0d0c40;margin-top:55px;padding-top:35px}
.venue-visit-number{font:400 46px/1 Display;opacity:.65}
.venue-visit-steps h3{font:800 23px/1.25 Wide;margin:15px 0}
.venue-visit-steps p{font:400 16px/1.8 Reading;margin:0}
.venue-arrival-story .venue-travel-note{font:400 13px/1.7 Reading;margin:35px 0 0;max-width:840px}
@media(max-width:1000px){
 .venue-origin-grid,.venue-gallery-heading,.venue-arrival-heading{gap:40px}
 .venue-mosaic{gap:35px 26px}.venue-frame-3{margin-top:-50px}.venue-frame-5{margin-top:-20px}
 .venue-story-map .venue-panorama{padding-inline:30px;grid-template-columns:1fr 1.2fr}
 .venue-story-map .venue-copy h2 .display{font-size:64px}.venue-visit-steps{gap:24px}
}
@media(max-width:700px){
 .venue-studio-photos{padding-bottom:110px}.venue-studio-photos figure:last-child{width:35%;bottom:0}
 .venue-origin,.venue-arrival-story{padding:50px 0}.venue-origin-grid,.venue-gallery-heading,.venue-arrival-heading{grid-template-columns:1fr;gap:25px}
 .venue-origin-lead{font-size:19px;max-width:none}.venue-origin-copy p{font-size:16px}
 .venue-photo-story{padding-top:50px}.venue-gallery-heading{margin-bottom:35px}.venue-gallery-note{max-width:none;font-size:16px}
 .venue-mosaic{gap:25px 18px;grid-template-columns:repeat(6,minmax(0,1fr))}
 .venue-frame-1,.venue-frame-3,.venue-frame-6,.venue-frame-8{grid-column:1/-1;margin-top:0}
 .venue-frame-2,.venue-frame-4{grid-column:2/6;margin:0}
 .venue-frame-5{grid-column:1/4;margin:0}.venue-frame-7{grid-column:4/7;margin:30px 0 0}
 .venue-frame-6{grid-row:7}.venue-frame-8{grid-row:8}
 .venue-story-map .venue-panorama{grid-template-columns:1fr;padding:35px 20px 45px;gap:20px}
 .venue-story-map .venue-art{grid-column:1;grid-row:1;height:auto;aspect-ratio:940/640;mask-image:none;-webkit-mask-image:none}
 .venue-story-map .venue-copy{grid-row:2}.venue-story-map .venue-copy .venue-amenities{max-width:none}
 .venue-story-map .venue-copy h2{margin-bottom:18px}.venue-story-map .venue-copy h2 .display{font-size:65px}
 .venue-arrival-story .venue-stay-copy p{font-size:16px}.venue-visit-steps{grid-template-columns:1fr;gap:28px;margin-top:35px}
 .venue-visit-steps article{display:grid;grid-template-columns:45px 1fr;column-gap:15px}.venue-visit-number{grid-row:1/3;font-size:40px}.venue-visit-steps h3{margin:0 0 10px;font-size:22px}.venue-visit-steps p{grid-column:2}
}
.venue-certifications{margin-top:35px;border-top:1px solid #ffffff30;max-width:450px}
.venue-certifications>div{padding:20px 0;border-bottom:1px solid #ffffff30}
.venue-certifications h3{font:800 19px/1.3 Wide;color:var(--gold);margin:0 0 8px}
.venue-certifications p{font:400 15px/1.65 Reading;margin:0;color:#deded9}
.venue-frame .gallery-button:after{display:none}
.venue-studio-photos figcaption{color:#fff}
.course-venue-reminder{border-left:3px solid var(--gold);padding:5px 0 5px 20px;margin:28px 0 0;max-width:760px}
.course-venue-reminder p{font:400 14px/1.75 Reading;margin:0 0 10px}.course-venue-reminder p:last-child{margin-bottom:0}
.course-venue-reminder strong{font-weight:700}.course-venue-reminder a{color:inherit;text-decoration:underline;text-underline-offset:4px;display:inline-block}
.venue-story-map .venue-art{transform:none!important;inset:auto!important}
/* Cartography flows from the final photographs into the arrival copy. */
.venue-photo-story{position:relative;z-index:1;background:linear-gradient(#eeefec 0%,#eeefec calc(100% - 330px),transparent 100%)}
.venue-mosaic .venue-frame{z-index:2}
.venue-story-map{position:relative;background:#eeefec;overflow:visible}
.venue-story-map .venue-panorama{position:relative;isolation:isolate;display:block;overflow:visible;min-height:650px;padding-top:90px;padding-bottom:90px}
.venue-story-map .venue-art{position:absolute;inset:-310px 0 -15px!important;width:100%;height:calc(100% + 325px);aspect-ratio:auto;z-index:-1;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent),linear-gradient(0deg,transparent,#000 14%,#000 78%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent),linear-gradient(0deg,transparent,#000 14%,#000 78%,transparent);-webkit-mask-composite:source-in}
.venue-story-map .venue-art .venue-context-map{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.9}
.venue-story-map .venue-art:after{display:block;position:absolute;inset:0;background:linear-gradient(90deg,#eeefecb0 0%,#eeefecde 18%,#eeefecd9 28%,#eeefec60 43%,transparent 57%)}
.venue-story-map .venue-copy{position:relative;width:36%;max-width:440px!important;z-index:2}
@media(max-width:1000px) and (min-width:701px){.venue-story-map .venue-copy{width:40%}.venue-story-map .venue-panorama{min-height:640px}.venue-story-map .venue-art{inset:-180px 0 0!important;height:calc(100% + 180px)}}
@media(max-width:700px){
 .venue-photo-story{background:#eeefec}
 .venue-story-map .venue-panorama{display:flex;flex-direction:column;min-height:0;padding:20px 20px 45px}
 .venue-story-map .venue-art{position:relative;inset:auto!important;flex:none;width:calc(100% + 40px);margin:0 -20px;height:310px;z-index:0;mask-image:radial-gradient(ellipse at center,#000 35%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at center,#000 35%,transparent 75%)}
 .venue-story-map .venue-art .venue-context-map{width:165%;max-width:none;left:-60%;object-fit:cover;object-position:65% center}
 .venue-story-map .venue-art:after{display:none}.venue-story-map .venue-copy{width:100%;max-width:none!important}
}
.venue-photo-story{z-index:auto;background:#eeefec}
.venue-photo-story{z-index:1;background:linear-gradient(#eeefec 0%,#eeefec calc(100% - 330px),transparent 100%)}
.venue-story-map{box-shadow:0 -330px 0 #eeefec}

/* A solid photo plane floats over the cartography; map ends before the gold band. */
.venue-frame .gallery-button,.venue-studio-photos figure{background:#eeefec;box-shadow:0 17px 40px #00000015}
.venue-frame .gallery-button img,.venue-frame .gallery-button:hover img{opacity:1!important}
.venue-story-map{clip-path:inset(-350px 0 0);isolation:isolate}
.venue-story-map .venue-art{inset:-310px 0 0!important;height:calc(100% + 310px)}
.venue-story-map .venue-art .venue-context-map{object-fit:cover;opacity:.9}
.venue-arrival-story{position:relative;z-index:2;background:var(--gold)}
@media(max-width:1000px) and (min-width:701px){.venue-story-map .venue-art{inset:-180px 0 0!important;height:calc(100% + 180px)}}
@media(max-width:700px){.venue-story-map{clip-path:none;overflow:hidden}.venue-story-map .venue-art{inset:auto!important;height:310px}.venue-story-map .venue-art .venue-context-map{width:100%;left:0;object-fit:cover;object-position:60% center}}
