@font-face{font-family:Cinzel;src:url('/fonts/cinzel-latin.woff2') format('woff2');font-style:normal;font-weight:400 900;font-display:swap}
/* One presentation, always in the venue's cream and terracotta. */
.cdf-presentation{font-size:18.2px;line-height:1.55;color:#882E28;background:#FBF7EA;--dock-height:calc(94px + env(safe-area-inset-bottom,0px));--stage-dock:var(--dock-height);--stage-skirt:#FBF7EA}
.cdf-presentation .brand-hero{--stage-skirt:#301B18}
.cdf-presentation main{overflow:clip}
.cdf-presentation h1,.cdf-presentation h2,.cdf-presentation figcaption strong{text-transform:uppercase;font-weight:700}
.cdf-presentation h2{font:700 clamp(41.6px,5.6vw,100px)/.98 var(--font-serif);letter-spacing:-.025em;text-wrap:balance;margin-bottom:26px}
.presentation-section{position:relative;padding:40px 28px;background:#FBF7EA;scroll-margin-top:24px}
.presentation-pin{position:relative;background:#FBF7EA}
.anchor-alias{position:absolute;top:0;scroll-margin-top:24px}
.cdf-presentation .hero-composition{inset:auto 0 calc(var(--dock-height) + 40px);pointer-events:none}
.cdf-presentation .hero-headline{margin:0;font-size:clamp(46px,7.8vw,128px);font-weight:700;line-height:.95;letter-spacing:-.035em}
.cdf-presentation .hero-headline span{display:block}
.cdf-presentation .hero-mark{width:clamp(170px,18vw,260px)}
.cdf-presentation .hero-film{inset:auto;left:50%;top:47%;transform:translate(-50%,-50%);height:min(70svh,720px);width:auto;aspect-ratio:9/16;object-fit:cover;border-radius:0;opacity:1}
.cdf-presentation .brand-hero::before{background:linear-gradient(180deg,rgb(25 8 6/.25),transparent 40%,rgb(25 8 6/.48));z-index:1}
.cdf-presentation .hero-film-toggle{bottom:calc(var(--dock-height) + 30px);left:28px}
.rating-summary{display:flex;align-items:center;gap:clamp(28px,8vw,100px);margin:0 0 24px}
.rating-summary>a{display:flex;align-items:center;gap:12px;min-height:74px;font-size:18px}
.rating-summary>a>span{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;max-width:240px}
.rating-summary strong{font:600 50px/1 var(--font-serif);color:#35211E}
.rating-summary small{display:block;flex-basis:100%;font-size:14px;line-height:1.3;color:#66534C}
.rating-summary .review-stars{font-size:17px}
.rating-summary .tripadvisor-source>span{display:block;font-weight:600}
.review-stars{color:#882E28;font-size:23px;letter-spacing:2px;line-height:1}
.presentation-window{width:calc(100% + 56px);margin-inline:-28px;padding:14px 28px 20px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-y;scroll-snap-type:x mandatory}
.presentation-window::-webkit-scrollbar{display:none}
.presentation-track{display:flex;align-items:center;width:max-content;padding-right:28px}
/* One card width per rail, read by the cards and by the stage to centre them. */
.review-section .presentation-track{--stage-card-width:clamp(340px,38vw,460px)}
.dj-section .presentation-track{--stage-card-width:min(clamp(340px,45vw,560px),100cqb)}
.rooftop-story-section .presentation-track{--stage-card-width:min(clamp(300px,29vw,400px),100cqb)}
.guest-review{position:relative;display:flex;flex-direction:column;justify-content:space-between;flex-shrink:0;width:var(--stage-card-width);min-height:min(292px,100cqb);padding:26px 30px;background:#F3EDDD;border-radius:0;box-shadow:0 4px 18px rgb(86 47 36/.06);scroll-snap-align:center;transform:rotate(-2deg)}
.guest-review+.guest-review{margin-left:-46px;transform:rotate(2deg)}
.guest-review:nth-child(3){transform:rotate(-2deg)}
.guest-review blockquote{margin:18px 0 24px;font:600 clamp(27px,2.2vw,34px)/1.1 var(--font-serif);color:#35211E;max-width:100%}
.review-author{display:flex;align-items:center;gap:12px;color:#66534C}
.review-author img{border-radius:0;width:44px;height:44px;object-fit:cover;filter:none!important}
.review-author strong{display:block;font-size:15px;font-weight:600}
.review-author small{display:block;font-size:13px;margin-top:2px}
.guest-review.is-current{z-index:2}
.review-section .presentation-window{touch-action:pan-x pan-y}
.guest-review:focus-visible{z-index:3;outline:3px solid #882E28;outline-offset:-4px}
.presentation-deck{position:relative;width:100%;max-width:1120px;margin-inline:auto;outline-offset:4px}
.presentation-slide{position:relative;overflow:hidden;border-radius:0;margin-bottom:14px;background:#351D18;isolation:isolate}
.presentation-slide picture{width:100%;height:100%;display:block}
.presentation-slide img{width:100%;height:100%;object-fit:cover;object-position:50% 38%;display:block;transition:transform 700ms ease}
.presentation-slide figcaption{position:absolute;inset:auto 0 0;padding:58px 24px 24px;color:#FBF7EA;background:linear-gradient(transparent,rgb(20 7 3/.7));font:700 clamp(30px,3.8vw,56px)/1 var(--font-serif);pointer-events:none}
.presentation-slide:not([hidden]) img{transform:scale(1.015)}
.sequence-meta{width:100%;max-width:1120px;display:flex;justify-content:space-between;gap:12px;margin:12px auto 0;color:#66534C;font-size:13px}
.sequence-meta [data-counter]{font-variant-numeric:tabular-nums}
.dj-card{position:relative;flex-shrink:0;width:var(--stage-card-width);aspect-ratio:1;overflow:hidden;border-radius:0;transform:rotate(-3deg);scroll-snap-align:center;background:#351D18}
.dj-card+.dj-card{margin-left:-56px;transform:rotate(3deg)}
.dj-card picture,.dj-card img{width:100%;height:100%;object-fit:cover;object-position:50% 28%}
.dj-card figcaption{position:absolute;inset:auto 0 0;padding:60px 24px 24px;color:#FBF7EA;background:linear-gradient(transparent,rgb(20 7 3/.72))}
.dj-card figcaption strong{display:block;font:700 42px/1 var(--font-serif)}
.dj-card figcaption small{font-size:13px}
.rooftop-frame{position:relative;overflow:hidden;border-radius:0;width:100%;height:min(75svh,820px);background:#351D18}
.rooftop-frame picture,.rooftop-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.rooftop-frame figcaption{position:absolute;inset:auto 0 0;padding:60px 24px 24px;color:#FBF7EA;background:linear-gradient(transparent,rgb(20 7 3/.6));font:700 36px/1 var(--font-serif)}
.rooftop-story-section{padding:38px 28px 32px;background:#FBF7EA;color:#882E28;scroll-margin-top:24px}
.rooftop-story-section .presentation-pin{width:100%;max-width:1240px;margin-inline:auto}
.rooftop-story-brand{margin:0 0 12px;font:700 clamp(20px,2.2vw,32px)/1.05 var(--font-serif);text-transform:uppercase}
.rooftop-story-section h2{max-width:900px;margin-bottom:16px}
.rooftop-story-window{width:calc(100% + 56px);margin-inline:-28px}
.rooftop-story-card{aspect-ratio:1}
.rooftop-story-card picture,.rooftop-story-card img{display:block;width:100%;height:100%}
.rooftop-story-card img{object-fit:cover;object-position:50% 42%}
.rooftop-story-card figcaption{position:absolute;inset:auto 0 0;padding:60px 24px 24px;color:#FBF7EA;background:linear-gradient(transparent,rgb(20 7 3/.72));font:700 clamp(27px,3vw,40px)/1.05 var(--font-serif);text-transform:uppercase}
.rooftop-story-card figcaption strong{font:inherit}
.rooftop-story-section .sequence-meta{margin-top:4px}
.faq-section{max-width:1120px;margin-inline:auto;padding-block:52px 36px}
.faq-section details{border-bottom:1px solid rgb(136 46 40/.2);padding:18px 0}
.faq-section summary{display:flex;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;font-size:19px;font-weight:600;line-height:1.3;min-height:26px}
.faq-section summary::-webkit-details-marker{display:none}
.faq-section summary::after{content:'+';flex-shrink:0;font-size:24px;font-weight:400}
.faq-section details[open] summary::after{content:'−'}
.faq-section p{font-size:17px;color:#66534C;line-height:1.65;margin-top:16px}
.faq-section details a{text-decoration:underline;text-underline-offset:4px;display:inline-block;margin-top:10px;font-size:16px}
.presentation-footer{padding:32px 28px 22px;border-top:1px solid rgb(136 46 40/.2);text-align:center;background:#FBF7EA}
.presentation-footer nav{display:flex;justify-content:center;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-bottom:14px}
.presentation-footer .footer-social-icons a{display:grid;place-items:center;width:44px;height:44px}
.footer-social-icons svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.presentation-footer .footer-languages{padding:0;justify-content:center}
.footer-languages a{display:grid;place-items:center;min-width:44px;min-height:44px;font-size:16px}
.footer-languages a[aria-current]{text-decoration:underline;text-underline-offset:6px;font-weight:700}
.footer-titles a{display:inline-flex;align-items:center;min-height:44px;font-size:15px;font-weight:600}
.presentation-footer p{color:#66534C;font-size:13px;margin-top:14px}
/* The dock's colours, size and position never change over photographs. */
.cdf-presentation .landing-actions,.cdf-presentation .landing-actions.on-hero{left:0;right:0;bottom:0;transform:none;display:grid;grid-template-columns:27.5fr 45fr 27.5fr;gap:8px;width:100%;max-width:none;padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px));background:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;z-index:20}
.cdf-presentation .landing-actions a,.cdf-presentation .landing-actions.on-hero a{position:relative;display:flex;justify-content:center;align-items:center;height:62px;padding:8px;border:1.5px solid #882E28;border-radius:999px;background:#FBF7EA;color:#882E28;font-size:20px;letter-spacing:0;text-transform:none;transition:transform 160ms ease}
.cdf-presentation .landing-actions a:active{transform:scale(.97)}
.cdf-presentation .landing-actions .landing-reserve,.cdf-presentation .landing-actions.on-hero .landing-reserve{border-color:#FBF7EA;color:#fff;background-color:#882E28;background-image:linear-gradient(rgb(136 46 40/.86),rgb(136 46 40/.86)),url('/assets/textures/terracotta-velvet.webp');background-size:cover;font-family:Cinzel,Georgia,serif;font-size:clamp(17px,2.2vw,27px);font-weight:700;text-transform:uppercase;white-space:nowrap}
.cdf-presentation .landing-actions a:focus-visible{outline:3px solid #882E28;outline-offset:3px}
.cdf-presentation .landing-actions a>svg:not(.booking-hint){display:block;position:static;width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cdf-presentation .booking-hint{position:absolute;left:50%;top:-48px;width:24px;height:36px;transform:translateX(-50%);fill:none;stroke:#FBF7EA;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px #882E28);animation:cdf-hint 1.7s forwards;pointer-events:none}
@keyframes cdf-hint{0%,40%,80%{opacity:1;transform:translate(-50%,-5px)}20%,60%,90%{opacity:1;transform:translate(-50%,3px)}100%{opacity:0;visibility:hidden}}
@media(min-width:1100px){.presentation-section{padding-inline:5vw}.presentation-window{width:calc(100% + 10vw);margin-inline:-5vw;padding-inline:5vw}.presentation-track{padding-right:5vw}.presentation-footer{padding-inline:5vw}.cdf-presentation .landing-actions{padding-inline:28px}.cdf-presentation .landing-actions a{height:68px}}
@media(max-width:760px){
 .presentation-section{padding:28px 16px}.cdf-presentation h2{font-size:clamp(39px,9.5vw,62px);margin-bottom:24px}
 .cdf-presentation .hero-film{inset:0;top:0;left:0;transform:none;width:100%;height:100%;aspect-ratio:auto;border-radius:0;object-fit:cover;object-position:50% 48%;opacity:0}
 .cdf-presentation .hero-film.is-playing{opacity:1}.cdf-presentation .hero-headline{font-size:clamp(46px,12vw,82px);padding-inline:12px}
 .cdf-presentation .hero-composition{inset:auto 0 calc(var(--dock-height) + 44px)}
 .cdf-presentation .hero-film-toggle{left:16px;bottom:calc(var(--dock-height) + 190px)}
 .rating-summary{gap:24px;margin-bottom:12px}.rating-summary>a{gap:8px;font-size:15px}.rating-summary>a>span{max-width:155px}.rating-summary strong{font-size:42px}.rating-summary small{font-size:12px}.rating-summary .review-stars{font-size:12px;letter-spacing:.4px}
 .presentation-window{width:100vw;margin-inline:-16px;padding:12px 16px 16px}.presentation-track{padding-right:16px}
 .review-section .presentation-track{--stage-card-width:calc(100vw - 32px)}.dj-section .presentation-track,.rooftop-story-section .presentation-track{--stage-card-width:min(calc(100vw - 32px),100cqb)}
 .guest-review{min-height:min(268px,100cqb);padding:min(24px,8cqb)}.guest-review+.guest-review{margin-left:-38px}.guest-review blockquote{font-size:min(29px,10.5cqb);margin-block:min(16px,6cqb) min(24px,8cqb)}
 .presentation-deck{width:100vw;max-width:none;margin-inline:-16px;padding-inline:0}
 .presentation-slide{border-radius:0}.presentation-slide figcaption{padding:52px 20px 20px;font-size:36px}.sequence-meta{font-size:12px}
 .dj-card{border-radius:0}.dj-card+.dj-card{margin-left:-42px}.dj-card figcaption strong{font-size:36px}
 .rooftop-frame{width:100vw;max-width:none;margin-inline:-16px;border-radius:0;height:72svh}
 .rooftop-story-section{padding:28px 16px 24px}
 .rooftop-story-brand{font-size:19px;margin-bottom:8px}
 .rooftop-story-section h2{font-size:clamp(40px,10vw,62px);margin-bottom:12px}
 .rooftop-story-window{width:100vw;margin-inline:-16px;padding:12px 16px 16px}
 .rooftop-story-card{border-radius:0}
 .rooftop-story-card figcaption{padding:54px 20px 20px;font-size:32px}
 .rooftop-story-section .sequence-meta{font-size:12px;margin-inline:4px}
 .faq-section{padding-block:32px}.faq-section summary{font-size:18px}.presentation-footer{padding-inline:16px}
}
@media(max-width:360px){.rating-summary{gap:14px}.rating-summary>a>img{width:22px;height:22px}.rating-summary>a{font-size:13px}.cdf-presentation .landing-actions{gap:6px;padding-inline:8px}.cdf-presentation .landing-actions .landing-reserve{font-size:15px}}
@media(max-height:699px){.cdf-presentation .hero-headline{font-size:clamp(35px,7vw,74px)}.cdf-presentation .hero-composition{bottom:calc(var(--dock-height) + 20px)}}
@media(prefers-reduced-motion:reduce){.cdf-presentation *{scroll-behavior:auto!important}.presentation-slide,.presentation-slide img,.cdf-presentation .landing-actions a{transition:none}.presentation-slide img{transform:none!important}.cdf-presentation .booking-hint{animation:cdf-hint-static 1.7s forwards}}
@keyframes cdf-hint-static{0%,99%{opacity:1}100%{opacity:0;visibility:hidden}}
