.kitchen-presentation { scroll-behavior: smooth; }
.kitchen-presentation .page-progress { z-index: 100; transform: translateZ(0); backface-visibility: hidden; }
.kitchen-presentation .page-progress > span { will-change: transform; }
@supports (animation-timeline: scroll()) {
  .kitchen-presentation .page-progress > span {
    animation: page-scroll-progress linear both;
    animation-timeline: scroll(root block);
  }
}
@keyframes page-scroll-progress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.kitchen-presentation .film-progress { display: none; }
.kitchen-presentation main > section:not(.film),
.kitchen-presentation .intro-band,
.kitchen-presentation .about-copy { background-color: rgba(9, 11, 12, .82); }
.kitchen-presentation #kitchen-stage .kitchen-shot { visibility: hidden; }
.kitchen-presentation #kitchen-stage[data-motion="reduced"] .kitchen-shot { visibility: visible; }
.kitchen-presentation .film { height: 100svh; }
.kitchen-presentation .film-intro { visibility: hidden !important; pointer-events: none; }
.kitchen-presentation #kitchen-stage { opacity: 0; background: #090b0c; }
/* Reveal only after the controller clears the server-rendered opening state. */
.kitchen-presentation:not(.cinematic-opening) #kitchen-stage.first-frame-ready { opacity: 1; transition: opacity 1.6s cubic-bezier(.4, 0, .2, 1); }
.kitchen-presentation:not(.cinematic-opening) #kitchen-stage[data-motion="reduced"] { opacity: 1; transition: none; }
.kitchen-shot { position: absolute; inset: 0; overflow: hidden; opacity: 0; pointer-events: none; transition: opacity .75s ease; }
.kitchen-shot:first-child { opacity: 1; }
.kitchen-shot img { display: block; position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; }
.kitchen-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: 0; pointer-events: none; transition: opacity .35s ease; }
.kitchen-video.is-ready { opacity: 1; }
@media (max-width: 899px) {
  .kitchen-presentation .site-header,
  .kitchen-presentation.opening-active .site-header { opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; transform: none; background: #090b0cb8; backdrop-filter: blur(14px); }
  .kitchen-presentation .site-header > .brand { opacity: 1; visibility: visible; transform: none; }
}
#kitchen-stage::after { content: none; }
.kitchen-presentation .film-shade { background: linear-gradient(180deg, #080a0cc9 0%, #080a0c33 32%, transparent 58%, #080a0cb3 100%); }
.kitchen-presentation .film-intro { inset: 0 var(--pad); display: grid; grid-template-rows: minmax(0, 1fr) auto minmax(0, 1fr); align-items: stretch; }
.kitchen-presentation .film-intro .eyebrow { margin: 0 0 14px; align-self: end; color: #e6e8e4; font-size: 12px; }
.kitchen-presentation .hero-brand { width: 360px; height: 144px; }
.kitchen-presentation .hero-brand img { inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center; transform: none; }
.kitchen-presentation .film-intro-footer { align-self: start; text-align: center; }
.kitchen-presentation .film-intro-footer > p { margin-top: 10px; font-size: 16px; color: #fff; text-shadow: none; }
.kitchen-presentation .round-link { margin: 18px auto 0; background: #090b0c40; }
.story-skip { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; min-height: 44px; margin-top: 8px; }
.story-skip svg { width: 14px; height: 14px; }
.kitchen-presentation .chapter-copy { top: 8svh; max-width: 530px; }
.kitchen-presentation .chapter-copy h2 { font-size: 44px; line-height: 1.15; margin-top: 12px; text-shadow: 0 2px 20px #0008; }
.story-description { max-width: 370px; color: #fff; font-family: Manrope, Arial, sans-serif; font-weight: 400; font-size: 12px; line-height: 1.7; letter-spacing: 0; margin-top: 18px; text-wrap: pretty; }
.kitchen-presentation .final-copy { inset: 8svh auto auto var(--pad); padding: 0; max-width: 560px; }
.kitchen-presentation .final-copy > .button[data-service-link] { position: static; transform: none; margin-top: 22px; max-width: 100%; white-space: normal; text-align: left; }
.kitchen-presentation .film-location { display: block; font-size: 11px; }
.kitchen-presentation .film-chapters { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
.kitchen-presentation .film-actions { display: flex; }
.kitchen-presentation .film-bottom { align-items: center; bottom: 20px; }
.kitchen-presentation .film-chapters a { min-width: 90px; }
.kitchen-presentation .ambient-controls { display: none !important; }
.kitchen-presentation .story-copy { max-width: calc(100% - 2 * var(--pad)); }
.kitchen-presentation .story-copy a:focus-visible { outline: 2px solid #e0c995; outline-offset: 5px; }
.kitchen-presentation #kitchen-stage[data-motion="reduced"] .kitchen-shot { transition: none; }
.kitchen-presentation.cinematic-opening .film-intro { inset: 0 var(--pad); display: grid; align-items: stretch; grid-template-rows: minmax(0, 1fr) auto minmax(0, 1fr); }
.kitchen-presentation.cinematic-opening .film-intro .eyebrow { align-self: end; margin-bottom: var(--brand-caption-gap); }
.kitchen-presentation.cinematic-opening .film-intro-footer { align-self: start; }
.kitchen-presentation.cinematic-opening .hero-brand { width: 540px; height: 216px; }
.kitchen-presentation.cinematic-opening .round-link { margin: 0; }
.kitchen-presentation.cinematic-opening .story-skip { display: none; }
@media (max-width: 899px) {
  .kitchen-presentation .film { height: 100svh; touch-action: pan-y; }
  .kitchen-presentation .film-intro { top: 0; }
  .kitchen-presentation .hero-brand { width: 200px; height: 80px; }
  .kitchen-presentation.cinematic-opening .hero-brand { width: 200px; height: 80px; }
  .kitchen-presentation .film-intro .eyebrow { font-size: 11px; margin-bottom: 8px; }
  .kitchen-presentation .film-intro-footer > p { font-size: 14px; }
  .kitchen-presentation .round-link { margin-top: 18px; }
  .kitchen-presentation .chapter-copy, .kitchen-presentation .final-copy { inset: 9svh var(--pad) auto; padding: 0; }
  .kitchen-presentation .chapter-copy h2 { font-size: 32px; }
  .story-description { font-size: 11px; max-width: 330px; margin-top: 12px; }
  .kitchen-shot { inset: 0; }
  .kitchen-shot img { object-fit: cover; object-position: center; }
  #kitchen-stage .kitchen-video { inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
  .kitchen-presentation .film-shade { background: linear-gradient(180deg, #090b0c33 0%, transparent 44%, transparent 78%, #090b0c 100%); }
  .kitchen-presentation .film-bottom { bottom: 12px; flex-wrap: wrap; gap: 6px 16px; }
  .kitchen-presentation .film-chapters { width: auto; flex: 1; gap: 14px; }
  .kitchen-presentation .film-chapters a { min-width: 0; font-size: 11px; }
  .kitchen-presentation .film-chapters a span { display: none; }
  .kitchen-presentation .film-location { width: 100%; font-size: 10px; }
  .kitchen-presentation .film-actions { margin: 0; }
  .kitchen-presentation .final-copy > .button[data-service-link] { margin-top: 18px; font-size: 12px; min-height: 46px; padding: 12px 16px; }
}
@media (max-width: 359px) {
  .kitchen-presentation .hero-brand { width: 180px; height: 72px; }
  .kitchen-presentation.cinematic-opening .hero-brand { width: 180px; height: 72px; }
  .kitchen-presentation .chapter-copy h2 { font-size: 28px; }
  .kitchen-presentation .film-chapters { gap: 8px; }
}
@media (max-height: 560px) and (min-aspect-ratio: 1/1) {
  .kitchen-presentation .film-intro { top: 0; }
  .kitchen-presentation .hero-brand { width: 210px; height: 84px; }
  .kitchen-presentation.cinematic-opening .hero-brand { width: 224px; height: 90px; }
  .kitchen-presentation .film-intro-footer > p { font-size: 13px; margin-top: 0; }
  .kitchen-presentation .round-link { margin-top: 8px; }
  .kitchen-presentation .story-skip { display: none; }
  .kitchen-shot { inset: 0; }
  .kitchen-video { inset: 0; height: 100%; object-fit: cover; }
  .kitchen-shot img { object-fit: cover; }
  .kitchen-presentation .chapter-copy h2 { font-size: 28px; }
  .story-description { margin-top: 8px; font-size: 12px; }
  .kitchen-presentation .film-location { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .kitchen-presentation { scroll-behavior: auto; }
  .kitchen-presentation .film { height: 100svh; }
  .kitchen-presentation .chapter-copy, .kitchen-presentation .story-marker, .kitchen-presentation .film-chapters { display: block; }
  .kitchen-presentation .film-chapters { display: flex; }
  .kitchen-presentation .kitchen-shot img { transform: none; }
  .kitchen-presentation .kitchen-shot, .kitchen-presentation .kitchen-video { transition: none; }
}
.kitchen-presentation .film-intro-footer > p { font-size: 12px; font-weight: 600; line-height: 1.7; text-transform: uppercase; color: #e6e8e4; letter-spacing: 0; }
.kitchen-presentation .film-intro .eyebrow { text-transform: uppercase; }
.mobile-project-contact { display: none; }
.mobile-film-signature { display: none; }
.mobile-film-portfolio { display: none; }
@media (max-width: 899px) {
  .kitchen-presentation .project-dialog .project-media {
    --media-height: min(44svh, 380px);
  }
  .kitchen-presentation .project-media:not(.screenshot-crop) > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain !important;
    object-position: center !important;
  }
  .kitchen-presentation .project-media:has(> img[src$="/kitchen-dark.jpg"]) {
    height: auto;
    aspect-ratio: 4 / 3;
  }
  .kitchen-presentation .project-media > img[src$="/kitchen-dark.jpg"] {
    position: absolute;
    top: 50%;
    left: 0;
    height: auto;
    transform: translateY(-50%);
  }
}
@media (min-width: 900px) {
  .kitchen-presentation .project-grid { width: 95.06%; margin-inline: auto; }
}
#kitchen-stage .kitchen-video-backdrop { display: none; }
@media (max-width: 899px) {
  #kitchen-stage .kitchen-video-backdrop {
    display: block;
    position: absolute;
    inset: -24px;
    width: calc(100% + 48px);
    height: calc(100% + 48px);
    object-fit: cover;
    filter: blur(20px) brightness(.65);
    pointer-events: none;
  }
  #kitchen-stage .kitchen-video {
    inset: 0;
    height: 100%;
    object-fit: contain;
    object-position: center;
  }
}
.kitchen-presentation .story-description { font-size: 13px; }
@media (max-width: 899px) {
  .kitchen-presentation .story-description { font-size: 13px; font-weight: 500; line-height: 1.65; color: #fff; text-shadow: 0 1px 3px #000c; }
  .kitchen-presentation .chapter-copy .eyebrow { color: #fff; font-weight: 600; text-shadow: 0 1px 3px #000c; }
  .kitchen-presentation .chapter-copy h2 { color: #fff; text-shadow: 0 2px 5px #000a; }
  .kitchen-presentation .chapter-copy h2 em { color: #e8d4af; }
  .kitchen-presentation .film-shade { background: linear-gradient(180deg, #090b0c66 0, #090b0ca6 100px, #090b0c80 290px, transparent 430px, transparent 78%, #090b0cd9 100%); }
  .kitchen-presentation .film-location { color: #fff; text-shadow: 0 1px 3px #000c; }
}
.kitchen-presentation .intro-band > .mobile-project-contact svg { width: 17px; height: 17px; color: currentColor; flex-shrink: 0; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); }
@media (max-width: 899px) {
  .kitchen-presentation .film-intro { display: grid; transition: opacity .2s ease; }
  .kitchen-presentation.opening-active .film-intro { opacity: var(--opening-brand-opacity, 1) !important; }
  .kitchen-presentation .film-intro-footer a { display: none; }
  .kitchen-presentation .site-header > .brand { display: block !important; opacity: 1 !important; visibility: visible !important; width: 121px; height: 55px; }
  .kitchen-presentation .site-header > .brand img { inset: 0; width: 100%; height: 100%; object-fit: contain; transform: none; filter: brightness(0) invert(1); }
  .kitchen-presentation .chapter-copy { top: 112px; }
  .kitchen-presentation .final-copy > .button[data-service-link] { display: flex; justify-content: center; align-items: center; text-align: center; padding-inline: 44px; }
  .kitchen-presentation .final-copy > .button[data-service-link] svg { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); width: 17px; height: 17px; color: currentColor; }
  .kitchen-presentation .intro-band { flex-wrap: wrap; }
  .kitchen-presentation .intro-band > .mobile-project-contact { display: flex; position: relative; transform: none; flex-basis: 100%; width: 100%; min-height: 46px; margin: 20px auto 0; padding: 12px 44px; font-size: 12px; text-align: center; justify-content: center; align-items: center; white-space: normal; }
  .kitchen-presentation .film-intro-footer > p { font-size: 11px; }
  .kitchen-presentation .final-copy {
    inset: 112px var(--pad) 62px;
    transform: none !important;
    pointer-events: none;
  }
  .kitchen-presentation .final-copy > .button[data-service-link] {
    position: absolute;
    inset: auto auto 0 50%;
    transform: translateX(-50%);
    margin: 0;
    pointer-events: none;
  }
  .kitchen-presentation .final-copy[data-interactive="true"] > .button[data-service-link] { pointer-events: auto; }
}
@media (max-width: 899px) {
  .kitchen-presentation .film,
  .kitchen-presentation .film-pin { height: 100svh; min-height: 0; background: transparent; }
  .kitchen-presentation .film-pin { position: relative; overflow: hidden; }
  .kitchen-presentation body > .kitchen-video-backdrop {
    display: none; position: fixed; inset: -24px; width: calc(100% + 48px); height: calc(100% + 48px);
    object-fit: cover; filter: blur(22px) brightness(.38); pointer-events: none; z-index: 0;
  }
  .kitchen-presentation main > section:not(.film),
  .kitchen-presentation .intro-band,
  .kitchen-presentation .about-copy,
  .kitchen-presentation .site-footer { background-color: #090b0ca6; }
  .kitchen-presentation .site-header,
  .kitchen-presentation.opening-active .site-header { background: #090b0c66; backdrop-filter: blur(14px); }
  /* Stable maximum viewport prevents reframing as mobile browser bars collapse. */
  .kitchen-presentation #kitchen-stage { position: fixed; inset: 0 0 auto; height: 100vh; height: 100lvh; aspect-ratio: auto; }
  #kitchen-stage .kitchen-video { object-fit: cover; }
  #kitchen-stage .kitchen-video-backdrop { display: none; }
  .kitchen-presentation .film-shade,
  .kitchen-presentation .film-bottom { display: flex; }
  .kitchen-presentation .film-shade { display: block; }
  .kitchen-presentation .chapter-copy,
  .kitchen-presentation .final-copy { inset: 112px var(--pad) 62px; max-width: none; }
  .kitchen-presentation .chapter-copy h2 { font-size: 30px; text-shadow: none; }
  .kitchen-presentation .chapter-copy .eyebrow,
  .kitchen-presentation .story-description { text-shadow: none; }
  .kitchen-presentation .story-description { max-width: min(100%, 320px); margin-top: 12px; line-height: 1.6; }
  .kitchen-presentation .final-copy > .button[data-service-link] { display: flex; }
  .kitchen-presentation .mobile-film-signature {
    display: none; position: absolute; inset: auto 0 60px; margin: 0 auto;
    width: calc(100% - 2 * var(--pad)); max-width: 380px;
    font-family: Manrope, Arial, sans-serif; font-size: 11px; line-height: 1.7;
    color: #fff; text-align: center; text-wrap: balance; z-index: 5;
  }
  .kitchen-presentation .mobile-film-portfolio {
    display: none; position: absolute; inset: auto 0 120px; width: max-content;
    max-width: calc(100% - 2 * var(--pad)); margin: 0 auto; min-height: 44px;
    align-items: center; justify-content: center; gap: 14px; color: #fff;
    font-size: 12px; z-index: 5; pointer-events: auto;
  }
  .kitchen-presentation .mobile-film-portfolio svg { width: 17px; height: 17px; }
}
