/* Shared with the block editor; WordPress owns navigation behavior. */
* { box-sizing: border-box; }
body { -webkit-font-smoothing: antialiased; }
:where(a, button, input, textarea, select):focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 6px; }
.wp-site-blocks > * { margin-block-start: 0; }
.sk-main > * { margin-block-start: 0; }
.sk-page-content > * { margin-block-start: 0; }
.sk-header { padding-block: 1.75rem; border-bottom: 1px solid #c6a07830; }
.sk-header-row { gap: 2rem; }
.sk-brand { margin: 0; font-size: .875rem; letter-spacing: .19em; line-height: 1.5; }
.sk-brand a { text-decoration: none; }
.sk-header .wp-block-navigation { margin-left: auto; }
.sk-header .wp-block-navigation__container { gap: clamp(1rem, 2.4vw, 2.5rem); }
.sk-header .wp-block-navigation-item__content { padding-block: .5rem; text-underline-offset: .4em; }
.sk-label { font-family: var(--wp--preset--font-family--sans); font-size: .6875rem; letter-spacing: .2em; text-transform: uppercase; line-height: 1.8; }
.sk-hero { padding-block: clamp(2rem, 4vh, 3rem); }
.sk-hero-columns { align-items: center !important; gap: clamp(2rem, 6vw, 6rem); }
.sk-hero h1 { font-size: clamp(2.75rem, 4.5vw, 4.75rem); max-width: 13ch; line-height: 1.08; margin-block: 1.25rem; text-wrap: balance; }
.sk-hero .wp-block-buttons { margin-top: 2rem; }
.sk-hero-columns > .wp-block-column,
.sk-expression-columns > .wp-block-column { min-width: 0; overflow-wrap: break-word; }
/* Ratio, scale and focal point belong to the Image block, not theme CSS. */
.sk-photo img { display: block; width: 100%; height: auto; }
.sk-hero-photo img { max-height: clamp(22rem, 65vh, 42rem); }
.sk-photo figcaption { text-align: left; font-size: .6875rem; letter-spacing: .12em; color: var(--wp--preset--color--muted); margin-top: .75rem; }
.sk-genres { padding-block: clamp(1.25rem, 2vw, 2rem); }
.sk-genre-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .5rem; min-height: 6rem; align-items: start; }
.sk-genre-grid > .sk-genre-word { margin: 0; color: var(--wp--preset--color--contrast); opacity: .18; font-family: var(--wp--preset--font-family--serif); font-size: clamp(.875rem, 2.3vw, 2rem); line-height: 1.2; letter-spacing: .06em; overflow-wrap: anywhere; }
.sk-genre-word:nth-child(2) { align-self: end; }
.sk-genre-word:nth-child(3) { align-self: center; }
.sk-genre-word:nth-child(4) { padding-top: .5rem; }
.sk-genre-word:nth-child(5) { align-self: end; justify-self: end; }
.sk-expressions { padding-block: clamp(4rem, 8vw, 8rem); }
.sk-expressions h2 { margin-block: 1rem 1.5rem; }
.sk-expression-columns { gap: clamp(2rem, 6vw, 6rem); }
.sk-expression-columns > .wp-block-column:nth-child(2) { padding-block: 1rem; }
.sk-expression-columns > .wp-block-column:nth-child(2) > p:not(.sk-label) { max-width: 42ch; }
.sk-expression-columns .wp-block-buttons { margin-top: 2rem; }
.sk-footer { border-top: 1px solid #c6a07830; padding-block: 2rem; }
.sk-content { padding-block: clamp(3rem, 6vw, 6rem); min-height: 55vh; }
.wp-block-button__link { transition: background-color .2s ease, color .2s ease; }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--base) !important; color: var(--wp--preset--color--contrast) !important; padding: 2rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 4rem; align-items: stretch; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start; gap: 1.5rem; font-size: 1rem; }
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
@media (max-width: 960px) {
  .sk-header-row { gap: 1rem; }
  .sk-desktop-booking { display: none !important; }
  .sk-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
  .sk-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
}
@media (max-width: 781px) {
  .sk-header { padding-block: 1rem; }
  .sk-brand { font-size: .6875rem; letter-spacing: .14em; }
  .sk-hero-columns { gap: 2.5rem; }
  .sk-hero h1 { font-size: clamp(2.5rem, 8vw, 3.75rem); max-width: 15ch; }
  .sk-hero-photo { max-width: 34rem; margin-inline: auto !important; }
  .sk-hero-photo img { max-height: none; }
  .sk-genre-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); min-height: 5rem; row-gap: 1rem; }
  .sk-genre-grid > .sk-genre-word { font-size: clamp(.75rem, 2.8vw, 1.25rem); }
  .sk-genre-word:nth-child(2) { align-self: center; justify-self: center; }
  .sk-genre-word:nth-child(3) { align-self: end; justify-self: end; }
  .sk-genre-word:nth-child(4) { padding-top: 0; justify-self: center; }
  .sk-genre-word:nth-child(5) { grid-column: 3; }
  .sk-expression-columns > .wp-block-column:nth-child(2) { padding-block: 0; }
  .sk-expressions { padding-block: 3rem; }
  .sk-footer .wp-block-group { gap: .5rem; }
}
@media (prefers-reduced-motion: reduce) {
  .wp-block-button__link { transition: none; }
}
