/* Marasem — a destination window cut into an ink-and-gold travel folio. */
.journey-opening { display:none; }
body[data-entry-feedback=true] .page-content-transition { animation:none!important; }
:root { --journey-ease:cubic-bezier(.16,1,.3,1); --journey-entry-ease:cubic-bezier(.32,0,.24,1); --journey-section-duration:.95s; --journey-entry-duration:.95s; --journey-opening-total:2700; --journey-reveal-at:1450; --journey-entry-total:950; }
.journey-page-entering .journey-opening { display:block; position:fixed; inset:0; z-index:999999; pointer-events:none; animation:opening-safety 1.15s step-end forwards; }
.journey-page-entering .journey-opening-signature,.journey-page-entering .journey-opening-skip,.journey-page-entering .journey-opening-window { display:none; }
.journey-page-entering .journey-opening-curtain { background:linear-gradient(135deg,#10141585,#10141535); clip-path:none; animation:journey-page-arrive var(--journey-entry-duration) var(--journey-entry-ease) both; }
.journey-page-entering .page-content-transition { animation:journey-content-arrive var(--journey-entry-duration) var(--journey-entry-ease) both; }
.journey-page-entering [data-page-reveal] h1 { animation:journey-heading-arrive .85s .06s var(--journey-entry-ease) both; }
.journey-page-leaving::after { content:""; position:fixed; inset-block-start:0; inset-inline:0; height:2px; z-index:999998; background:linear-gradient(90deg,transparent,#dec482,transparent); transform-origin:center; pointer-events:none; animation:journey-depart .85s var(--journey-entry-ease) both; }
[dir=rtl].journey-page-leaving::after { animation-direction:reverse; }
@keyframes journey-page-arrive { from { opacity:.75; transform:translateX(0); } to { opacity:0; transform:translateX(-4%); } }
[dir=rtl] .journey-page-entering .journey-opening-curtain { animation-name:journey-page-arrive-rtl; }
@keyframes journey-page-arrive-rtl { from { opacity:.75; transform:translateX(0); } to { opacity:0; transform:translateX(4%); } }
@keyframes journey-content-arrive { from { opacity:.82; transform:translateY(10px); } to { opacity:1; transform:none; } }
@keyframes journey-heading-arrive { from { opacity:.65; transform:translateY(8px); clip-path:inset(0 0 12%); } to { opacity:1; transform:none; clip-path:inset(0); } }
@keyframes journey-depart { from { transform:translateX(-90%); opacity:0; } 30% { opacity:1; } to { transform:translateX(90%); opacity:0; } }
.journey-opening-active [data-cinematic-title] { opacity:0; }
.journey-opening-reveal [data-cinematic-title] { animation:opening-content .85s both; }
body[data-public-page] .reveal-pending[data-reveal-kind=heading] { clip-path:inset(0 0 100%); transform:translateY(14px); }
body[data-public-page] .reveal-visible[data-reveal-kind=heading] { clip-path:inset(0); transform:none; transition:clip-path var(--journey-section-duration) var(--journey-ease),transform var(--journey-section-duration) var(--journey-ease),opacity .7s; }
body[data-public-page] .reveal-pending[data-reveal-kind=image] { clip-path:inset(10% 3% 10%); transform:translateY(18px); }
body[data-public-page] .reveal-visible[data-reveal-kind=image] { clip-path:inset(0); transform:none; transition:clip-path 1.2s var(--journey-ease),transform 1.2s var(--journey-ease),opacity .9s; }
body[data-public-page] .reveal-visible[data-reveal-kind=card] { transition:transform .9s var(--journey-ease),opacity .8s; transition-delay:var(--reveal-delay,0s); }
body[data-public-page] .reveal-pending[data-reveal-kind=itinerary] { transform:translateX(-14px); }
[dir=rtl] body[data-public-page] .reveal-pending[data-reveal-kind=itinerary] { transform:translateX(14px); }
body[data-public-page] .reveal-visible[data-reveal-kind=itinerary] { transform:none; transition:transform .8s var(--journey-ease),opacity .7s; }
body[data-motion-tone=calm] .reveal-pending { transform:translateY(8px); }
body[data-motion-tone=calm] .reveal-visible { transform:none; transition-duration:1s; }
body[data-public-page] .gallery-thumb img { transition:transform .8s var(--journey-ease); }
@media(hover:hover) { body[data-public-page] .gallery-thumb:hover img { transform:scale(1.035); } }
.journey-opening-active .journey-opening { display:block; position:fixed; inset:0; z-index:999999; pointer-events:none; animation:opening-safety 3.6s step-end forwards; }
.journey-opening-curtain { position:absolute; inset:0; background:radial-gradient(ellipse at 50% 42%,#272c29 0,#101415 62%); clip-path:polygon(evenodd,0 0,100% 0,100% 100%,0 100%,0 0,50% 50%,50% 50%,50% 50%,50% 50%,50% 50%); }
.journey-opening-window { position:absolute; opacity:0; border:1px solid #dec48290; box-shadow:0 0 0 10px #dec48206; }
.journey-opening-playing .journey-opening-window { animation:opening-frame 2.05s .45s cubic-bezier(.76,0,.24,1) both; }
.journey-opening-signature { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:28px; color:#dec482; }
.journey-opening-brand { overflow:hidden; position:relative; animation:opening-brand .8s cubic-bezier(.16,1,.3,1) both; }
.journey-opening-brand .site-brand-frame { width:clamp(205px,22vw,285px); }
.journey-opening-brand::after { content:""; position:absolute; inset:0; background:linear-gradient(110deg,transparent 25%,#fff4 49%,transparent 70%); transform:translateX(-130%); animation:opening-light 1s .1s ease both; }
.journey-opening-caption { font-size:12px; font-weight:500; letter-spacing:.23em; text-transform:uppercase; animation:opening-brand .65s .15s both; }
[dir=rtl] .journey-opening-caption { letter-spacing:0; font-size:16px; }
.journey-opening-horizon { width:80px; height:1px; background:linear-gradient(90deg,transparent,#dec482,transparent); transform-origin:center; animation:opening-horizon .8s both; }
.journey-opening-skip { position:absolute; inset-inline-end:clamp(20px,4vw,64px); bottom:max(28px,env(safe-area-inset-bottom)); display:flex; align-items:center; gap:24px; border:1px solid #dec48260; border-radius:2px; padding:10px 18px; min-height:44px; background:#101415e8; color:#f1dfb3; font:inherit; font-size:12px; pointer-events:auto; }
.journey-opening-skip:hover,.journey-opening-skip:focus-visible { background:#dec482; color:#101415; outline:2px solid #f1dfb3; outline-offset:4px; }
[dir=rtl] .journey-opening-skip span { transform:scaleX(-1); }
.journey-opening-playing .journey-opening-curtain { animation:opening-portal 2.05s .45s cubic-bezier(.76,0,.24,1) both; }
.journey-opening-playing .journey-opening-signature { animation:opening-signature-out .6s .55s ease forwards; }
.journey-opening-playing .journey-opening-skip { animation:opening-signature-out .35s 2.25s ease forwards; }
.journey-opening-active .page-content-transition { animation:none; }
.journey-opening-done .page-content-transition { animation:none; }
.journey-opening-done .editorial-hero .slick-current .site-hero-image,.journey-opening-done .editorial-hero .slick-current .site-hero-copy > * { animation:none!important; }
.journey-opening-done .editorial-hero .site-hero-image { transform:scale(1); transition:transform 4s cubic-bezier(.16,1,.3,1); }
.journey-opening-active .site-header,.journey-opening-active .site-hero-copy,.journey-opening-active .site-hero-controls,.journey-opening-active .hero-discover { opacity:0; }
.journey-opening-active .editorial-hero .site-hero-image { animation:none!important; transform:scale(1.035); }
.journey-opening-reveal .site-header { animation:opening-content .85s both; }
.journey-opening-reveal .site-hero-copy { opacity:1; }
.journey-opening-active .editorial-hero .site-hero-copy > * { animation:none!important; }
.journey-opening-reveal .editorial-hero .site-hero-copy > * { animation:opening-content .9s both!important; }
.journey-opening-reveal .editorial-hero .site-hero-copy p { animation-delay:.1s!important; }
.journey-opening-reveal .editorial-hero .site-hero-copy a { animation-delay:.2s!important; }
.journey-opening-reveal .site-hero-controls,.journey-opening-reveal .hero-discover { animation:opening-content .85s .25s both; }
/* The hero remains the real image, at its real position, throughout the aperture. */
@keyframes opening-portal {
 0% { clip-path:polygon(evenodd,0 0,100% 0,100% 100%,0 100%,0 0,50% 50%,50% 50%,50% 50%,50% 50%,50% 50%); }
 40% { clip-path:polygon(evenodd,0 0,100% 0,100% 100%,0 100%,0 0,var(--portal-x1,36%) var(--portal-y1,19%),var(--portal-x2,64%) var(--portal-y1,19%),var(--portal-x2,64%) var(--portal-y2,85%),var(--portal-x1,36%) var(--portal-y2,85%),var(--portal-x1,36%) var(--portal-y1,19%)); }
 100% { clip-path:polygon(evenodd,0 0,100% 0,100% 100%,0 100%,0 0,0 0,100% 0,100% 100%,0 100%,0 0); }
}
@keyframes opening-brand { from { opacity:0; transform:translateY(20px); clip-path:inset(0 0 100%); } to { opacity:1; transform:none; clip-path:inset(0); } }
@keyframes opening-frame {
 0% { inset:50%; opacity:0; }
 40% { inset:var(--portal-y1,19%) calc(100% - var(--portal-x2,64%)) calc(100% - var(--portal-y2,85%)) var(--portal-x1,36%); opacity:1; }
 100% { inset:0; opacity:0; }
}
@keyframes opening-portal-mobile {
 0% { clip-path:polygon(evenodd,0 0,100% 0,100% 100%,0 100%,0 0,50% 50%,50% 50%,50% 50%,50% 50%,50% 50%); }
 40% { clip-path:polygon(evenodd,0 0,100% 0,100% 100%,0 100%,0 0,var(--portal-x1,18%) var(--portal-y1,24%),var(--portal-x2,82%) var(--portal-y1,24%),var(--portal-x2,82%) var(--portal-y2,78%),var(--portal-x1,18%) var(--portal-y2,78%),var(--portal-x1,18%) var(--portal-y1,24%)); }
 100% { clip-path:polygon(evenodd,0 0,100% 0,100% 100%,0 100%,0 0,0 0,100% 0,100% 100%,0 100%,0 0); }
}
@keyframes opening-frame-mobile { 0% { inset:50%; opacity:0; } 40% { inset:var(--portal-y1,24%) calc(100% - var(--portal-x2,82%)) calc(100% - var(--portal-y2,78%)) var(--portal-x1,18%); opacity:1; } 100% { inset:0; opacity:0; } }
@keyframes opening-light { to { transform:translateX(130%); } }
@keyframes opening-horizon { from { transform:scaleX(0); opacity:0; } to { transform:scaleX(1); opacity:1; } }
@keyframes opening-signature-out { to { opacity:0; visibility:hidden; transform:translateY(-12px); } }
@keyframes opening-content { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
@keyframes opening-safety { to { visibility:hidden; } }
@media(max-width:767px) {
 :root { --journey-opening-total:2200; --journey-reveal-at:1150; --journey-entry-total:850; --journey-entry-duration:.85s; }
 .journey-page-entering [data-page-reveal] h1 { animation-duration:.75s; }
 .journey-opening-signature { gap:22px; }
 .journey-opening-brand .site-brand-frame { width:210px; }
 .journey-opening-playing .journey-opening-curtain { animation-name:opening-portal-mobile; animation-duration:1.65s; animation-delay:.3s; }
 .journey-opening-playing .journey-opening-window { animation-name:opening-frame-mobile; animation-duration:1.65s; animation-delay:.3s; }
 .journey-opening-playing .journey-opening-signature { animation-delay:.4s; animation-duration:.45s; }
 .journey-opening-playing .journey-opening-skip { animation-delay:1.8s; }
 .journey-opening-caption { font-size:10px; letter-spacing:.15em; }
 .journey-opening-reveal .editorial-hero .site-hero-copy > * { animation-duration:.65s!important; }
}
@media(prefers-reduced-motion:reduce) {
 .journey-opening-active .journey-opening,.journey-page-entering .journey-opening,.journey-page-leaving::after { display:none!important; }
 body[data-public-page] .reveal-pending,body[data-public-page] .reveal-visible { clip-path:none!important; opacity:1!important; transform:none!important; transition:none!important; }
 .journey-page-entering [data-page-reveal] h1 { animation:none; }
 .journey-opening-active [data-cinematic-title] { opacity:1; }
 .journey-opening-active .site-header,.journey-opening-active .site-hero-copy,.journey-opening-active .site-hero-controls,.journey-opening-active .hero-discover { opacity:1; animation:none!important; }
}
html[data-motion=limited] body[data-public-page] .reveal-pending { opacity:1; clip-path:none; transform:none; transition:none; }

html[data-motion=limited] .page-content-transition { animation:none!important; }
