*{box-sizing:border-box}body{margin:0;background:linear-gradient(125deg,#fafaf8,#e5f8f4);color:#173f46;font:17px/1.6 system-ui,sans-serif}header{display:flex;justify-content:space-between;align-items:center;padding:12px 6%;border-bottom:1px solid #c9dedd}header img{width:130px}main{max-width:1100px;margin:auto;padding:60px 24px}h1{font:clamp(36px,5vw,64px)/1.15 Georgia,serif;max-width:800px}p{max-width:750px}.eyebrow,small{font-size:12px;letter-spacing:2px}form{margin:40px 0}.fields{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}label span{display:block;margin-bottom:8px}input,select{font:inherit;padding:12px;border:1px solid #749b9e;border-radius:10px;background:#fff;color:#173f46;max-width:100%;width:100%}header select{width:auto}button{font:inherit;background:#173f46;color:white;border:0;border-radius:30px;padding:14px 25px;cursor:pointer}a{color:#173f46}#back{display:block;margin-top:40px}.pass{background:#fff;border:1px solid #badbd9;border-radius:24px;padding:30px;margin-bottom:24px;box-shadow:0 18px 60px #173f4610}.pass-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px dashed #adcaca;padding-bottom:20px}.pass-head img{width:140px}.route{display:flex;justify-content:space-between;gap:20px;font:clamp(20px,3vw,35px) Georgia,serif;padding:35px 0}.ticket-grid{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:20px}.ticket-grid small,.ticket-grid strong{display:block}.disclaimer{font-size:12px;letter-spacing:1px;border-top:1px dashed #adcaca;padding-top:20px;margin-top:30px}#error{color:#8c2333}:focus-visible{outline:3px solid #057e88;outline-offset:5px}[hidden]{display:none!important}@media(max-width:650px){.fields,.ticket-grid{grid-template-columns:1fr}.route{flex-direction:column}.pass-head{align-items:flex-start;flex-direction:column}main{padding-top:30px}}@media print{@page{size:A4 landscape;margin:15mm}body{background:white}header,main>p,main>h1,form,#back,#print,#clear{display:none}main{padding:0;max-width:none}.pass{box-shadow:none;break-inside:avoid}.ticket-grid{grid-template-columns:2fr repeat(4,1fr)}.route,.pass-head{flex-direction:row}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.pass{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(130deg,#fffdfb 15%,#e5fbf7 48%,#f6eafa 78%,#fffdfb);border:2px solid #abdad8;animation:ticket-arrival .7s ease-out both}.pass::before{content:"";position:absolute;z-index:-1;width:150%;height:130px;left:-25%;bottom:-60px;background:linear-gradient(100deg,#4bd9dc80,#b2efd9a0,#edb4e3a0,#c6b7f3a0);border-radius:50%;transform:rotate(-8deg);animation:color-drift 9s ease-in-out infinite alternate}.pass-head{background:linear-gradient(100deg,#ddf6f5a0,#f5deee90);border-radius:14px 14px 0 0;padding:12px 18px}.pass-head img{border-radius:12px}.route{color:#125e69}.ticket-grid>div{background:#ffffffa8;border:1px solid #ffffff;border-radius:12px;padding:12px;overflow-wrap:anywhere}.disclaimer{background:#ffffffb0;padding:14px;border-radius:10px}.route span{overflow-wrap:anywhere;min-width:0}@keyframes ticket-arrival{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes color-drift{to{transform:translateX(6%) rotate(-4deg)}}@media(prefers-reduced-motion:reduce){.pass,.pass::before{animation:none}}@media print{.pass,.pass::before{animation:none!important}.pass{border-color:#80bcbc}.ticket-grid>div{background:#f6faf9}}

.crew-signature{display:flex;align-items:center;gap:20px;margin-top:20px}.crew-signature img{width:120px;height:100px;object-fit:contain}.crew-signature small,.crew-signature strong{display:block}
.pass-head img{border:0;border-radius:0;background:none;box-shadow:none}

.step-label{font-size:11px;letter-spacing:2px;color:#087c80}.seat-cabins{max-width:650px;margin:30px auto;border:1px solid #a7ccc9;border-radius:100px 100px 24px 24px;padding:65px 25px 25px;background:#ffffffb0}.seat-zone{margin-bottom:32px;padding-bottom:24px;border-bottom:1px dashed #adcaca}.seat-zone h3{text-align:center;font:25px Georgia,serif}.seat-crew{text-align:center;font-size:12px}.seat-grid{display:grid;gap:8px;margin:auto}.seats-2{grid-template-columns:1fr 1fr;max-width:240px;column-gap:60px}.seats-4{grid-template-columns:repeat(4,1fr);max-width:420px}.seats-6{grid-template-columns:repeat(6,1fr)}.seat-button{padding:12px 3px;border:1px solid #75aaa7;border-radius:9px;background:#eaf6f3;color:#173f46;font-size:14px;min-height:44px}.seat-button[aria-pressed=true]{background:#173f46;color:white;outline:3px solid #58c6c0;outline-offset:2px}.first .seat-button{background:#f4eafa}.first .seat-button[aria-pressed=true]{background:#173f46}.seat-button:hover{border-color:#087c80}.seats-4 .seat-button:nth-child(4n+2),.seats-6 .seat-button:nth-child(6n+3){margin-right:12px}button:disabled{opacity:.45;cursor:not-allowed}#destinationHint{display:block;font-size:12px;letter-spacing:0;margin-top:8px;line-height:1.5}@media(max-width:650px){.seat-cabins{padding:50px 12px 15px}.seat-grid{gap:5px}.seat-button{font-size:12px}.seats-6 .seat-button:nth-child(6n+3){margin-right:5px}}@media print{#bookingStep,#seatStep,.step-label{display:none!important}}

.crew-signature{flex-wrap:wrap}.crew-faces{display:flex;flex-wrap:wrap;gap:12px}.crew-faces:empty{display:none}.crew-face{margin:0;text-align:center}.face-window{display:block;position:relative;width:84px;height:84px;overflow:hidden;border-radius:50%;background:#f6f4f0}.crew-signature .face-window img{position:absolute;width:126px;height:auto;max-width:none;object-fit:initial;left:-21px}.crew-face figcaption{font-size:11px;margin-top:6px;letter-spacing:.5px}@media(max-width:650px){.crew-faces{gap:10px}.crew-signature{gap:15px}}

.face-window{width:84px;height:112px;border-radius:12px;background:transparent}.crew-signature .face-window img{position:relative;display:block;left:0;width:84px;height:auto;top:0!important}

.face-window{height:90px}.crew-signature .face-window img[alt="Beau"],.crew-signature .face-window img[alt="Zander"],.crew-signature .face-window img[alt="Nanda"],.crew-signature .face-window img[alt="Rocket"]{top:-22.5px!important}.crew-signature .face-window img[alt="Ash"]{top:-27.5px!important}

.crew-signature .face-window img[alt="Ash"]{top:-37.5px!important}.crew-signature .face-window img[alt="Zander"]{top:-30px!important}

.book-flight-field{display:block;margin:28px 0}.book-flight-field span{display:block;margin-bottom:10px;font-size:13px}.book-flight-field select{width:100%;max-width:100%;padding:14px 12px;border:1px solid #97bab6;border-radius:12px;background:#f9fcfa;color:#173f46;font:14px Arial}.chapter-stamp{margin-top:24px;padding:18px 22px;border-radius:16px;background:linear-gradient(120deg,#d3f3ed,#eadbf0);color:#173f46}.chapter-stamp small,.chapter-stamp strong{display:block}.chapter-stamp small{font-size:11px;letter-spacing:1px;margin-bottom:8px}.chapter-stamp strong{font:24px Georgia}.chapter-stamp p{font-size:13px;margin-bottom:0}@media(max-width:650px){.book-flight-field select{font-size:12px}.chapter-stamp strong{font-size:20px}}

.face-window{width:84px;height:95px;border-radius:9px;border:1px solid #c8dad8;background:#f8faf8;box-shadow:0 4px 10px #173f4608}.crew-signature .face-window img{position:absolute;width:93px!important;left:-4.5px!important;top:-4px!important}.crew-signature .face-window img[alt="Beau"],.crew-signature .face-window img[alt="Nanda"],.crew-signature .face-window img[alt="Rocket"]{top:-28px!important}.crew-signature .face-window img[alt="Ash"]{top:-41.5px!important}.crew-signature .face-window img[alt="Zander"]{top:-33px!important}.crew-signature .face-window img[alt="Sunny"]{width:86px!important;left:-1px!important;top:-3px!important}

.crew-signature .face-window img[alt="Luna"]{width:130px!important;left:4px!important;top:-5px!important}.crew-signature .face-window img[alt="Auri"]{width:130px!important;left:-53px!important;top:5px!important}

.crew-signature .face-window img[alt="Luna"]{width:165px!important;left:-8.5px!important;top:-11px!important;clip-path:inset(0 49% 0 0)}
.crew-signature .face-window img[alt="Auri"]{width:140px!important;left:-60px!important;top:3px!important;clip-path:inset(0 0 0 51%)}
