/* Exact welcome-page palette, scoped to the new homepage sequence. */
.dc-film {
    --dc-navy: #061923;
    --dc-navy-deep: #04121a;
    --dc-red: #7b1f24;
    --dc-gold: #c8a96a;
    --dc-cream: #f5efe5;
    --dc-white-soft: #fff;
    background: var(--dc-navy-deep);
    color: var(--dc-cream);
}
.dc-film .dc-assembly__shadow {
    background: radial-gradient(ellipse at 65% 58%, transparent 8%, rgb(4 18 26 / 60%) 63%, var(--dc-navy-deep) 100%);
}
.dc-film .dc-assembly__eyebrow { color: var(--dc-gold); }
.dc-film .dc-assembly__title { font-family: 'Cormorant Garamond', Georgia, serif; }
.dc-film .dc-intro { position: absolute; inset: 0; z-index: 3; overflow: hidden; isolation: isolate; color: var(--dc-cream); background: var(--dc-navy-deep); }
.dc-film .dc-intro__opening, .dc-film .dc-intro__chapter { position: absolute; inset: 0; overflow: hidden; background: var(--dc-navy-deep); }
.dc-film .dc-intro__opening { z-index: 0; }
.dc-film .dc-intro__chapter { z-index: 1; background: var(--dc-navy); }
.dc-film :is(.dc-film__arch, .dc-assembly__food-bg, .dc-craft) {
    --dc-arch-scale: 2.4;
    --dc-arch-width: min(78vw, 1180px);
    --dc-arch-top: calc(100% - 104% * var(--dc-arch-scale));
    --dc-arch-side: calc((100% - var(--dc-arch-width) * var(--dc-arch-scale)) / 2);
    --dc-arch-radius: calc(var(--dc-arch-width) * var(--dc-arch-scale) / 2);
    clip-path: inset(var(--dc-arch-top) var(--dc-arch-side) 0 round var(--dc-arch-radius) var(--dc-arch-radius) 0 0);
    -webkit-clip-path: inset(var(--dc-arch-top) var(--dc-arch-side) 0 round var(--dc-arch-radius) var(--dc-arch-radius) 0 0);
}
.dc-film .dc-assembly__chapter { position: absolute; inset: 0; z-index: 4; overflow: hidden; background: var(--dc-navy-deep); }
.dc-film .dc-intro__video {
    display: block;
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;
    max-width: none;

    object-fit: cover;

    /*
     * Cinematic grade:
     * darker image
     * colder grey shadows
     * muted colours
     * stronger blacks
     */
    filter:
        brightness(.58)
        contrast(1.20)
        saturate(.55)
        grayscale(.14);

    transform: scale(1.025);
}
.dc-film .dc-intro__opening .dc-intro__video { filter: grayscale(1) blur(var(--dc-video-blur, 0px)); }
.dc-film .dc-intro__shade { position: absolute; inset: 0; background: rgb(4 18 26 / 48%); pointer-events: none; }
.dc-film .dc-intro__opening .dc-intro__shade { background: linear-gradient(0deg, rgb(4 18 26 / 55%), rgb(4 18 26 / 16%)); }
.dc-film .dc-intro__label { position: absolute; top: max(100px, 13%); width: 100%; margin: 0; text-align: center; color: var(--dc-gold); font: 500 10px/1.5 sans-serif; letter-spacing: .25em; }
.dc-film .dc-intro__wordmark {
    position: absolute;
    margin: 0;

    left: 50%;
    bottom: 5%;

    transform: translateX(-50%);

    width: max-content;
    max-width: 90vw;
    white-space: nowrap;

    color: var(--dc-cream);

    font-family:
        'Snell Roundhand',
        'URW Chancery L',
        'Apple Chancery',
        cursive;

    font-size: clamp(90px, 15vw, 290px);
    font-weight: 400;
    line-height: .92;

    letter-spacing: -.055em;

    z-index: 3;
}
.dc-film .dc-intro__script { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(-9deg); pointer-events: none; color: var(--dc-gold); opacity: .16; font: 400 clamp(100px, 23vw, 380px)/1 'Snell Roundhand', 'URW Chancery L', 'Apple Chancery', cursive; white-space: nowrap; }
.dc-film .dc-intro__copy { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 10% 8%; }
.dc-film .dc-intro__eyebrow { color: var(--dc-gold); font: 500 10px/1.5 sans-serif; letter-spacing: .25em; margin: 0 0 18px; }
.dc-film .dc-intro__headline { max-width: 1100px; margin: 0; color: inherit; font: 400 clamp(32px, 4.7vw, 76px)/1.08 'Trebuchet MS', sans-serif; letter-spacing: -.035em; text-transform: uppercase; text-wrap: balance; }
.dc-film .dc-intro__description { max-width: 550px; margin: 24px 0 0; font: 400 clamp(14px, 1.1vw, 17px)/1.6 sans-serif; color: var(--dc-cream); }
.dc-film .dc-intro__controls { position: absolute; z-index: 2; bottom: 24px; right: 5%; font: 400 10px/1.5 sans-serif; letter-spacing: .08em; color: var(--dc-gold); }
.dc-film .dc-intro__controls [hidden] { display: none; }
.dc-film .dc-intro__controls button { border: 1px solid var(--dc-gold); border-radius: 0; background: var(--dc-navy); color: var(--dc-cream); padding: 10px 16px; font: 500 12px/1.5 sans-serif; cursor: pointer; }
.dc-film .dc-intro__controls button:hover { background: var(--dc-red); }
.dc-film .dc-intro__controls button:focus-visible { outline: 2px solid var(--dc-cream); outline-offset: 4px; }
.dc-film .dc-craft { position: absolute; inset: 0; z-index: 6; color: var(--dc-cream); background: var(--dc-navy); overflow: clip; }
.dc-film .dc-craft__copy { position: absolute; inset: 0 50% 0 7%; display: flex; flex-direction: column; justify-content: center; z-index: 2; }
.dc-film .dc-craft__eyebrow { color: var(--dc-gold); font: 500 10px/1.5 sans-serif; letter-spacing: .25em; margin-bottom: 26px; }
.dc-film .dc-craft__title { margin: 0; color: inherit; font: 400 clamp(36px, 4.3vw, 76px)/1.06 'Cormorant Garamond', Georgia, serif; letter-spacing: -.035em; overflow-wrap: normal; }
.dc-film .dc-craft__title em { font-weight: 400; color: var(--dc-gold); }
.dc-film .dc-craft__rule { display: block; height: 1px; width: min(180px, 60%); margin: 32px 0 0; background: var(--dc-gold); transform-origin: left; }
.dc-film .dc-craft__rule::before { content: ''; display: block; width: 26px; height: 3px; background: var(--dc-red); }
.dc-film .dc-craft__reveal { position: absolute; inset: 12% 4% 10% 54%; overflow: clip; }
.dc-film .dc-craft__image { height: 100%; width: 100%; object-fit: cover; object-position: 53% 50%; max-width: none; }
.dc-film:not(.dc-journey--animated) :is(.dc-film__arch, .dc-assembly__food-bg, .dc-craft) { clip-path: none; -webkit-clip-path: none; }
/* Film fallback is self-contained when the optional legacy entry stylesheet is absent. */
.dc-film:not(.dc-journey--animated) { height: auto; }
.dc-film:not(.dc-journey--animated) .dc-assembly__copy { position: relative; inset: auto; margin: 50px 7% 0; width: 86%; }
.dc-film:not(.dc-journey--animated) .dc-assembly__stage { position: relative; inset: auto; height: 65svh; min-height: 300px; }
.dc-film:not(.dc-journey--animated) .dc-assembly__dish { width: min(90%, 880px); }
/* Static/no-JS/reduced-motion: all semantic chapters are in normal document flow. */
.dc-film:not(.dc-journey--animated) .dc-intro { position: relative; height: auto; }
.dc-film:not(.dc-journey--animated) .dc-intro__opening { position: relative; height: 80svh; min-height: 400px; }
.dc-film:not(.dc-journey--animated) .dc-intro__chapter { position: relative; min-height: 80svh; }
.dc-film:not(.dc-journey--animated) .dc-intro__copy { position: relative; min-height: 80svh; box-sizing: border-box; }
.dc-film:not(.dc-journey--animated) .dc-assembly__chapter { position: relative; min-height: 100svh; }
.dc-film:not(.dc-journey--animated) .dc-craft { position: relative; min-height: 90svh; }
@media (max-width: 900px) {
    .dc-film .dc-intro__headline { font-size: clamp(32px, 5.5vw, 54px); }
.dc-film .dc-intro__wordmark {
    font-size: 19vw;
    bottom: 8%;
}
    .dc-film .dc-intro__copy { padding: 12% 7%; }
    .dc-film .dc-craft__copy { inset: 8% 7% auto; }
    .dc-film .dc-craft__title { font-size: clamp(34px, 5.6vw, 48px); }
    .dc-film .dc-craft__reveal { inset: 48% 7% 5%; }
    .dc-film .dc-craft__eyebrow { margin-bottom: 14px; }
    .dc-film .dc-craft__rule { margin-top: 20px; }
}
@media (max-width: 600px) {
    .dc-film :is(.dc-film__arch, .dc-assembly__food-bg, .dc-craft) { --dc-arch-width: 94vw; }
    .dc-film .dc-intro__headline { font-size: clamp(28px, 8vw, 44px); }
    .dc-film .dc-intro__description { font-size: 14px; margin-top: 20px; }
    .dc-film .dc-intro__wordmark {
    font-size: 22vw;
    bottom: 13%;
}
    .dc-film .dc-intro__script { font-size: 34vw; }
    .dc-film .dc-intro__video { object-position: 55% center; }
    .dc-film .dc-craft__title { font-size: clamp(30px, 8vw, 44px); }
    .dc-film .dc-craft__reveal { inset: 50% 7% 5%; }
    .dc-film:not(.dc-journey--animated) .dc-craft { min-height: 760px; }
}
@media (max-height: 500px) and (orientation: landscape) {
    .dc-film .dc-intro__label { top: 12%; }
    .dc-film .dc-intro__copy { padding: 6% 10%; }
    .dc-film .dc-intro__headline { font-size: 30px; }
    .dc-film .dc-intro__description { font-size: 13px; margin-top: 12px; }
    .dc-film .dc-intro__eyebrow { margin-bottom: 12px; }
    .dc-film .dc-intro__wordmark { bottom: -22%; font-size: 25vw; }
    .dc-film .dc-craft__copy { inset: 5% 51% 5% 6%; }
    .dc-film .dc-craft__title { font-size: 30px; }
    .dc-film .dc-craft__reveal { inset: 8% 4% 8% 54%; }
}
.dc-film .dc-craft__wash { position: absolute; inset: 0; background: var(--dc-navy); }
/* =========================================================
   DON CAMILLO — BLACK & WHITE CINEMATIC VIDEO
   ========================================================= */

