.clp-page { overflow: clip; }
.clp-page .eyebrow { font-weight: 700; }
.clp-hero { padding-block: var(--space-10); }
.clp-hero__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: end; }
.clp-hero__copy { grid-column: 1 / span 5; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.clp-hero__copy > * { margin: 0; }
.clp-hero__copy .display-title { max-width: 22ch; }
.clp-hero__copy .intro { max-width: 55ch; }
.clp-hero__location { display: flex; flex-direction: column; gap: var(--space-1); padding-top: var(--space-3); border-top: 2px solid var(--color-cobalt); font-size: var(--text-sm); }
.clp-hero__location span:first-child { font-size: var(--text-xs); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.clp-hero__actions { width: 100%; }
.clp-hero__media { grid-column: 7 / span 6; min-width: 0; margin: 0; height: 31rem; clip-path: polygon(0 0,100% 0,100% 100%,3% 100%); }
.clp-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: 72% 50%; transition: transform var(--transition-base); }
@media (hover:hover) and (pointer:fine) { .clp-hero__media:hover img { transform: scale(1.02); } }
.clp-room__intro { width: 58.333%; max-width: 64ch; }
.clp-room__modules { display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); gap: var(--space-6) var(--space-5); margin-top: var(--space-7); align-items: start; }
.clp-room__statement { min-width: 0; }
.clp-room__statement--one { grid-column: 1 / span 4; }
.clp-room__statement--two { grid-column: 6 / span 5; padding: var(--space-5); background: var(--color-sand); }
.clp-room__statement--three { grid-column: 2 / span 4; }
.clp-room__statement--one p { max-width: 44ch; }
.clp-room__statement--two p { max-width: 48ch; }
.clp-room__statement--three p { max-width: 42ch; }
.clp-room__number { display: block; margin-bottom: var(--space-3); color: var(--color-cobalt); font-family: var(--font-heading); font-size: 3.5rem; font-weight: 700; line-height: 1; }
.clp-room blockquote { max-width: 18ch; }
.clp-rhythm__heading { width: 58.333%; min-width: 0; }
.clp-rhythm__heading h2 { max-width: 20ch; }
.clp-rhythm__stages { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: var(--space-5); margin-top: var(--space-7); align-items: start; }
.clp-stage { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.clp-stage > * { margin: 0; }
.clp-stage > span { font-family: var(--font-heading); font-size: 4rem; font-weight: 700; line-height: .9; color: transparent; -webkit-text-stroke: 1px var(--color-white); }
.clp-stage--one { grid-column: 1 / span 3; }
.clp-stage--two { grid-column: 5 / span 4; padding-top: var(--space-5); border-top: 3px solid var(--color-terracotta); }
.clp-stage--three { grid-column: 10 / span 3; }
.clp-stage p { max-width: 38ch; }
.clp-stage small { color: var(--color-white); font-weight: 700; }
.clp-rhythm__note { width: 33.333%; min-width: 0; max-width: 50ch; margin: var(--space-7) auto 0; padding: var(--space-4); border: 1px solid rgba(248,247,243,.7); }
.clp-tables__grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: var(--space-5); align-items: center; }
.clp-tables__copy { grid-column: 1 / span 4; min-width: 0; }
.clp-tables__copy p { max-width: 52ch; }
.clp-tables__media { grid-column: 6 / span 7; min-width: 0; margin: 0; height: 30rem; clip-path: polygon(0 0,100% 0,100% 92%,94% 100%,0 100%); }
.clp-tables__media img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 50%; transition: transform var(--transition-base); }
.clp-tables__media figcaption { padding: var(--space-3) var(--space-4); background: var(--color-white); }
@media (hover:hover) and (pointer:fine) { .clp-tables__media:hover img { transform: scale(1.02); } }
.clp-tables__lower { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: var(--space-5); margin-top: var(--space-6); }
.clp-tables__sand { grid-column: 1 / span 4; min-width: 0; padding: var(--space-5); background: var(--color-sand); }
.clp-tables__sand p { max-width: 44ch; }
.clp-tables__details { grid-column: 6 / span 7; min-width: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: var(--border); border-bottom: var(--border); }
.clp-tables__details > div { min-width: 0; padding: var(--space-4); border-right: var(--border); }
.clp-tables__details > div:last-child { border-right: 0; }
.clp-tables__details p { margin-bottom: 0; max-width: 26ch; font-size: var(--text-sm); }
.clp-restaurant__grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: var(--space-4); align-items: end; }
.clp-restaurant__lead { grid-column: 1 / span 7; min-width: 0; }
.clp-restaurant__lead .intro { max-width: 60ch; }
.clp-restaurant__reserve, .clp-restaurant__enquire { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-4); }
.clp-restaurant__reserve > *, .clp-restaurant__enquire > * { margin: 0; }
.clp-restaurant__reserve { grid-column: 8 / span 3; background: var(--color-white); }
.clp-restaurant__enquire { grid-column: 11 / span 2; background: var(--color-cobalt); color: var(--color-white); }
.clp-restaurant__enquire .text-link { color: var(--color-white); }
.clp-evenings__intro { width: 50%; min-width: 0; max-width: 56ch; }
.clp-evenings__modules { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-4); margin-top: var(--space-7); align-items: stretch; }
.clp-evening { min-width: 0; padding: var(--space-5); border: var(--border); transition: transform var(--transition-fast); }
.clp-evening p { max-width: 34ch; }
.clp-evening--work { border-top: 3px solid var(--color-cobalt); }
.clp-evening--group { border-color: var(--color-graphite); background: var(--color-graphite); color: var(--color-white); }
.clp-evening--group .eyebrow { color: var(--color-terracotta); }
.clp-evening--curious { background: var(--color-sand); }
@media (hover:hover) and (pointer:fine) { .clp-evening:hover { transform: translateY(-3px); } }
.clp-evenings__note { max-width: 65ch; margin-top: var(--space-6); padding-top: var(--space-4); border-top: var(--border); font-family: var(--font-heading); font-weight: 600; }
.clp-cues__heading { width: 41.667%; min-width: 0; }
.clp-cues__heading h2 { max-width: 20ch; }
.clp-cues__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: var(--space-7); border-top: 1px solid rgba(248,247,243,.35); border-bottom: 1px solid rgba(248,247,243,.35); }
.clp-cues__grid > article { min-width: 0; padding: var(--space-5); border-right: 1px solid rgba(248,247,243,.35); }
.clp-cues__grid > article:last-child { border-right: 0; }
.clp-cues__grid .eyebrow { color: var(--color-sand); }
.clp-cues__grid p { max-width: 28ch; }
.clp-cues__grid a:not(.button) { color: var(--color-white); }
.clp-atmosphere__figure { position: relative; width: 100%; height: min(42vw,36rem); margin: 0; overflow: hidden; background: var(--color-graphite); }
.clp-atmosphere__figure > img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform var(--transition-base); }
@media (hover:hover) and (pointer:fine) { .clp-atmosphere__figure:hover > img { transform: scale(1.02); } }
.clp-atmosphere__overlay { position: absolute; left: max(var(--container-padding), calc((100% - var(--container-max)) / 2)); bottom: var(--space-6); width: min(33.333%, 28rem); margin: 0; padding: var(--space-5); background: rgba(32,33,36,.88); color: var(--color-white); }
.clp-atmosphere__overlay .eyebrow { color: var(--color-white); }
.clp-atmosphere__overlay strong { display: block; font-family: var(--font-heading); font-size: var(--text-section-title); line-height: 1.05; letter-spacing: -.035em; }
.clp-atmosphere__support { width: 41.667%; min-width: 0; margin-top: calc(var(--space-6) * -1); padding: var(--space-5); position: relative; background: var(--color-graphite); color: var(--color-white); }
.clp-atmosphere__support p { max-width: 50ch; margin: 0; }
.clp-faq__intro { width: 50%; min-width: 0; max-width: 55ch; }
.clp-faq__list { width: 66.667%; min-width: 0; margin: var(--space-7) auto 0; border-top: var(--border); }
.clp-faq__item { border-bottom: var(--border); }
.clp-faq__item h3 { margin: 0; }
.clp-faq__item button { width: 100%; min-height: 3.5rem; display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) 0; border: 0; background: transparent; color: var(--color-graphite); font-family: var(--font-heading); font-size: var(--text-intro); font-weight: 700; letter-spacing: -.035em; line-height: 1.25; text-align: left; }
.clp-faq__item button span { flex: 0 0 auto; color: var(--color-cobalt); font-family: var(--font-body); font-size: 1.75rem; font-weight: 400; }
.clp-faq__item button[aria-expanded="true"] { border-left: 3px solid var(--color-cobalt); padding-left: var(--space-3); }
.clp-faq__panel { max-width: 62ch; padding: 0 0 var(--space-5); }
.clp-faq__panel p { margin: 0; }
.clp-final { padding-block: var(--space-8); }
.clp-final__grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: var(--space-5); align-items: center; }
.clp-final__copy { grid-column: 1 / span 6; min-width: 0; }
.clp-final__copy h2 { max-width: 20ch; }
.clp-final__copy p:not(.eyebrow) { max-width: 52ch; }
.clp-final__actions { grid-column: 8 / span 5; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.clp-final__actions > * { margin: 0; }
.clp-final__actions p { color: var(--color-white); font-size: var(--text-sm); }
.clp-final__actions p a { color: var(--color-white); }
@media (max-width: 979px) {
.clp-hero__grid { grid-template-columns: repeat(6,minmax(0,1fr)); }
.clp-hero__copy { grid-column: 1 / -1; }
.clp-hero__media { grid-column: 1 / -1; height: 28rem; }
.clp-rhythm__stages { grid-template-columns: repeat(6,minmax(0,1fr)); }
.clp-stage--one { grid-column: 1 / span 3; }
.clp-stage--two { grid-column: 4 / span 3; }
.clp-stage--three { grid-column: 1 / span 3; }
.clp-rhythm__note { width: 50%; }
.clp-cues__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.clp-cues__grid > article:nth-child(2) { border-right: 0; }
.clp-cues__grid > article:nth-child(-n+2) { border-bottom: 1px solid rgba(248,247,243,.35); }
}
@media (max-width: 919px) {
.clp-restaurant__grid { grid-template-columns: repeat(6,minmax(0,1fr)); }
.clp-restaurant__lead { grid-column: 1 / -1; }
.clp-restaurant__reserve { grid-column: 1 / span 3; }
.clp-restaurant__enquire { grid-column: 4 / span 3; }
.clp-evenings__modules { grid-template-columns: repeat(6,minmax(0,1fr)); }
.clp-evening--work, .clp-evening--group { grid-column: span 3; }
.clp-evening--curious { grid-column: 1 / -1; }
}
@media (max-width: 839px) {
.clp-room__intro, .clp-rhythm__heading, .clp-evenings__intro, .clp-faq__intro { width: 100%; }
.clp-room__modules { grid-template-columns: repeat(6,minmax(0,1fr)); }
.clp-room__statement--one { grid-column: 1 / span 3; }
.clp-room__statement--two { grid-column: 4 / span 3; }
.clp-room__statement--three { grid-column: 1 / span 3; }
.clp-tables__grid, .clp-tables__lower { grid-template-columns: repeat(6,minmax(0,1fr)); }
.clp-tables__copy { grid-column: 1 / -1; }
.clp-tables__media { grid-column: 1 / -1; }
.clp-tables__sand { grid-column: 1 / span 3; }
.clp-tables__details { grid-column: 4 / span 3; grid-template-columns: 1fr; }
.clp-tables__details > div { border-right: 0; border-bottom: var(--border); }
.clp-tables__details > div:last-child { border-bottom: 0; }
.clp-final__grid { grid-template-columns: repeat(6,minmax(0,1fr)); }
.clp-final__copy { grid-column: 1 / -1; }
.clp-final__actions { grid-column: 1 / -1; }
}
@media (max-width: 759px) {
.clp-rhythm__stages { grid-template-columns: 1fr; gap: var(--space-6); }
.clp-stage--one, .clp-stage--two, .clp-stage--three { grid-column: 1; padding-top: 0; }
.clp-rhythm__note { width: 100%; margin-top: var(--space-6); }
.clp-faq__list { width: 100%; }
.clp-atmosphere__figure { height: auto; aspect-ratio: 4 / 5; }
.clp-atmosphere__figure > img { object-position: 58% center; }
.clp-atmosphere__overlay { position: static; width: 100%; padding: var(--space-5) var(--container-padding); background: var(--color-graphite); }
.clp-atmosphere__support { width: 100%; margin-top: 0; padding: var(--space-5) 0; }
}
@media (max-width: 699px) {
.clp-hero { padding-block: var(--space-8); }
.clp-hero__copy { gap: var(--space-4); }
.clp-hero__copy .display-title { font-size: 2.375rem; line-height: 1.02; }
.clp-hero__location { order: 1; }
.clp-hero__media { order: 2; height: auto; aspect-ratio: 16 / 11; margin-right: calc(var(--container-padding) * -1); clip-path: none; }
.clp-hero__copy .intro { order: 3; }
.clp-hero__actions { order: 4; display: flex; flex-direction: column; align-items: stretch; gap: var(--space-3); }
.clp-hero__actions .button { width: 100%; }
.clp-room__modules { grid-template-columns: 1fr; gap: var(--space-6); margin-top: var(--space-6); }
.clp-room__statement--one, .clp-room__statement--two, .clp-room__statement--three { grid-column: 1; }
.clp-room__statement--two { padding: var(--space-4); }
.clp-rhythm__heading h2, .clp-tables__copy h2, .clp-restaurant__lead h2, .clp-evenings__intro h2, .clp-cues__heading h2, .clp-faq__intro h2, .clp-final__copy h2 { font-size: 2rem; }
.clp-tables__grid, .clp-tables__lower { grid-template-columns: 1fr; }
.clp-tables__media { height: auto; aspect-ratio: 16 / 11; margin-right: calc(var(--container-padding) * -1); clip-path: none; }
.clp-tables__sand, .clp-tables__details { grid-column: 1; }
.clp-tables__details { grid-template-columns: 1fr; }
.clp-restaurant__grid { grid-template-columns: 1fr; }
.clp-restaurant__reserve, .clp-restaurant__enquire { grid-column: 1; padding: var(--space-4); }
.clp-restaurant__reserve .button { width: 100%; }
.clp-evenings__modules { grid-template-columns: 1fr; gap: var(--space-4); margin-top: var(--space-6); }
.clp-evening--work, .clp-evening--group, .clp-evening--curious { grid-column: 1; padding: var(--space-4); }
.clp-cues__grid { grid-template-columns: 1fr; margin-top: var(--space-6); }
.clp-cues__grid > article { padding: var(--space-5) 0; border-right: 0; border-bottom: 1px solid rgba(248,247,243,.35); }
.clp-cues__grid > article:last-child { border-bottom: 0; }
.clp-cues__grid .button { width: 100%; }
.clp-faq__list { margin-top: var(--space-6); }
.clp-faq__item button { min-height: 3.5rem; font-size: var(--text-base); }
.clp-faq__panel { padding-right: var(--space-4); }
.clp-final { padding-block: var(--space-7); }
.clp-final__grid { grid-template-columns: 1fr; }
.clp-final__copy, .clp-final__actions { grid-column: 1; }
.clp-final__actions { align-items: stretch; }
.clp-final__actions .action-group { flex-direction: column; gap: var(--space-3); }
.clp-final__actions .button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .clp-hero__media img, .clp-tables__media img, .clp-atmosphere__figure > img, .clp-evening { transition: none; } }