:root{--volcanic-black:#050814;--glacier-white:#f8fafc;--ice-blue:#e0f2fe;--deep-navy:#0f172a;--soft-grey:#94a3b8;--moss-green:#4d7c0f;--accent-blue:#38bdf8;--text-primary:var(--glacier-white);--text-secondary:var(--soft-grey);--bg-primary:var(--volcanic-black);--bg-secondary:var(--deep-navy);--glass:#ffffff08;--glass-border:#ffffff14;--card-radius:24px;--section-padding:100px 0;--transition-smooth:all .5s cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Outfit,sans-serif;line-height:1.7;overflow-x:hidden}.container{max-width:1400px;margin:0 auto;padding:0 2rem}h1,h2,h3,h4,.logo{letter-spacing:-.02em;font-weight:800;line-height:1.1}h1{font-size:clamp(3.5rem,8vw,6.5rem)}h2{margin-bottom:2rem;font-size:clamp(2.5rem,5vw,3.5rem)}p{color:var(--text-secondary);font-size:1.125rem;font-weight:300}nav{z-index:1000;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border);width:100%;transition:var(--transition-smooth);background:#050814b3;justify-content:space-between;align-items:center;padding:1.5rem 4rem;display:flex;position:fixed;top:0}nav.scrolled{background:#050814f2;padding:1rem 4rem}.logo{letter-spacing:1px;font-size:1.5rem}.logo span{color:var(--accent-blue);font-weight:300}.nav-links{gap:2.5rem;display:flex}.nav-links a{text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);transition:var(--transition-smooth);font-size:.9rem;font-weight:600}.nav-links a:hover{color:var(--text-primary)}.btn{text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:var(--transition-smooth);white-space:nowrap;border:none;border-radius:100px;justify-content:center;align-items:center;padding:1.25rem 2.5rem;font-size:.875rem;font-weight:700;display:inline-flex}.btn-primary{background-color:var(--text-primary);color:var(--volcanic-black)}.btn-primary:hover{transform:translateY(-4px);box-shadow:0 10px 40px #fff3}.btn-secondary{background:var(--glass);color:var(--text-primary);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-secondary:hover{background:#ffffff1a;transform:translateY(-4px)}.btn-accent{background-color:var(--accent-blue);color:var(--volcanic-black)}.hero{justify-content:center;align-items:center;height:100vh;display:flex;position:relative;overflow:hidden}.hero-bg{background-image:url(/images/hero.png);background-position:50%;background-size:cover;width:100%;height:100%;position:absolute;top:0;left:0;transform:scale(1.05)}.hero-overlay{background:linear-gradient(180deg, #05081433 0%, var(--volcanic-black) 90%);width:100%;height:100%;position:absolute;top:0;left:0}.hero-content{z-index:10;text-align:center;max-width:1000px;position:relative}.hero h1 span{background:linear-gradient(90deg, var(--text-primary), var(--accent-blue));-webkit-text-fill-color:transparent;-webkit-background-clip:text}.hero-sub{max-width:700px;margin:2rem auto 3.5rem;font-size:1.5rem}.hero-actions{justify-content:center;gap:1.5rem;display:flex}section{padding:var(--section-padding)}.section-title-wrap{text-align:center;margin-bottom:4rem}.section-subtitle{color:var(--accent-blue);text-transform:uppercase;letter-spacing:4px;margin-bottom:1rem;font-size:.875rem;font-weight:800;display:block}.grid-4{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.grid-3{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:2rem;display:grid}.card{background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--card-radius);transition:var(--transition-smooth);padding:2.5rem;position:relative;overflow:hidden}.card:hover{border-color:var(--accent-blue);background:#0f172acc;transform:translateY(-10px)}.card-img{background-position:50%;background-size:cover;border-radius:16px;width:100%;height:240px;margin-bottom:2rem}.card h3{margin-bottom:1rem;font-size:1.75rem}.card-actions{flex-direction:column;gap:1rem;margin-top:2rem;display:flex}.booking-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;display:grid}.booking-card{background:var(--glass);border:1px solid var(--glass-border);text-align:center;transition:var(--transition-smooth);border-radius:20px;padding:2rem}.booking-card:hover{background:var(--bg-secondary);border-color:var(--accent-blue)}.booking-card i{color:var(--accent-blue);margin-bottom:1.5rem;font-size:2.5rem;display:block}.ai-planner-promo{background:linear-gradient(135deg, var(--deep-navy) 0%, #0c4a6e 100%);text-align:center;border-radius:40px;padding:6rem;position:relative;overflow:hidden}.ai-planner-promo:before{content:"";background:radial-gradient(circle,#38bdf81a 0%,#0000 70%);width:100%;height:100%;position:absolute;top:0;left:0}.ai-planner-content{z-index:2;max-width:800px;margin:0 auto;position:relative}.esim-promo{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;display:grid}.esim-img{border-radius:var(--card-radius);width:100%;box-shadow:0 40px 80px #00000080}footer{border-top:1px solid var(--glass-border);background:#020617;padding:8rem 0 4rem}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:4rem;margin-bottom:6rem;display:grid}.footer-logo{margin-bottom:2rem}.footer-col h4{text-transform:uppercase;letter-spacing:2px;margin-bottom:2rem;font-size:1rem}.footer-col ul li{margin-bottom:1rem;list-style:none}.footer-col ul li a{color:var(--text-secondary);transition:var(--transition-smooth)}.footer-col ul li a:hover{color:var(--text-primary)}.footer-bottom{border-top:1px solid var(--glass-border);text-align:center;padding-top:4rem}.disclosure{color:var(--text-secondary);max-width:800px;margin:0 auto;font-size:.875rem}@media (width<=1024px){.footer-grid{grid-template-columns:1fr 1fr}.esim-promo{text-align:center;grid-template-columns:1fr}}@media (width<=768px){nav{padding:1rem 2rem}.nav-links{display:none}.hero h1{font-size:3.5rem}.ai-planner-promo{padding:3rem 1.5rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;animation:1s cubic-bezier(.16,1,.3,1) forwards fadeInUp}