.dc-film .dc-intro__opening .dc-intro__video {
    filter:
        grayscale(1)
        brightness(.52)
        contrast(1.28)
        blur(var(--dc-video-blur, 0px)) !important;
}

/* Deep cinematic vignette */
.dc-film .dc-intro__opening .dc-intro__shade {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 2;

    background:
        radial-gradient(
            ellipse at 50% 42%,
            rgba(255,255,255,.02) 0%,
            rgba(0,0,0,.04) 28%,
            rgba(0,0,0,.18) 58%,
            rgba(0,0,0,.68) 100%
        ),
        linear-gradient(
            90deg,
            rgba(0,0,0,.56) 0%,
            rgba(0,0,0,.10) 22%,
            rgba(0,0,0,.02) 50%,
            rgba(0,0,0,.12) 78%,
            rgba(0,0,0,.60) 100%
        ),
        linear-gradient(
            180deg,
            rgba(0,0,0,.40) 0%,
            rgba(0,0,0,.03) 32%,
            rgba(0,0,0,.08) 68%,
            rgba(0,0,0,.60) 100%
        );
}

/* Keep text above the vignette */
.dc-film .dc-intro__label,
.dc-film .dc-intro__copy {
    position: relative;
    z-index: 3;
}
/* Restaurant story: one phase inside the existing pinned assembly chapter. */
.dc-film .dc-story { position: absolute; z-index: 5; left: 7%; top: 50%; transform: translateY(-50%); width: min(580px, 43%); color: var(--dc-cream); pointer-events: none; }
.dc-film .dc-story__eyebrow { margin: 0 0 24px; color: var(--dc-gold); font: 500 10px/1.5 sans-serif; letter-spacing: .25em; }
.dc-film .dc-story__title { margin: 0; color: var(--dc-cream); font: 400 clamp(32px, 3.2vw, 49px)/1.08 'Cormorant Garamond', Georgia, serif; letter-spacing: -.025em; }
.dc-film .dc-story__body { margin: 28px 0 0; max-width: 510px; color: rgb(245 239 229 / 78%); font: 400 clamp(14px, 1.05vw, 16px)/1.7 sans-serif; }
.dc-film:not(.dc-journey--animated) .dc-story { position: relative; top: auto; left: auto; transform: none; width: min(580px, 86%); margin: 50px 7%; padding-bottom: 50px; }
@media (max-width: 900px) {
  .dc-film .dc-story { left: 7%; width: min(580px, 70%); }
  .dc-film .dc-story__title { font-size: clamp(30px, 4.5vw, 42px); }
}
@media (max-width: 600px) {
  .dc-film .dc-story { left: 7%; top: 53%; width: 86%; }
  .dc-film .dc-story__title { font-size: clamp(26px, 6.7vw, 37px); }
  .dc-film .dc-story__eyebrow { margin-bottom: 18px; font-size: 9px; }
  .dc-film .dc-story__body { margin-top: 22px; font-size: 14px; }
  .dc-film .dc-story__body br { display: none; }
}
@media (max-height: 500px) and (orientation: landscape) {
  .dc-film .dc-story { top: 55%; width: 70%; }
  .dc-film .dc-story__title { font-size: 28px; }
  .dc-film .dc-story__eyebrow { margin-bottom: 10px; }
  .dc-film .dc-story__body { margin-top: 14px; font-size: 13px; }
}


