* { box-sizing: border-box; }
/* Native Vimeo playback is independent of the external player SDK. */
.native-player.native-open .video-mount { visibility: visible; pointer-events: auto; }
.native-player.native-open .player iframe { pointer-events: auto; }
.native-player.native-open .film-poster,
.native-player.native-open .poster-play,
.native-player .video-loading,
.film-lightbox .native-player .seek-controls,
.native-player .seek-controls,
.native-player .player-controls [data-play] { display: none; }
.native-player .player-status { color: var(--ink); }
:root { color-scheme: light; --paper: #9e9b94; --ink: #10110f; --muted: #20211d; --line: #67665e; }
html { scroll-behavior: smooth; scroll-padding-top: 2rem; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "Assistant", sans-serif; font-size: 1.125rem; line-height: 1.75; }
body { isolation: isolate; background-image: radial-gradient(ellipse at 0% 32%, #aaa39510, transparent 45%), radial-gradient(ellipse at 100% 80%, #837b6912, transparent 40%); }
body::before { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 0; background-image: linear-gradient(#d8d5cc70, #d8d5cc70), url("assets/images/eighties-paper-texture.png"); background-size: cover; background-position: center; }
body::after { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 0; box-shadow: inset 0 0 150px #8c816318; background: radial-gradient(ellipse at 3% 18%, #7f745117 0, transparent 17%), radial-gradient(ellipse at 95% 72%, #7f745114 0, transparent 20%), radial-gradient(ellipse at 38% 92%, #8278610d 0, transparent 13%); }
.site-header, main, footer { position: relative; z-index: 1; }
.wedding-backdrop { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; opacity: .34; mix-blend-mode: multiply; transition: opacity .4s; }
.wedding-backdrop.is-ready { opacity: .34; }
.wedding-backdrop video { position: absolute; bottom: 3vh; left: -3%; width: min(1440px, 115vw); height: auto; filter: grayscale(1) contrast(1.12);
  /* Fade the actual frame edges as well as its surroundings: the original
     radial mask alone left the cropped trouser leg visible at the top. */
  -webkit-mask-image: linear-gradient(to bottom, transparent, #0005 10%, black 26%, black 86%, transparent), radial-gradient(ellipse at 38% 50%, black 35%, #000d 57%, transparent 85%);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(to bottom, transparent, #0005 10%, black 26%, black 86%, transparent), radial-gradient(ellipse at 38% 50%, black 35%, #000d 57%, transparent 85%);
  mask-composite: intersect;
}
a { color: inherit; text-underline-offset: .3em; }
a:hover { color: #36332e; }
a:focus-visible { outline: 2px solid #555; outline-offset: 6px; }
h1, h2, h3, p { margin-top: 0; }
.site-header, main, footer { width: min(1080px, calc(100% - 80px)); margin-inline: auto; }
.site-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; min-height: 120px; padding-block: 8px; border-bottom: 1px solid var(--line); }
.brand { display: block; width: 205px; height: 105px; overflow: hidden; flex-shrink: 0; }
.brand img { width: 100%; height: 100%; object-fit: cover; filter: invert(1); }
nav { display: flex; flex-wrap: wrap; gap: 2rem; font-size: 1rem; }
nav a, footer a { text-decoration: none; }
.intro { text-align: center; padding: 42px 0 28px; }
.eyebrow { font-size: .75rem; letter-spacing: .16em; color: var(--muted); margin-bottom: 1rem; }
h1, .about h2, .contact h2 { font-family: "Frank Ruhl Libre", serif; font-weight: 400; line-height: 1.25; }
h1 { font-size: clamp(2.1rem, 4.5vw, 3.5rem); margin-bottom: .65rem; }
.intro > p:last-child { color: var(--muted); margin-bottom: 0; }
.films { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px; align-items: start; }
.intro { grid-column: 1 / -1; }
.film { margin-bottom: 10px; min-width: 0; }
.player { position: relative; aspect-ratio: var(--ratio, 16 / 9); background: #b8a78f; overflow: hidden; box-shadow: 0 8px 26px #4d382c12; }
.video-mount, .film-poster { position: absolute; inset: 0; width: 100%; height: 100%; }
.video-mount { pointer-events: none; visibility: hidden; }
.player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; pointer-events: none; }
.film-poster { object-fit: cover; }
.has-started .video-mount { visibility: visible; }
.has-started .film-poster { visibility: hidden; }
.is-playing .poster-play { background: transparent; }
.is-playing .poster-play > span:first-child { opacity: 0; }
.poster-play { position: absolute; inset: 0; display: grid; place-items: center; width: 100%; border: 0; background: #241c1114; color: white; cursor: pointer; }
.poster-play > span:first-child { display: grid; place-items: center; width: 58px; height: 58px; border: 1px solid #ffffffb3; border-radius: 50%; background: #2b21185c; font-size: 1.05rem; padding-left: 3px; transition: background .2s; }
.poster-play:hover > span:first-child { background: #2b2118b3; }
button { font: inherit; }
.poster-play, .player-controls button { -webkit-appearance: none; appearance: none; }
.poster-play svg, .player-controls svg { display: block; flex-shrink: 0; }
.wedding-backdrop video::-webkit-media-controls,
.wedding-backdrop video::-webkit-media-controls-start-playback-button { display: none !important; -webkit-appearance: none; }
button:focus-visible { outline: 2px solid #6e4930; outline-offset: 4px; }
.poster-play:focus-visible { outline-offset: -5px; }
.player-controls { display: flex; flex-wrap: wrap; gap: 8px; direction: ltr; }
.player-controls button { color: var(--ink); background: #eeece5; border: 1px solid #bcb7aa; padding: 6px 11px; min-height: 44px; cursor: pointer; font-size: .875rem; }
.player-controls button:disabled { opacity: .45; cursor: default; }
.player-controls button:not(:disabled):hover { background: #e2dfd5; }
.player-controls button span[aria-hidden] { font-size: .7rem; }
.video-loading { position: absolute; inset: 0; display: none; place-items: center; background: #322519b3; color: #fff7e9; font-size: 1rem; pointer-events: none; }
.is-loading .video-loading { display: grid; }
.player-status { font-size: .875rem; color: #532d20; margin: 8px 0 0; }
.player-status:empty { display: none; }
.seek-controls { display: flex; align-items: center; gap: 8px; margin-top: 8px; min-width: 0; }
.seek-controls button { flex-shrink: 0; min-height: 44px; padding: 5px 8px; border: 1px solid var(--line); background: transparent; color: var(--ink); font-size: .875rem; cursor: pointer; }
.seek-controls button:disabled, .seek-controls input:disabled { opacity: .4; cursor: default; }
.seek-controls input { flex: 1; min-width: 35px; width: 100%; height: 44px; margin: 0; accent-color: #655d4e; cursor: pointer; direction: ltr; }
.seek-time { font-size: .875rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (max-width: 800px) {
  .seek-controls { flex-wrap: wrap; justify-content: space-between; gap: 4px; }
  .seek-controls input { order: -1; flex: 0 0 100%; }
}
.collection { margin-bottom: 65px; }
.collection-heading { border-top: 1px solid var(--line); padding-top: 25px; margin-bottom: 25px; display: flex; align-items: baseline; justify-content: space-between; gap: 15px; }
.collection-heading h2 { font-family: "Frank Ruhl Libre", serif; font-size: 1.8rem; font-weight: 400; margin: 0; }
.collection-heading .eyebrow { margin: 0; }
.reels-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px; max-width: 680px; margin-inline: auto; }
.film-caption { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; padding-top: 12px; }
.film-caption h3 { margin: 0; font-family: "Cormorant Garamond", "Assistant", serif; font-size: 1.25rem; font-weight: 500; }
.film-caption h2 span { color: var(--muted); margin-inline-start: .6rem; font-size: .875rem; }
.film-caption a { font-size: .875rem; color: var(--muted); }
.about { border-top: 1px solid var(--line); padding: 80px 0; display: grid; grid-template-columns: 1fr 2fr; gap: 70px; }
.about .eyebrow { text-align: center; }
.about h2, .contact h2 { font-size: clamp(2rem, 4vw, 3rem); }
.about-copy p { margin-bottom: 1.25rem; }
.about-copy .lead { font-size: 1.5rem; font-family: "Frank Ruhl Libre", serif; line-height: 1.5; }
.process { padding: 0 0 70px; }
.process > h2 { font-size: 1.4rem; font-weight: 400; margin-bottom: 2rem; }
.process ol { padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 35px; }
.process li { border-top: 1px solid var(--line); padding-top: 18px; }
.process h3 { font-size: 1.125rem; font-weight: 600; margin-bottom: .5rem; }
.process p { color: var(--muted); margin-bottom: 0; }
.contact { border-top: 1px solid var(--line); padding: 60px 0 80px; text-align: center; }
.contact h2 { margin-bottom: 1rem; }
.contact-links { display: flex; align-items: center; flex-wrap: wrap; justify-content: center; gap: 1rem 2rem; margin-top: 2rem; }
.contact-links a { overflow-wrap: anywhere; }
footer { border-top: 1px solid var(--line); padding-block: 22px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; color: var(--muted); font-size: .875rem; }
.sr-only, .skip-link:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip-link:focus { display: block; padding: 1rem; }
@media (max-width: 650px) {
  .films { grid-template-columns: 1fr; gap: 0; }
  .site-header { flex-wrap: wrap; justify-content: center; padding-bottom: 18px; }
  .site-header nav { justify-content: center; }
  .wedding-backdrop video { width: 145vw; max-width: none; left: -2%; bottom: max(10svh, env(safe-area-inset-bottom)); }
  .wedding-backdrop, .wedding-backdrop.is-ready { opacity: .34; }
  .reels-grid { gap: 14px; }
  .reels-grid .film-caption { align-items: flex-start; flex-direction: column; }
  .reels-grid .player-controls { gap: 4px; }
  .reels-grid .player-controls button { padding: 5px 8px; }
  .collection { margin-bottom: 32px; }
  .collection-heading { align-items: flex-start; flex-direction: column-reverse; gap: 6px; }
  .collection-heading h2 { font-size: 1.6rem; }
  .site-header, main, footer { width: calc(100% - 36px); }
  .site-header { gap: .5rem; min-height: 95px; }
  .brand { width: 140px; height: 85px; }
  nav { gap: .8rem; font-size: .875rem; }
  .intro { padding: 30px 0 24px; }
  .intro > p:last-child { font-size: 1rem; }
  .film { margin-bottom: 30px; }
  .about { grid-template-columns: 1fr; gap: 20px; padding: 46px 0; }
  .about h2 br { display: none; }
  .process { padding-bottom: 40px; }
  .process ol { grid-template-columns: 1fr; gap: 22px; }
  .contact { padding: 40px 0 50px; }
  .contact-links { flex-direction: column; }
}
@media (max-width: 370px) { .site-header { flex-direction: column; padding-bottom: 16px; gap: 0; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
.noscript-note { padding: 1rem; text-align: center; }
h1[lang="en"], h2[lang="en"], h3[lang="en"] { font-family: "Cormorant Garamond", Georgia, serif; letter-spacing: -.015em; }
[lang="en"] { direction: ltr; unicode-bidi: isolate; }
h1[lang="en"], h2[lang="en"], h3[lang="en"], .eyebrow[lang="en"] { text-align: center; }
.collection-heading { flex-direction: column-reverse; align-items: center; gap: 6px; text-align: center; }
.film-caption { justify-content: center; }
.film-caption h3 { flex-basis: 100%; }
.reels-grid .film-caption { align-items: center; }
.collection-heading, .film-caption { direction: ltr; }
.films, .reels-grid, .about, .process ol { direction: ltr; }
.about-copy, .process li p { direction: rtl; text-align: right; }
.process li:first-child p, .process li:last-child p { text-align: center; }
.process h3[lang="en"] { font-size: 1.4rem; }
.about-opening { border-top: 0; border-bottom: 1px solid var(--line); }
.process ol { direction: rtl; }
.process h2[lang="he"], .process h3[lang="he"] { direction: rtl; text-align: center; font-family: "Frank Ruhl Libre", serif; }
.process h2[lang="he"] { font-size: 2rem; }
.process h3[lang="he"] { font-size: 1.35rem; }

/* Quiet, image-led gallery. Controls appear only in the viewing room. */
.films, .reels-grid { gap: 20px; }
.gallery-film { position: relative; margin: 0; padding: 0; background: transparent; border: 0; box-shadow: none; transition: opacity 1s ease, transform 1s ease; }
.gallery-film.awaiting-reveal { opacity: 0; transform: translateY(24px); }
.gallery-film:focus-within { opacity: 1; transform: none; }
.gallery-film .player { box-shadow: none; background: #827e74; }
.gallery-film:not(.film-portrait) .player { aspect-ratio: 16 / 9; }
.gallery-film .film-caption, .gallery-film .seek-controls { display: none; }
.gallery-film .film-poster { transition: transform .85s cubic-bezier(.2,.65,.3,1), filter .65s; }
.gallery-film .poster-play { background: #87775e0a; }
.gallery-film .poster-play > span:first-child { opacity: 0; transform: translateY(8px); background: transparent; transition: opacity .4s, transform .5s; }
.gallery-film::after { content: attr(data-title); position: absolute; bottom: 20px; left: 16px; right: 16px; color: white; text-align: center; direction: ltr; font: 500 1.6rem/1.2 "Cormorant Garamond", serif; opacity: 0; transform: translateY(10px); transition: opacity .4s, transform .5s; pointer-events: none; }
.gallery-film:hover .film-poster, .gallery-film:focus-within .film-poster { transform: scale(1.025); filter: brightness(.82); }
.gallery-film:hover::after, .gallery-film:focus-within::after, .gallery-film:hover .poster-play > span:first-child, .gallery-film:focus-within .poster-play > span:first-child { opacity: 1; transform: none; }
.film-modal-open { overflow: hidden; }
.film-lightbox { width: min(1100px, calc(100vw - 40px)); max-width: none; max-height: calc(100dvh - 32px); padding: 48px 24px 20px; border: 1px solid #514c3e40; background: var(--paper); background-image: linear-gradient(#9e9b9480, #9e9b9480), url("assets/images/eighties-paper-texture.png"); background-size: cover; color: var(--ink); box-shadow: 0 18px 70px #28251f40; overflow: auto; }
.film-lightbox::backdrop { background: #37342ec4; backdrop-filter: blur(5px); }
.film-lightbox[open] { animation: viewing-room-in .35s ease both; }
.lightbox-close { position: absolute; right: 8px; top: 0; width: 44px; height: 44px; border: 0; background: transparent; color: var(--ink); font: 300 32px/1 sans-serif; cursor: pointer; }
.lightbox-expand { position: absolute; top: 2px; left: 12px; min-height: 44px; padding: 5px 12px; border: 1px solid currentColor; background: transparent; color: inherit; font-size: .875rem; cursor: pointer; }
.film-lightbox.expanded-view { position: fixed; inset: 0; margin: 0; width: 100%; max-width: none; height: 100dvh; max-height: none; border: 0; padding: calc(54px + env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left)); background: #080808; color: #fff; }
.film-lightbox.expanded-view .lightbox-close { color: #fff; top: env(safe-area-inset-top); right: max(8px, env(safe-area-inset-right)); }
.film-lightbox.expanded-view .lightbox-expand { top: calc(2px + env(safe-area-inset-top)); left: max(12px, env(safe-area-inset-left)); }
.film-lightbox.expanded-view .gallery-film { height: 100%; display: grid; place-items: center; }
.film-lightbox.expanded-view .player { aspect-ratio: var(--film-ratio); width: min(100%, calc((100dvh - 70px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * (var(--film-ratio)))); max-width: none; margin: auto; }
.film-lightbox.expanded-view .film-caption, .film-lightbox.expanded-view .seek-controls, .film-lightbox.expanded-view .player-status { display: none; }
.film-lightbox .gallery-film { opacity: 1; transform: none; padding: 0; border: 0; background: transparent; box-shadow: none; }
.film-lightbox .poster-play { background: transparent; }
.film-lightbox .gallery-film::after { display: none; }
.film-lightbox .player { aspect-ratio: var(--ratio,16 / 9); width: 100%; max-width: calc((100dvh - 250px) * (var(--ratio,16 / 9))); margin-inline: auto; }
.film-lightbox .film-caption, .film-lightbox .seek-controls { display: flex; }
.film-lightbox .film-caption h3 { font-size: 1.5rem; }
.film-lightbox .film-poster { transform: none; filter: none; }
.film-lightbox .poster-play > span:first-child { opacity: 1; transform: none; }
.film-lightbox .is-playing .poster-play > span:first-child { opacity: 0; }
.film-lightbox .player-controls button, .film-lightbox .seek-controls button { background: #eeece526; color: var(--ink); border-color: #514c3e50; }
.film-lightbox .player-controls button:not(:disabled):hover, .film-lightbox .seek-controls button:not(:disabled):hover { background: #eeece550; }
.film-lightbox .seek-controls input { accent-color: #514a3e; }
.film-lightbox .player-status { color: #532d20; }
.film-lightbox button:focus-visible { outline-color: var(--ink); }
.portrait-lightbox { width: min(470px, calc(100vw - 24px)); }
.portrait-lightbox .player { width: min(100%, calc((100dvh - 290px) * 1280 / 2276)); }
@keyframes viewing-room-in { from { opacity: 0; transform: translateY(12px) scale(.985); } to { opacity: 1; transform: none; } }
.cinema-opening { margin: 0 0 110px; }
.opening-copy { text-align: center; padding: 36px 0 28px; }
.opening-copy .eyebrow { margin-bottom: 12px; }
.opening-copy h1 { font-size: clamp(3.6rem, 7.8vw, 7rem); line-height: .9; letter-spacing: -.045em; margin: 0 0 22px; }
.opening-copy h1 em { font-weight: 400; }
.opening-copy > p:last-child { margin: 0; font-size: 1.125rem; }
.opening-copy, .about, .process, .contact { background: transparent; padding-inline: clamp(18px, 3vw, 36px); }
.opening-copy { margin-top: 28px; }
.about-copy p, .process p, .contact p, nav, .opening-note, footer { font-weight: 500; }
.collection-heading, .opening-note, .film-caption, footer { background: transparent; }
.eyebrow { font-size: .875rem; font-weight: 600; }
.film-lightbox { background-image: linear-gradient(#d8d5cce6, #d8d5cce6), url("assets/images/eighties-paper-texture.png"); }
.motion-banner { position: relative; container-type: size; width: calc(100vw - 24px); height: clamp(260px, 36vw, 520px); margin: 18px 0 0; margin-inline-start: calc((100% - (100vw - 24px)) / 2); overflow: hidden; background: #191b18; }
.motion-banner > img, .motion-banner-mount { position: absolute; inset: 0; width: 100%; height: 100%; }
.motion-banner > img { object-fit: cover; transform: scale(1.08); }
.motion-banner-mount { opacity: 0; pointer-events: none; transition: opacity .7s; }
.motion-banner.has-motion .motion-banner-mount { opacity: 1; }
.motion-banner iframe { position: absolute; top: 50%; left: 50%; width: max(112cqw, 267.68cqh); height: max(46.862cqw, 112cqh); transform: translate(-50%, -50%); border: 0; pointer-events: none; }
.motion-banner-toggle { position: absolute; bottom: 16px; right: 16px; z-index: 2; background: #151714ed; color: #fff; border: 1px solid #ffffffb3; border-radius: 2px; padding: 8px 15px; min-height: 44px; font-size: .875rem; cursor: pointer; }
.motion-banner-toggle:focus-visible { outline: 3px solid white; outline-offset: 3px; }
@media (max-width: 650px) { .motion-banner { height: 280px; } }
@media (prefers-reduced-motion: reduce) { .motion-banner-mount { transition: none; } }
.cinema-opening .featured-film .player { aspect-ratio: 2.39; }
.cinema-opening .featured-film .poster-play { background: linear-gradient(transparent 35%, #17191480); place-items: end center; padding-bottom: 28px; }
.cinema-opening .featured-film .poster-play > span:first-child { opacity: 1; transform: none; width: 52px; height: 52px; background: #14161233; }
.cinema-opening .featured-film .poster-play::after { content: "לצפייה בסרט · פחות מ־4 דקות"; color: #fff; font: 500 1rem/1.5 "Assistant", sans-serif; margin-top: 8px; }
.cinema-opening .featured-film::after { display: none; }
.opening-note { display: flex; justify-content: space-between; gap: 16px; direction: ltr; font-size: .875rem; padding-top: 14px; }
.opening-note > span:last-child { direction: rtl; }
.intro h2 { font-size: clamp(2.3rem, 4vw, 3.8rem); font-weight: 400; line-height: 1.1; margin-bottom: 12px; }
.highlights-grid { column-gap: 48px; row-gap: 64px; }
.highlights-grid > .film:nth-child(even) { margin-top: 80px; }
.gallery-film:not(.featured-film) .film-caption { display: flex; justify-content: flex-start; padding-top: 12px; }
.gallery-film:not(.featured-film) .film-caption h3 { text-align: left; font-size: 1.5rem; }
.gallery-film:not(.featured-film) .film-caption .player-controls { display: none; }
.gallery-film:not(.featured-film)::after { display: none; }
.gallery-film:not(.featured-film) .poster-play > span:first-child { opacity: 1; transform: none; background: #1a1a1833; }
.film-lightbox .gallery-film .film-caption { justify-content: center; }
.film-lightbox .gallery-film .film-caption h3 { text-align: center; }
.film-lightbox .gallery-film .film-caption .player-controls { display: flex; }
.film-lightbox .gallery-film.is-playing .poster-play > span:first-child { opacity: 0; }
@media (max-width: 650px) {
  .opening-copy { padding-top: 28px; }
  .cinema-opening { margin-bottom: 60px; }
  .cinema-opening .featured-film .player { aspect-ratio: 4 / 3; }
  .opening-note { flex-direction: column; gap: 2px; text-align: center; }
  .highlights-grid > .film:nth-child(even) { margin-top: 0; }
  .highlights-grid { row-gap: 32px; }
}
@media (hover: none) {
  .gallery-film::after { opacity: 1; transform: none; text-shadow: 0 1px 8px #000; font-size: 1.25rem; }
  .gallery-film .poster-play { background: linear-gradient(transparent 60%, #0007); }
  .gallery-film .poster-play > span:first-child { opacity: 1; transform: none; }
}
@media (max-width: 650px) {
  .films { gap: 20px; }
  .reels-grid { gap: 12px; }
  .film-lightbox { padding-inline: 12px; }
  .film-lightbox .film-caption { flex-direction: row; }
}
@media (prefers-reduced-motion: reduce) {
  .gallery-film, .gallery-film .film-poster, .gallery-film::after, .gallery-film .poster-play > span:first-child { transition: none; transform: none; }
  .gallery-film.awaiting-reveal { opacity: 1; transform: none; }
  .film-lightbox[open] { animation: none; }
}
