@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap");
html{scroll-behavior:smooth}body{font-family:"Plus Jakarta Sans",system-ui,sans-serif;background:#f5f7fa;color:#1f2937}h1,h2,h3,h4,.font-display{font-family:"Outfit",system-ui,sans-serif}
.bg-brand-gradient{background:linear-gradient(135deg,#11646b 0%,#139585 100%)}
.reveal{transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}html.js-reveal .reveal:not(.in){opacity:0;transform:translateY(18px)}
.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes fly{0%{transform:translate(-10vw,30px) rotate(8deg);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translate(110vw,-120px) rotate(8deg);opacity:0}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.15)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes blob{0%,100%{border-radius:42% 58% 70% 30%/45% 45% 55% 55%}50%{border-radius:70% 30% 46% 54%/30% 29% 71% 70%}}
@keyframes pulse-ring{0%{transform:scale(.8);opacity:.8}100%{transform:scale(2.2);opacity:0}}
.animate-float{animation:float 5s ease-in-out infinite}.animate-fly{animation:fly 14s linear infinite}.animate-marquee{animation:marquee 35s linear infinite}
.animate-kenburns{animation:kenburns 20s ease-in-out infinite alternate}.animate-fadeUp{animation:fadeUp 1s cubic-bezier(.2,.7,.2,1) both}.animate-blob{animation:blob 10s ease-in-out infinite}
.pulse-ring::before{content:"";position:absolute;inset:0;border-radius:9999px;background:#25D366;animation:pulse-ring 1.8s ease-out infinite;z-index:-1}
.flight-path{stroke-dasharray:6 8}
.card-hover{transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}.card-hover:hover{transform:translateY(-8px);box-shadow:0 25px 50px -12px rgba(17,100,107,.25)}
.img-zoom img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.img-zoom:hover img{transform:scale(1.08)}
.prose-nt p{margin-bottom:1.1rem;line-height:1.85;color:#334155}
.marquee-pause:hover .animate-marquee{animation-play-state:paused}
.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hl{background:linear-gradient(transparent 62%,rgba(142,239,236,.7) 62%);padding:0 .1em;border-radius:.2em}
@keyframes heroIn{from{transform:translateY(14px)}to{transform:none}}.hero-text{animation:heroIn .6s ease-out}.hero-shadow{text-shadow:0 2px 18px rgba(11,59,64,.6)}

.st-container{width:100%;max-width:1140px;margin-inline:auto;padding-inline:1rem}
.st-card{background:#fff;border-radius:14px;box-shadow:0 2px 12px rgba(17,100,107,.08),0 0 0 1px rgba(15,23,42,.04)}
.st-input{width:100%;border-radius:10px;border:1px solid #e2e8f0;background:#fff;padding:.7rem .85rem;font-size:.875rem;color:#1f2937;outline:none;transition:border-color .2s,box-shadow .2s}
.st-input:focus{border-color:#139585;box-shadow:0 0 0 3px rgba(19,149,133,.15)}
.st-btn{border-radius:10px;background:#139585;color:#fff;font-weight:700;padding:.75rem 1.25rem;transition:background .2s}.st-btn:hover{background:#0f7c70}
.st-btn-accent{border-radius:10px;background:#f59e0b;color:#fff;font-weight:700;padding:.75rem 1.25rem;transition:background .2s;box-shadow:0 6px 16px -6px rgba(245,158,11,.6)}.st-btn-accent:hover{background:#d97706}
.st-h2{font-size:1.5rem;font-weight:800;color:#0f172a;letter-spacing:-.01em}@media(min-width:768px){.st-h2{font-size:1.75rem}}
.st-sub{margin-top:.35rem;font-size:.875rem;color:#64748b;max-width:42rem}
.st-tile{background:#fff;border-radius:12px;overflow:hidden;border:1px solid #eef2f6;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}.st-tile:hover{transform:translateY(-3px);box-shadow:0 10px 24px -14px rgba(15,23,42,.25)}
.st-chip{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;background:#e6f6f4;color:#0e4f55;padding:.2rem .6rem;font-size:11px;font-weight:600}
.scroll-x{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.5rem;scrollbar-width:none}.scroll-x::-webkit-scrollbar{display:none}.scroll-x>*{scroll-snap-align:start;flex:0 0 auto;min-width:0}@media(min-width:768px){.scroll-x.md\:grid{display:grid}.scroll-x.md\:grid>*{width:auto}}@media(min-width:1024px){.scroll-x.lg\:grid{display:grid}.scroll-x.lg\:grid>*{width:auto}}
.line-clamp-1{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}

.dest-tile{position:relative;display:block;flex:0 0 auto;scroll-snap-align:start;height:300px;border-radius:16px;overflow:hidden;background:#e2e8f0;transition:transform .4s cubic-bezier(.2,.7,.2,1)}.dest-tile:hover{transform:translateY(-6px)}
.dest-cap{position:absolute;inset-inline:0;bottom:0;padding:14px;background:rgba(15,23,42,.45);backdrop-filter:blur(2px)}
.nav-link{font-family:"Outfit",system-ui,sans-serif;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.header-glass{background:rgba(255,255,255,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.header-glass.scrolled{background:rgba(255,255,255,.96);box-shadow:0 6px 20px -10px rgba(15,23,42,.15)}
.air-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 6px;border-radius:10px;transition:background .2s}.air-row:hover{background:#f1f5f9}.air-row img{height:34px;width:56px;object-fit:contain}


.cf-wrap { position: relative; }
.cf-stage { position: relative; height: 340px; perspective: 1200px; perspective-origin: 50% 45%; overflow: hidden; }
.cf-card { position: absolute; left: 50%; top: 10px; width: 210px; height: 300px; border-radius: 16px; overflow: hidden; background: #e2e8f0; border: 3px solid #fff; box-shadow: 0 10px 30px -12px rgba(15,23,42,.35); transition: transform .65s cubic-bezier(.2,.7,.2,1), opacity .65s, z-index 0s; transform-style: preserve-3d; cursor: pointer; }
.cf-card img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cf-cap { position: absolute; inset-inline: 0; bottom: 0; padding: 14px; color: #fff; background: rgba(15,23,42,.35); backdrop-filter: blur(2px); }
.cf-cap h3 { font-size: 15px; font-weight: 800; }
.cf-cap p { font-size: 11px; opacity: .95; }
.cf-dim { position: absolute; inset: 0; background: #0f172a; pointer-events: none; }
.cf-arrow { position: absolute; top: 150px; z-index: 20; width: 40px; height: 40px; border-radius: 999px; background: #fff; border: 1px solid #e2e8f0; color: #334155; font-size: 22px; line-height: 1; box-shadow: 0 4px 12px -4px rgba(15,23,42,.25); transition: background .2s, color .2s; }
.cf-arrow:hover { background: #139585; color: #fff; }
@media (max-width: 640px) { .cf-stage { height: 300px; } .cf-card { width: 170px; height: 250px; } .cf-arrow { top: 125px; } }