/* Restaurant introduction: centered editorial copy over the real interior. */
.dc-film .dc-assembly__environment { filter: brightness(.84) contrast(1.12) saturate(.82) sepia(.16); }
.dc-film .dc-about { position: absolute; inset: 0; z-index: 4; display: flex; flex-direction: column; align-items: center; justify-content: center; box-sizing: border-box; padding: 140px 7% 80px; overflow: hidden; isolation: isolate; text-align: center; color: #f5efe5; pointer-events: none; background: radial-gradient(ellipse at 50% 52%, rgba(19,11,7,.18) 0%, rgba(12,8,6,.38) 65%, rgba(8,6,5,.62) 100%), linear-gradient(180deg,rgba(16,10,7,.18),rgba(16,10,7,.44)); }
.dc-film .dc-about__glow { position: absolute; inset: -15%; z-index: -2; pointer-events: none; background: radial-gradient(ellipse at 15% 48%,rgba(197,105,48,.18),transparent 58%); }
.dc-film .dc-about__script { position: absolute; left: 50%; top: 52%; transform: translate(-50%,-50%) rotate(-8deg); z-index: -1; width: max-content; max-width: none; white-space: nowrap; font: 400 clamp(110px,17vw,330px)/1 'Snell Roundhand','URW Chancery L','Apple Chancery',cursive; letter-spacing: -.055em; color: rgba(245,239,229,.13); }
.dc-film .dc-about__eyebrow { margin: 0 0 20px; font: 500 11px/1.5 sans-serif; letter-spacing: .32em; text-transform: uppercase; color: #f5efe5; }
.dc-film .dc-about__title { margin: 0; max-width: 1200px; color: #f5efe5; font: 400 clamp(38px,5.7vw,92px)/1.08 'Trebuchet MS',sans-serif; letter-spacing: -.035em; text-transform: uppercase; text-wrap: balance; text-shadow: 0 2px 30px rgba(0,0,0,.2); }
.dc-film .dc-about__body { max-width: 740px; margin: 25px auto 0; color: rgba(245,239,229,.9); font: 400 clamp(15px,1.3vw,20px)/1.65 sans-serif; text-wrap: pretty; }
.dc-film:not(.dc-journey--animated) .dc-about { position: relative; min-height: 75svh; padding: 100px 7%; }
@media (max-width: 600px) { .dc-film .dc-about { padding: 115px 7% 65px; } .dc-film .dc-about__title { font-size: clamp(34px,10vw,52px); max-width: 350px; } .dc-film .dc-about__body { font-size: 15px; line-height: 1.65; margin-top: 22px; } .dc-film .dc-about__eyebrow { margin-bottom: 18px; font-size: 10px; } .dc-film .dc-about__script { font-size: 30vw; top: 48%; } }
@media (max-height: 500px) and (orientation: landscape) { .dc-film .dc-about { padding: 100px 8% 30px; } .dc-film .dc-about__title { font-size: 36px; } .dc-film .dc-about__body { font-size: 13px; margin-top: 15px; } .dc-film .dc-about__eyebrow { margin-bottom: 10px; } }


/* Two-photo culinary backdrop, revealed only during the assembly. */
.dc-film .dc-assembly__food-bg { position: absolute; inset: 0; z-index: 3; overflow: hidden; pointer-events: none; background: #100d09; }
.dc-film.dc-journey--animated .dc-assembly__food-bg { visibility: hidden; opacity: 0; }
.dc-film .dc-assembly__food-photo { position: absolute; inset: -5%; width: 110%; height: 110%; max-width: none; object-fit: cover; filter: brightness(.67) contrast(1.12) saturate(.78) sepia(.12); }
.dc-film .dc-assembly__food-photo--pan { object-position: 38% 54%; }
.dc-film .dc-assembly__food-photo--plate { object-position: 65% 52%; -webkit-mask-image: linear-gradient(110deg,transparent 16%,rgba(0,0,0,.15) 34%,#000 68%); mask-image: linear-gradient(110deg,transparent 16%,rgba(0,0,0,.15) 34%,#000 68%); }
.dc-film .dc-assembly__food-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(8,12,14,.83),rgba(8,12,14,.45) 44%,rgba(13,10,7,.18)),radial-gradient(ellipse at 58% 50%,transparent 10%,rgba(8,7,6,.48) 100%); }
.dc-film .dc-assembly__food-glow { position: absolute; inset: -15%; background: radial-gradient(ellipse at 70% 35%,rgba(210,112,41,.16),transparent 56%); mix-blend-mode: screen; }
.dc-film .dc-assembly__title { text-wrap: balance; }
@media (max-width: 600px) { .dc-film .dc-assembly__food-photo--plate { -webkit-mask-image: linear-gradient(160deg,transparent 10%,#000 76%); mask-image: linear-gradient(160deg,transparent 10%,#000 76%); } .dc-film .dc-assembly__food-bg::after { background: linear-gradient(180deg,rgba(8,12,14,.82),rgba(8,12,14,.38) 60%,rgba(8,7,6,.6)); } }
