/* Liquid-glass visual language adapted to the Israel journey. */
@font-face {
  font-family: Inter;
  src: url('assets/inter-latin.woff2') format('woff2');
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}
@font-face {
  font-family: 'Inter Tight';
  src: url('assets/inter-tight-latin.woff2') format('woff2');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
:root {
  --sans: Inter, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --display: 'Inter Tight', Inter, system-ui, sans-serif;
  --e-out: cubic-bezier(.16, 1, .3, 1);
  --e-soft: cubic-bezier(.22, .61, .36, 1);
  --e-pen: cubic-bezier(.37, .01, .2, 1);
  --ease-out: var(--e-out);
  --glass-sidebar: linear-gradient(145deg, #ffffff20, #ffffff22 35%, #ffffff19 72%, #ffffff17);
  --glass-card: linear-gradient(135deg, #ffffff33, #ffffff42 32%, #ffffff40 69%, #ffffff3b);
  --glass-edge: #ffffff35;
  --glass-muted: #e0e8ee;
}
body { font-family: var(--sans); }
h1, h2, h3 { font-family: var(--display); font-weight: 500; }
h2, .section-heading h2, .questions-grid h2, .closing h2 { letter-spacing: -.045em; line-height: 1.12; }
h2 em, .cinema-story h2 em, .cinema-description em { font-style: normal; }
h4, .faq-list summary { font-weight: 600; }
.experience { background: #f7f6f1; }
.experience-copy > p { line-height: 1.85; }
.experience-values span { font-size: .875rem; }
.brand-portrait { border-radius: 26px; }

/* A translucent navigation surface, with the original brand artwork. */
.site-header {
  left: 50%; top: 16px;
  width: min(1350px, calc(100% - 40px));
  transform: translateX(-50%);
  border: 1px solid var(--glass-edge);
  border-radius: 26px;
  background: linear-gradient(135deg, #ffffff20, #ffffff17), #041b2ed6;
  backdrop-filter: blur(18px) saturate(115%);
  -webkit-backdrop-filter: blur(18px) saturate(115%);
  box-shadow: inset 0 1px 0 #ffffff12;
}
.site-header.is-scrolled { background: linear-gradient(135deg, #ffffff1c, #ffffff0e), #041b2ee8; }
.header-inner { width: calc(100% - 42px); height: 80px; }
.desktop-nav { gap: 30px; margin-right: 18px; }
.desktop-nav a { font-size: .9375rem; transition: color .25s, transform .35s var(--e-out); }
.desktop-nav a:hover { transform: translateY(-1px); }
.desktop-nav a[aria-current="location"] { color: var(--gold); }
.desktop-nav a[aria-current="location"]::after { width: 100%; }
.header-cta, .menu-toggle, .cinema-tags > span, .cinema-story-tags > span,
.section-stamp, .included-tag {
  background: #ffffff26;
  border: 1px solid #ffffff38;
  backdrop-filter: blur(16px) saturate(115%);
  -webkit-backdrop-filter: blur(16px) saturate(115%);
  box-shadow: inset 0 1px 0 #ffffff14;
}
.header-cta { color: #fff0d5; min-height: 44px; display: flex; align-items: center; }
.header-cta:hover, .menu-toggle:hover { background: #ffffff3d; }
.menu-toggle { border-radius: 50%; }
.mobile-nav { border-radius: 0 0 26px 26px; }
.cinema-tags > span { background: #ffffff2d; }
.cinema-intro .button-outline, .button-outline {
  background: #ffffff26; border-color: #ffffff50;
  backdrop-filter: blur(16px) saturate(115%);
  -webkit-backdrop-filter: blur(16px) saturate(115%);
}
.button-outline:hover { background: #ffffff3d; }
.button { font-weight: 600; box-shadow: inset 0 1px 0 #ffffff20; }
.button:hover { box-shadow: inset 0 1px 0 #ffffff30; }

/* Inner masks keep the title entrance independent of scroll choreography. */
.cinema-title { font-size: clamp(6rem, 13vw, 12.5rem); line-height: 1; }
.cinema-title > .ln { display: block; overflow: hidden; }
.cinema-title > .cinema-country {
  font: inherit; line-height: 1; letter-spacing: -.055em;
  color: #ffd48b; margin: 0; padding: 0 .04em .04em 0;
}
.cinema-title > .cinema-year {
  font-family: var(--sans); font-size: clamp(1rem, 1.65vw, 1.45rem);
  line-height: 1.6; letter-spacing: .47em; font-weight: 500;
  margin-top: 10px; padding-left: .47em; color: #fff;
}
.ln > span { display: block; }
.cinema-description em { font-size: 1em; color: #ffdb9e; font-weight: 500; }
.cinema-description { line-height: 1.55; }
.cinema-story > h2 { line-height: 1.1; letter-spacing: -.05em; }
.cinema-facts dt { letter-spacing: -.04em; }
.cinema-chapters button { min-height: 30px; }

/* The landscape remains visible through the destination cards. */
.sight-card, .inclusion-card, .inclusion-card:nth-child(2n), .day-panel {
  color: white;
  background: var(--glass-card);
  border: 1px solid var(--glass-edge);
  border-radius: 26px;
  backdrop-filter: blur(26px) saturate(118%);
  -webkit-backdrop-filter: blur(26px) saturate(118%);
  box-shadow: inset 0 1px 0 #ffffff20;
  overflow: hidden;
  isolation: isolate;
}
.sight-card { border-radius: 24px; }
.sight-card.is-active { background: linear-gradient(135deg, #ffffff3d, #ffffff4a 45%, #ffffff33); border-color: #f5d4a184; }
.sight-card:hover, .inclusion-card:hover {
  background: linear-gradient(135deg, #ffffff3d, #ffffff4a 45%, #ffffff33);
  border-color: #ffffff66;
  transform: translateY(-3px);
  box-shadow: inset 0 1px 0 #ffffff25;
}
.sight-kicker { color: #ffdfae; font-weight: 500; }
.sight-pin { color: #ffdfae; }
.sight-card h3 { font-size: 2.2rem; letter-spacing: -.04em; line-height: 1.1; }
.sight-card p { color: var(--glass-muted); font-size: 1rem; line-height: 1.6; }
.sight-link { color: #fff0d5; font-weight: 500; border-color: #ffffff35; }
.sight-prev, .sight-next {
  background: #ffffff26; color: white; border-color: #ffffff38;
  backdrop-filter: blur(16px) saturate(115%);
  -webkit-backdrop-filter: blur(16px) saturate(115%);
}
.sight-prev:hover, .sight-next:hover { background: #ffffff3d; }
.sights-heading h2 { letter-spacing: -.045em; }

/* One light sweep after each card has entered. No continuous shimmer. */
.sight-card::after, .inclusion-card::after, .day-panel::after {
  content: ''; pointer-events: none;
  position: absolute; inset: -10% auto -10% -38%; width: 38%;
  background: linear-gradient(90deg, transparent, #ffffff2b, transparent);
  transform: translateX(-150%) skewX(-18deg);
  opacity: 0;
  z-index: 3;
}
.sight-card.fx-visible::after, .inclusion-card.fx-visible::after,
.day-content.fx-visible .day-panel.is-selected::after {
  animation: glassSheen 1.15s var(--e-soft) 2.55s both;
}
.day-panel { position: relative; }

/* A schematic, animated journey line echoes the reference's drawn curve. */
.journey-overview { position: relative; padding-top: 34px; }
.journey-trace { display: block; width: 100%; height: 94px; margin: 2px 0 -7px; overflow: visible; }
.route-track, .route-line { fill: none; stroke-width: 2; vector-effect: non-scaling-stroke; }
.route-track { stroke: #c9b49244; }
.route-line { stroke: #b67a2e; stroke-linecap: round; }
.route-fill { transform-origin: left center; }
.journey-overview.fx-visible .route-line { animation: drawLine 1.6s var(--e-pen) 1.5s both; }
.journey-overview.fx-visible .route-fill { animation: wipeX 1.42s var(--e-soft) 1.72s both; }
.journey-stops { margin-top: 0; }
.journey-stops li::after { display: none; }
.route-node { background: #fffaf0; border-color: #caae81; font-weight: 500; }
.journey-stops strong { font-weight: 500; }
.journey-stops small { font-size: .875rem; }
.journey-overview.fx-visible .route-node { animation: popIn .58s var(--e-out) calc(1.7s + var(--stop-delay, 0s)) both; }
.journey-overview.fx-visible .journey-stops strong,
.journey-overview.fx-visible .journey-stops small { animation: riseIn .6s var(--e-out) calc(2.1s + var(--stop-delay, 0s)) both; }
.journey-stops li:nth-child(2) { --stop-delay: .055s; }
.journey-stops li:nth-child(3) { --stop-delay: .11s; }
.journey-stops li:nth-child(4) { --stop-delay: .165s; }
.journey-stops li:nth-child(5) { --stop-delay: .22s; }

/* The itinerary becomes a readable glass dashboard over Jerusalem. */
.itinerary {
  position: relative; color: #fff; border: 0;
  background: linear-gradient(150deg, #04121be8, #06283bd1 48%, #04121bf2), url('assets/jerusalem.png') center / cover;
}
.itinerary .eyebrow.blue { color: var(--gold); }
.itinerary h2 em { color: var(--gold); }
.itinerary .section-stamp { color: #fff0d5; }
.itinerary-layout { grid-template-columns: 335px minmax(0, 1fr); gap: 28px; }
.day-sidebar {
  padding: 14px;
  border-radius: 26px; border: 1px solid #ffffff2b;
  background: var(--glass-sidebar);
  backdrop-filter: blur(18px) saturate(115%);
  -webkit-backdrop-filter: blur(18px) saturate(115%);
  box-shadow: inset 0 1px 0 #ffffff12;
  top: 115px;
}
.days-nav { gap: 5px; }
.day-tab {
  position: relative; padding: 11px 9px; gap: 12px;
  color: #fff; border-radius: 16px;
  transition: background .25s, transform .35s var(--e-out), border-color .25s;
}
.day-tab:hover { background: #ffffff16; transform: translateY(-1px); }
.day-tab strong { font-size: .9375rem; font-weight: 500; }
.day-tab small { color: #d3dfe7; font-size: .8125rem; }
.day-number { background: #ffffff16; border-color: #ffffff2e; color: white; font-size: .9375rem; }
.day-tab.active { background: #ffffff23; border-color: #ffffff33; box-shadow: none; }
.day-tab.active .day-number { background: #f5be6a; border-color: transparent; color: #082b4b; }
.day-tab.active small { color: #e7eff4; }
.day-tab.active::before {
  content: ''; position: absolute; left: -8px; top: 23%; bottom: 23%; width: 3px;
  border-radius: 4px; background: #f5be6a; transform-origin: center;
  animation: growY .5s var(--e-out) .08s both;
}
.sidebar-note { border-color: #ffffff25; color: #d7e3eb; font-size: .875rem; margin: 18px 7px 7px; }
.sidebar-note .icon { color: var(--gold); }
.day-panel-header { background: linear-gradient(140deg, #ffffff0a, #082b4b30); border-bottom: 1px solid #ffffff21; }
.day-panel-header h3 { font-size: clamp(2rem, 2.8vw, 2.8rem); line-height: 1.16; letter-spacing: -.035em; }
.day-panel-header > p:last-child { color: #e3ebf0; }
.large-day { font-family: var(--display); color: #ffffff12; font-weight: 500; }
.stop::after { background: #ffffff30; }
.stop-marker { background: #647889; border-color: #f5ce92; box-shadow: none; }
.stop h4 { font-weight: 600; }
.stop p, .return-note, .day-footer { color: #e3eaf0; }
.stop p strong { color: white; font-weight: 500; }
.featured-stop h4 { color: #ffe1b0; }
.featured-stop .stop-marker { background: #f5be6a; border-color: #ffe1b0; }
.day-footer { border-color: #ffffff29; }
.day-footer > span:first-child { color: #fff0d5; }
.day-pagination button { color: white; border-color: #ffffff38; border-radius: 999px; background: #ffffff12; font-size: .875rem; font-weight: 500; }
.day-pagination button:hover:not(:disabled) { background: #ffffff26; }
.day-pagination span { color: #dbe6ed; }
.day-panel.is-selected .day-panel-header h3 { animation: wipeDown .7s var(--e-soft) .08s both; }
.day-panel.is-selected .stop { animation: riseIn .65s var(--e-out) calc(.12s + var(--stop-index, 0) * .065s) both; }

.inclusions {
  background: linear-gradient(145deg, #04121be8, #082d40cc 48%, #04121bf2), url('assets/galilee.png') center / cover;
}
.inclusions-grid { gap: 18px; background: transparent; border: 0; }
.inclusion-card, .inclusion-card:nth-child(2n) { padding: 30px 26px; transition: transform .45s var(--e-out), border-color .3s, background .3s; }
.inclusion-card h3 { font-family: var(--display); font-weight: 500; font-size: 1.3rem; line-height: 1.25; letter-spacing: -.025em; }
.inclusion-card li { color: #e3eaf0; font-size: 1rem; }
.inclusion-card strong { color: #fff; font-weight: 500; }
.category-number { color: #d3dfe7; }
.category-icon { color: #ffe1b0; }
.section-description { color: #d3e0e9; }
.closing { background: radial-gradient(ellipse at 80% 100%, #1b4b61, #041b2e 65%); }
.questions { background: #f7f6f1; }
.faq-list summary > span { transition: transform .45s var(--e-out); }
.faq-list details[open] p { animation: riseIn .5s var(--e-out) both; }
.site-header :focus-visible, .cinema-scroll :focus-visible,
.itinerary :focus-visible, .inclusions :focus-visible, .closing :focus-visible {
  outline: 2px solid white; outline-offset: 5px;
}

/* Reusable entrance choreography; JS adds pending only when supported. */
[data-fx].fx-pending { opacity: 0; }
[data-fx].fx-running {
  animation: var(--fx-name, riseIn) var(--fx-duration, .8s) var(--fx-ease, var(--e-out)) var(--fx-delay, 0s) both;
}
@keyframes riseIn { from { opacity: 0; transform: translateY(var(--ry, 14px)); } to { opacity: 1; transform: none; } }
@keyframes slideL { from { opacity: 0; transform: translateX(-26px); } to { opacity: 1; transform: none; } }
@keyframes slideR { from { opacity: 0; transform: translateX(30px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes popIn { from { opacity: 0; transform: scale(.7); } to { opacity: 1; transform: none; } }
@keyframes growY { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes lineUp { from { opacity: 0; transform: translateY(115%); } to { opacity: 1; transform: none; } }
@keyframes wipeDown { from { opacity: 0; clip-path: inset(0 0 100% 0); transform: translateY(10px); } to { opacity: 1; clip-path: inset(0); transform: none; } }
@keyframes wipeRight { from { opacity: 0; clip-path: inset(0 100% 0 0); } to { opacity: 1; clip-path: inset(0); } }
@keyframes drawLine { from { stroke-dasharray: 1; stroke-dashoffset: 1; } to { stroke-dasharray: 1; stroke-dashoffset: 0; } }
@keyframes wipeX { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes glassSheen {
  0% { opacity: 0; transform: translateX(-150%) skewX(-18deg); }
  18% { opacity: 1; }
  85% { opacity: 1; }
  100% { opacity: 0; transform: translateX(460%) skewX(-18deg); }
}

@media (max-width: 1100px) {
  .desktop-nav { gap: 19px; margin-right: 0; }
  .desktop-nav a { font-size: .875rem; }
  .header-inner { gap: 18px; }
  .itinerary-layout { grid-template-columns: 295px minmax(0, 1fr); gap: 22px; }
  .day-sidebar { padding: 11px; }
  .day-tab { gap: 10px; }
  .inclusions-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .site-header { top: 10px; width: calc(100% - 24px); border-radius: 23px; }
  .header-inner { width: calc(100% - 26px); height: 76px; }
  .desktop-nav { display: none; }
  .header-cta { margin-left: auto; }
  .menu-toggle { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; width: 44px; height: 44px; padding: 0; color: #fff; }
  .menu-toggle span { width: 19px; height: 1px; background: currentColor; }
  .mobile-nav:not([hidden]) { display: flex; flex-direction: column; padding: 14px 24px 23px; gap: 10px; }
  .itinerary-layout { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .day-sidebar { position: static; padding: 12px; border-radius: 24px; }
  .days-nav { flex-direction: row; overflow-x: auto; padding: 3px 2px 13px; scrollbar-width: thin; scrollbar-color: #ffffff45 transparent; }
  .day-tab { min-width: 185px; width: auto; flex-shrink: 0; }
  .day-tab small { display: none; }
  .day-tab.active::before { left: 22%; right: 22%; top: auto; bottom: -8px; width: auto; height: 3px; animation-name: wipeX; }
  .sidebar-note { border: 0; margin: 0 5px; padding-top: 7px; }
  [data-fx="slideL"].fx-running, [data-fx="slideR"].fx-running { animation-name: riseIn; }
}
@media (max-width: 700px) {
  .cinema-title { font-size: clamp(4.8rem, 20vw, 8rem); }
  .cinema-title > .cinema-year { font-size: 1rem; margin-top: 8px; letter-spacing: .37em; padding-left: .37em; }
  .cinema-kicker { margin-bottom: 20px; }
  .cinema-description { margin-top: 22px; }
  .cinema-intro .button, .cinema-tags > span, .cinema-origin { font-size: .875rem; }
  .cinema-origin { flex-wrap: wrap; }
  .sight-card h3 { font-size: 2rem; }
  .sight-card p { font-size: 1rem; }
  .sight-card { min-height: 315px; }
  .journey-trace { height: 65px; margin-bottom: 5px; }
  .journey-stops small { font-size: .875rem; }
  .day-panel-header h3 { font-size: 2.15rem; }
  .inclusions-grid { grid-template-columns: minmax(0, 1fr); gap: 15px; }
  .inclusion-card, .inclusion-card:nth-child(2n) { padding: 27px; border: 1px solid var(--glass-edge); border-radius: 24px; }
  .inclusion-card h3 { font-size: 1.3rem; }
  .experience-grid h2, .section-heading h2, .questions-grid h2 { font-size: clamp(2.25rem, 8.5vw, 2.9rem); }
  .closing h2 { font-size: 2.65rem; }
}
@media (max-height: 760px) and (min-width: 701px) {
  .cinema-intro { top: 125px; }
  .cinema-title { font-size: clamp(5.7rem, 10vw, 8.5rem); }
  .cinema-title > .cinema-year { font-size: 1rem; margin-top: 5px; }
  .cinema-kicker { margin-bottom: 13px; }
  .cinema-description { font-size: 1.1rem; margin-top: 17px; line-height: 1.4; }
  .cinema-tags { margin-top: 15px; }
  .cinema-intro .hero-actions { margin-top: 17px; }
  .cinema-origin { margin-top: 16px; }
}
@media (max-width: 700px) and (max-height: 730px) {
  .cinema-intro { top: 122px; }
  .cinema-title { font-size: clamp(4.6rem, 19vw, 5.8rem); }
  .cinema-description { margin-top: 17px; }
  .cinema-tags { margin-top: 15px; }
  .cinema-intro .hero-actions { margin-top: 17px; }
  .sight-card { min-height: 290px; }
}
@media (max-width: 380px) {
  .header-inner { gap: 9px; width: calc(100% - 22px); }
  .brand-crop { width: 123px; }
  .header-cta { font-size: .75rem; padding: 8px 11px; }
  .header-cta span { margin-left: 5px; }
  .cinema-origin > span { display: none; }
  .day-panel-header, .day-panel-body { padding-left: 21px; padding-right: 21px; }
  .day-pagination { flex-wrap: wrap; gap: 10px; }
  .day-pagination span { order: 3; width: 100%; text-align: center; }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .site-header, .site-header.is-scrolled { background: #0d2c43f5; }
  .sight-card, .sight-card.is-active, .inclusion-card, .inclusion-card:nth-child(2n), .day-panel { background: #354f61f5; }
  .day-sidebar { background: #19394bf5; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  [data-fx].fx-pending, [data-fx].fx-running { opacity: 1 !important; transform: none !important; clip-path: none !important; }
  .sight-card::after, .inclusion-card::after, .day-panel::after { display: none; }
  .route-line { stroke-dasharray: none; stroke-dashoffset: 0; }
  .route-fill { transform: none; }
}
@media (prefers-reduced-motion: reduce), (max-height: 560px) {
  .cinema-intro { top: auto; padding-top: 145px; }
}
@media print {
  *, *::before, *::after { animation: none !important; }
  [data-fx] { opacity: 1 !important; transform: none !important; clip-path: none !important; }
  .cinema-title > .cinema-country, .cinema-title > .cinema-year { color: #15334e; }
  .itinerary, .inclusions, .day-panel, .inclusion-card, .inclusion-card:nth-child(2n) { background: white; color: #15334e; backdrop-filter: none; }
  .itinerary *, .inclusions * { color: #15334e !important; }
  .day-panel-header { background: #eef3f6; }
  .journey-trace { display: none; }
}
