/* v3.34.21 — Costa Rica Passport physical-book interaction. Presentation only. */
.passport-book-experience{margin-top:14px;perspective:1900px;min-height:390px;display:grid;place-items:center;position:relative}
.passport-closed-cover{width:min(390px,72vw);aspect-ratio:1.45/1;min-height:300px;border:1px solid rgba(226,188,93,.75);border-radius:12px 20px 20px 12px;background:radial-gradient(circle at 50% 34%,rgba(255,255,255,.045),transparent 28%),linear-gradient(135deg,#073a34,#0b4f46 55%,#052e2b);box-shadow:0 28px 70px rgba(0,0,0,.5),inset -18px 0 28px rgba(0,0,0,.22),inset 5px 0 0 rgba(229,183,73,.22);color:#e7c868;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;transform-origin:left center;transition:transform .75s cubic-bezier(.2,.8,.2,1),opacity .45s ease;position:relative;overflow:hidden}
.passport-closed-cover:before{content:"";position:absolute;inset:18px;border:1px solid rgba(231,200,104,.34);border-radius:6px 13px 13px 6px;pointer-events:none}
.passport-cover-country{font-family:Georgia,serif;font-size:11px;font-weight:800;letter-spacing:.18em;text-align:center;text-transform:uppercase;color:#eed98d;margin-top:-5px}
.passport-cover-flag{width:84px;height:20px;border-radius:3px;background:linear-gradient(to bottom,#123d7a 0 16%,#fff 16% 33%,#c91f37 33% 67%,#fff 67% 84%,#123d7a 84% 100%);box-shadow:0 0 0 1px rgba(255,255,255,.18)}
.passport-cover-mark{width:64px;height:64px;border:2px solid #ddba58;border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-weight:900;letter-spacing:.08em;font-size:21px;position:relative}
.passport-cover-mark:after{content:"TOURA";position:absolute;bottom:-15px;font:700 7px/1 system-ui,sans-serif;letter-spacing:.22em;color:#d8c17a}
.passport-cover-title{font-size:11px;font-weight:950;letter-spacing:.26em;margin-top:12px}.passport-closed-cover strong{font-family:Georgia,serif;font-size:27px;letter-spacing:.12em}.passport-cover-subtitle{font-family:Georgia,serif;font-style:italic;color:#d8c998;font-size:12px}.passport-cover-tap{position:absolute;bottom:25px;color:#a7b9b2;font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.passport-open-stage{display:none;width:100%;transform-origin:center center;position:relative}.passport-open-controls{display:flex;justify-content:flex-end;margin:0 0 8px}.passport-close-book{border:1px solid rgba(228,190,84,.45);background:rgba(8,28,42,.82);color:#ead17b;border-radius:999px;padding:8px 13px;font-weight:800;cursor:pointer}.passport-close-book:hover{transform:translateY(-1px);border-color:rgba(236,201,106,.8)}
.passport-book-experience.is-opening .passport-closed-cover{animation:passportCoverOpen .55s cubic-bezier(.2,.8,.2,1) forwards}.passport-book-experience.is-closing .passport-open-stage{display:block;animation:passportBookClose .52s ease forwards}.passport-book-experience.is-closing .passport-closed-cover{display:flex;opacity:0;animation:passportCoverClose .52s ease forwards}.passport-book-experience.is-open .passport-closed-cover{display:none}.passport-book-experience.is-open .passport-open-stage{display:block;animation:passportBookArrive .5s ease both}
@keyframes passportCoverOpen{0%{transform:rotateY(0);opacity:1}70%{transform:rotateY(-88deg) translateX(-10%);opacity:.45}100%{transform:rotateY(-110deg) translateX(-14%);opacity:0}}@keyframes passportCoverClose{0%{transform:rotateY(-95deg) translateX(-12%);opacity:0}35%{opacity:.55}100%{transform:rotateY(0);opacity:1}}@keyframes passportBookArrive{from{opacity:0;transform:scale(.95) rotateX(4deg)}to{opacity:1;transform:none}}@keyframes passportBookClose{from{opacity:1;transform:none}to{opacity:0;transform:scale(.95) rotateX(3deg)}}
.passport-book-experience .passport-book{margin-top:0;transform-style:preserve-3d;position:relative}.passport-book-experience .passport-page{position:relative;overflow:hidden;transform-style:preserve-3d;backface-visibility:hidden}.passport-book-experience .passport-page:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(249,244,226,.9),rgba(249,244,226,.9)),url('../assets/passport-background-current.png');background-size:cover;background-position:center;opacity:.10;filter:grayscale(.25);pointer-events:none}.passport-book-experience .passport-page>*{position:relative;z-index:1}
.passport-book-experience.page-turn-next .passport-page:last-child{animation:passportLeafNext .58s cubic-bezier(.35,.02,.2,1)}.passport-book-experience.page-turn-prev .passport-page:first-child{animation:passportLeafPrev .58s cubic-bezier(.35,.02,.2,1)}
@keyframes passportLeafNext{0%{transform:rotateY(0);filter:brightness(1)}46%{transform:rotateY(-86deg) scaleX(.985);filter:brightness(.88);box-shadow:-24px 8px 35px rgba(0,0,0,.18)}54%{transform:rotateY(-82deg) scaleX(.985);filter:brightness(.9)}100%{transform:rotateY(0);filter:brightness(1)}}@keyframes passportLeafPrev{0%{transform:rotateY(0);filter:brightness(1)}46%{transform:rotateY(86deg) scaleX(.985);filter:brightness(.88);box-shadow:24px 8px 35px rgba(0,0,0,.18)}54%{transform:rotateY(82deg) scaleX(.985);filter:brightness(.9)}100%{transform:rotateY(0);filter:brightness(1)}}
.passport-book-experience.is-turning .passport-page-btn{pointer-events:none}
@media(max-width:760px){.passport-book-experience{min-height:450px}.passport-closed-cover{width:min(310px,84vw);min-height:400px;aspect-ratio:.72/1}.passport-cover-tap{bottom:32px}.passport-book-experience .passport-book{grid-template-columns:1fr}.passport-book-experience .passport-page{min-height:400px}.passport-open-controls{justify-content:center}.passport-close-book{min-width:150px}}

/* v3.34.22 — true spine-based Passport leaf turn. Replaces squeeze animation only. */
.passport-book-experience .passport-book{perspective:2200px;overflow:hidden;isolation:isolate}
.passport-turn-leaf{position:absolute;top:0;z-index:30;transform-style:preserve-3d;pointer-events:none;will-change:transform;filter:drop-shadow(0 14px 16px rgba(0,0,0,.20))}
.passport-turn-leaf.turn-next{transform-origin:left center;animation:passportTrueLeafNext .82s cubic-bezier(.32,.02,.18,1) both}
.passport-turn-leaf.turn-prev{transform-origin:right center;animation:passportTrueLeafPrev .82s cubic-bezier(.32,.02,.18,1) both}
.passport-turn-face{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;box-sizing:border-box;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;background:#f2ead1!important}
.passport-turn-face:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(249,244,226,.89),rgba(249,244,226,.89)),url('../assets/passport-background-current.png');background-size:cover;background-position:center;opacity:.10;filter:grayscale(.25);pointer-events:none}
.passport-turn-face>*{position:relative;z-index:1}
.passport-turn-back{transform:rotateY(180deg)}
.passport-turn-leaf:after{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;backface-visibility:hidden;background:linear-gradient(90deg,rgba(0,0,0,.12),transparent 18%,transparent 82%,rgba(0,0,0,.06));opacity:0;animation:passportLeafShade .82s ease both}
.passport-book-experience.is-turning .passport-page{animation:none!important;transform:none!important}
.passport-book-experience.is-turning .passport-page-btn{pointer-events:none}
@keyframes passportTrueLeafNext{0%{transform:rotateY(0deg)}45%{transform:rotateY(-84deg)}55%{transform:rotateY(-98deg)}100%{transform:rotateY(-180deg)}}
@keyframes passportTrueLeafPrev{0%{transform:rotateY(0deg)}45%{transform:rotateY(84deg)}55%{transform:rotateY(98deg)}100%{transform:rotateY(180deg)}}
@keyframes passportLeafShade{0%,100%{opacity:0}42%,58%{opacity:.55}}
