        :root{
            --blue:#0049a4; --blue-dark:#00337a; --blue-light:#3a7bc8;
            --navy:#0f2c47; --heading:#12314b;
            --text:#5a6b7b; --muted:#8a97a6;
            --bg:#ffffff; --bg-soft:#f6f9fc; --bg-blue:#eaf2fb;
            --border:#e6ebf1; --card-shadow:0 10px 30px rgba(16,44,71,.08);
            --radius:14px;
        }
        *{box-sizing:border-box;}
        html{scroll-behavior:smooth;}
        body{
            margin:0; font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
            color:var(--text); background:var(--bg); line-height:1.6; overflow-x:hidden;
            -webkit-font-smoothing:antialiased;
        }
        h1,h2,h3,h4{font-family:'Poppins','Inter',sans-serif; color:var(--heading); margin:0; line-height:1.2;}
        a{text-decoration:none; color:inherit;}
        img{max-width:100%; display:block;}
        .wrap{max-width:1160px; margin:0 auto; padding:0 24px;}
        .section{padding:76px 0;}

        /* Buttons */
        .btn{display:inline-flex; align-items:center; gap:9px; font-family:'Inter',sans-serif; white-space:nowrap;
            font-weight:600; font-size:15px; padding:13px 24px; border-radius:10px; cursor:pointer;
            border:1.5px solid transparent; transition:transform .15s ease, box-shadow .15s ease, background .15s ease;}
        .btn svg{width:17px; height:17px;}
        .btn-primary{background:var(--blue); color:#fff; box-shadow:0 8px 20px rgba(0,73,164,.28);}
        .btn-primary:hover{background:var(--blue-dark); transform:translateY(-1px);}
        .btn-white{background:#fff; color:var(--heading); border-color:var(--border);}
        .btn-white:hover{border-color:#cbd5e1; transform:translateY(-1px);}
        .btn-outline{background:transparent; color:var(--heading); border-color:var(--border);}
        .btn-outline:hover{border-color:var(--blue); color:var(--blue);}

        /* ===== Nav ===== */
        header.nav{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.92);
            backdrop-filter:blur(8px); border-bottom:1px solid var(--border);}
        .nav-inner{display:flex; align-items:center; justify-content:space-between; height:72px;}
        .logo{display:flex; align-items:center; gap:10px; font-family:'Baloo 2','Poppins',sans-serif;
            font-weight:700; font-size:22px; color:var(--heading); letter-spacing:-.2px; line-height:1; white-space:nowrap;}
        .logo-badge{flex:0 0 auto; width:40px; height:40px; border-radius:10px; background:var(--blue);
            display:flex; align-items:center; justify-content:center;}
        .logo-badge img{width:34px; height:34px; object-fit:contain;}
        .nav-links{display:flex; align-items:center; gap:26px; list-style:none; margin:0; padding:0;}
        .nav-links a{font-size:14.5px; font-weight:500; color:#41505f; white-space:nowrap;}
        .nav-cta-mobile{display:none;}
        .nav-links a:hover{color:var(--blue);}
        .nav-actions{display:flex; align-items:center; gap:12px;}
        .nav-toggle{display:none; background:none; border:0; cursor:pointer; padding:6px;}
        .nav-toggle svg{width:26px; height:26px; color:var(--heading);}

        /* ===== Hero ===== */
        .hero{position:relative; background:linear-gradient(120deg,#f7fbff 0%,#eef5fb 55%,#e3eef8 100%);
            overflow:hidden;}
        .hero:before{content:""; position:absolute; inset:0;
            background:url('assets/img/landing/hero-amalfi.jpg') right center/cover no-repeat; opacity:.16;}
        .hero-inner{position:relative; display:flex; align-items:center; gap:48px; padding:64px 0 72px;}
        .hero-copy{flex:1 1 50%; min-width:320px;}
        .hero-media{flex:1 1 48%; min-width:320px;}
        .hero h1{font-size:44px; font-weight:800; color:var(--navy); letter-spacing:-1px; margin-bottom:20px;}
        .hero .lead{font-size:17px; max-width:520px; margin-bottom:22px;}
        .hero-bullets{list-style:none; padding:0; margin:0 0 30px;}
        .hero-bullets li{display:flex; align-items:center; gap:11px; font-weight:500; color:#3d4c5a;
            padding:6px 0; font-size:15.5px;}
        .check{flex:0 0 20px; width:20px; height:20px; border-radius:50%; background:var(--blue);
            display:inline-flex; align-items:center; justify-content:center;}
        .check svg{width:12px; height:12px; color:#fff;}
        .hero-cta{display:flex; flex-wrap:wrap; gap:14px; margin-bottom:22px;}
        .rating{display:flex; align-items:center; gap:10px; font-size:14px; color:#54636f;}
        .stars{display:inline-flex; gap:2px; color:#f5a623;}
        .stars svg{width:17px; height:17px;}

        /* Video card */
        .video-card{position:relative; border-radius:16px; overflow:hidden; box-shadow:0 24px 60px rgba(16,44,71,.22);
            aspect-ratio:16/10; background:#0f2c47;}
        .video-card img{width:100%; height:100%; object-fit:cover; opacity:.85;}
        .play-btn{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center;
            justify-content:center; gap:12px; color:#fff; background:rgba(15,44,71,.28);}
        .play-circle{width:74px; height:74px; border-radius:50%; background:rgba(255,255,255,.92);
            display:flex; align-items:center; justify-content:center; box-shadow:0 10px 30px rgba(0,0,0,.3);
            transition:transform .2s ease;}
        .play-btn:hover .play-circle{transform:scale(1.08);}
        .play-circle svg{width:26px; height:26px; color:var(--blue); margin-left:4px;}
        .play-btn span{font-weight:600; font-size:14px; text-shadow:0 1px 8px rgba(0,0,0,.4);}

        /* ===== Featured strip ===== */
        .featured{background:var(--bg-soft); border-top:1px solid var(--border); border-bottom:1px solid var(--border);
            padding:26px 0;}
        .featured-inner{display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:14px 42px;}
        .featured .label{font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted);
            font-weight:600;}
        .featured .brand{font-family:'Poppins',serif; font-weight:700; font-size:19px; color:#9aa7b3;
            filter:grayscale(1); letter-spacing:.3px;}

        /* ===== Section headers ===== */
        .eyebrow{display:block; text-align:center; color:var(--blue); font-weight:700; font-size:13px;
            letter-spacing:2px; text-transform:uppercase; margin-bottom:12px;}
        .section-title{text-align:center; font-size:32px; font-weight:700; margin-bottom:14px;}
        .section-sub{text-align:center; max-width:620px; margin:0 auto 46px; font-size:16.5px;}

        /* ===== Features grid ===== */
        .features{display:flex; flex-wrap:wrap; gap:20px; justify-content:center;}
        .feature{flex:1 1 160px; max-width:180px; text-align:center; padding:26px 16px; border-radius:var(--radius);
            background:#fff; border:1px solid var(--border); transition:transform .18s ease, box-shadow .18s ease;}
        .feature:hover{transform:translateY(-4px); box-shadow:var(--card-shadow);}
        .feature .ic{width:52px; height:52px; margin:0 auto 16px; border-radius:13px; display:flex;
            align-items:center; justify-content:center; background:#e7f0fb;}
        .feature .ic svg{width:26px; height:26px; color:var(--blue);}
        .feature h4{font-size:15px; margin-bottom:8px; font-family:'Inter',sans-serif; font-weight:700;}
        .feature p{font-size:13px; color:var(--muted); line-height:1.5; margin:0;}

        /* ===== Short stays ===== */
        .short-stays{background:var(--bg-blue);}
        .ss-head{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px;
            margin-bottom:34px;}
        .ss-title{display:flex; align-items:center; gap:14px; flex-wrap:wrap;}
        .ss-title h2{font-size:26px; font-weight:700;}
        .badge{background:var(--blue); color:#fff; font-size:12.5px; font-weight:600; padding:5px 13px;
            border-radius:20px;}
        .ss-month{background:#fff; border:1px solid var(--border); border-radius:9px; padding:9px 16px;
            font-weight:600; font-size:14px; color:var(--heading); display:flex; align-items:center; gap:8px;}
        .ss-cards, .ss-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px;}
        .ss-card{display:grid; grid-template-columns:35% minmax(0,1fr); background:#fff; color:var(--heading);
            border:1px solid var(--border); border-radius:var(--radius); overflow:hidden;
            box-shadow:0 6px 18px rgba(16,44,71,.06); transition:box-shadow .18s ease, border-color .18s ease;}
        .ss-card:hover{border-color:#a9c8ed; box-shadow:var(--card-shadow);}
        .ss-card:focus-visible{outline:3px solid var(--blue); outline-offset:4px;}
        .ss-card .ph{height:100%; min-height:285px; background:#e5edf5; overflow:hidden;}
        .ss-card .ph img{width:100%; height:100%; object-fit:cover; display:block;}
        .ss-body{padding:20px; min-width:0; text-align:left;}
        .ss-fare{display:flex; align-items:baseline; flex-wrap:wrap; gap:7px;}
        .ss-body .price{font-family:'Poppins',sans-serif; font-weight:700; font-size:29px; color:var(--blue); line-height:1.2;}
        .ss-body .ret{font-size:12px; color:var(--muted);}
        .ss-saving{font-size:11px; font-weight:700; padding:4px 7px; border-radius:6px; background:#eaf3ff; color:var(--blue); margin-left:auto;}
        .ss-was{font-size:12px; color:var(--muted); text-decoration:line-through; margin-top:3px;}
        .ss-route{margin:16px 0 12px; display:grid; gap:10px;}
        .ss-route dt{font-size:10px; font-weight:700; letter-spacing:.7px; text-transform:uppercase; color:var(--muted); margin-bottom:2px;}
        .ss-route dd{margin:0; color:var(--heading); font-size:14px; line-height:1.45; overflow-wrap:anywhere;}
        .ss-route .city{font-weight:700; font-size:16px;}
        .ss-route .city span{font-weight:500; color:var(--muted);}
        .ss-days{font-size:16px; font-weight:700; color:var(--blue); margin:0 0 6px;}
        .ss-details{color:var(--muted); font-size:14px; line-height:1.6;}
        .ss-card-bottom{display:flex; justify-content:space-between; align-items:center; gap:12px; border-top:1px solid var(--border); margin-top:14px; padding-top:12px; font-size:11px; color:var(--muted);}
        .ss-view{color:var(--blue); font-weight:700; white-space:nowrap;}
        .ss-added{color:var(--muted); font-size:10px; margin-top:7px;}
        .ss-cards>.ss-empty, .ss-cards>.ss-loading, .ss-grid>.ss-empty, .ss-grid>.ss-loading{grid-column:1/-1; text-align:center; padding:32px 16px; color:var(--muted);}
        @media(max-width:1000px){.ss-card{grid-template-columns:105px minmax(0,1fr);} .ss-body{padding:17px;}}
        @media (max-width:760px){
            .ss-grid,.ss-cards{grid-template-columns:1fr}
            .ss-card{grid-template-columns:1fr} .ss-card .ph {min-height:150px;}
            .ss-card .ph img{width:100%;height:150px;object-fit:cover}
            .ss-route dt{font-size:12px;} .ss-route dd{font-size:16px;} .ss-route .city{font-size:18px;}
            .ss-details,.ss-card-bottom{font-size:14px;} .ss-added,.ss-was,.ss-body .ret{font-size:12px;}
            .ss-days{font-size:17px;}
        }
        @media(max-width:380px){.ss-body{padding:16px;} .ss-body .price{font-size:27px;} .ss-card-bottom{gap:6px;}}
        .ss-foot{text-align:center; margin-top:36px;}

        /* ===== Browse by type ===== */
        .type-cards{display:flex; flex-wrap:wrap; gap:18px;}
        .type-card{flex:1 1 180px; position:relative; height:190px; border-radius:var(--radius); overflow:hidden;
            display:flex; align-items:flex-end;}
        .type-card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
            transition:transform .4s ease;}
        .type-card:hover img{transform:scale(1.07);}
        .type-card:after{content:""; position:absolute; inset:0;
            background:linear-gradient(to top,rgba(9,26,42,.82) 0%,rgba(9,26,42,.15) 60%,transparent 100%);}
        .type-card .t-body{position:relative; z-index:2; padding:18px; color:#fff;}
        .type-card .t-body strong{display:block; font-family:'Poppins',sans-serif; font-size:16px; font-weight:700;
            margin-bottom:3px;}
        .type-card .t-body span{font-size:12.5px; opacity:.88;}

        /* ===== How it works ===== */
        .how{background:var(--bg-soft);}
        .steps{display:flex; align-items:flex-start; justify-content:center; gap:8px; flex-wrap:wrap;}
        .step{flex:1 1 240px; max-width:280px; text-align:center; padding:10px 18px;}
        .step .num{position:relative; width:60px; height:60px; margin:0 auto 18px; border-radius:50%;
            background:#fff; border:2px solid #d5e3f5; display:flex; align-items:center; justify-content:center;}
        .step .num svg{width:26px; height:26px; color:var(--blue);}
        .step .num b{position:absolute; top:-8px; right:-8px; width:26px; height:26px; border-radius:50%;
            background:var(--blue); color:#fff; font-size:13px; display:flex; align-items:center; justify-content:center;}
        .step h4{font-size:17px; margin-bottom:8px;}
        .step p{font-size:14px; margin:0;}
        .step-arrow{flex:0 0 auto; align-self:center; color:#b7c9e0; padding-top:24px;}
        .step-arrow svg{width:34px; height:20px;}

        /* ===== Testimonials ===== */
        .tst-cards{display:flex; flex-wrap:wrap; gap:22px; justify-content:center;}
        .tst{flex:1 1 300px; max-width:340px; background:#fff; border:1px solid var(--border);
            border-radius:var(--radius); padding:28px 26px; box-shadow:0 6px 18px rgba(16,44,71,.05);}
        .tst .stars{margin-bottom:14px;}
        .tst .q{font-size:15px; color:#3d4c5a; margin-bottom:20px; font-style:italic;}
        .tst .who{display:flex; align-items:center; gap:12px;}
        .tst .avatar{width:44px; height:44px; border-radius:50%; background:var(--blue); color:#fff;
            display:flex; align-items:center; justify-content:center; font-weight:700; font-family:'Poppins',sans-serif;}
        .tst .who b{display:block; color:var(--heading); font-size:14.5px;}
        .tst .who span{font-size:13px; color:var(--muted);}

        /* ===== Pricing ===== */
        .pricing{background:var(--bg-blue);}
        .price-cards{display:flex; flex-wrap:wrap; gap:22px; justify-content:center; align-items:stretch;}
        .price-card{flex:1 1 280px; max-width:330px; background:#fff; border:1px solid var(--border);
            border-radius:18px; padding:32px 28px; display:flex; flex-direction:column; position:relative;}
        .price-card.featured-plan{border:2px solid var(--blue); box-shadow:0 18px 40px rgba(0,73,164,.16);}
        .plan-tag{position:absolute; top:-13px; left:50%; transform:translateX(-50%); background:var(--blue);
            color:#fff; font-size:12px; font-weight:600; padding:5px 16px; border-radius:20px;}
        .price-card h3{font-size:19px; margin-bottom:6px; font-family:'Inter',sans-serif; font-weight:700;}
        .price-card .amt{font-family:'Poppins',sans-serif; font-weight:800; font-size:42px; color:var(--heading);
            line-height:1;}
        .price-card .amt small{font-size:15px; font-weight:600; color:var(--muted);}
        .price-card .cap{font-size:13px; color:var(--muted); margin-bottom:20px;}
        .plan-list{list-style:none; padding:0; margin:0 0 24px; flex:1;}
        .plan-list li{display:flex; align-items:flex-start; gap:10px; font-size:14px; color:#485765;
            padding:6px 0;}
        .plan-list li svg{flex:0 0 16px; width:16px; height:16px; color:var(--blue); margin-top:3px;}
        .price-card form{margin:0;}
        .price-card .btn{width:100%; justify-content:center;}
        .pricing-cta{text-align:center; margin-top:28px;}

        /* ===== Footer ===== */
        footer.site{background:#0f2c47; color:#b9c6d3; padding:60px 0 26px;}
        .foot-cols{display:flex; flex-wrap:wrap; gap:40px; justify-content:space-between;}
        .foot-col{flex:1 1 210px;}
        .foot-brand .logo{color:#fff;}
        .foot-brand .logo small{color:var(--blue-light);}
        .foot-brand p{font-size:14px; margin:16px 0 0; max-width:280px;}
        .foot-col h4{color:#fff; font-size:15px; margin-bottom:16px; font-family:'Inter',sans-serif; font-weight:700;}
        .foot-col ul{list-style:none; padding:0; margin:0;}
        .foot-col li{margin-bottom:10px;}
        .foot-col a{font-size:14px; color:#9fb0bf;}
        .foot-col a:hover{color:#fff;}
        .socials{display:flex; gap:12px; margin-top:4px;}
        .socials a{width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.08);
            display:flex; align-items:center; justify-content:center; color:#cdd8e2;}
        .socials a:hover{background:var(--blue);}
        .socials svg{width:17px; height:17px;}
        .foot-bottom{border-top:1px solid rgba(255,255,255,.1); margin-top:44px; padding-top:22px;
            display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:13px; color:#8598a8;}

        /* ===== Try demo ===== */
        .trydemo{background:linear-gradient(180deg,#ffffff 0%,var(--bg-blue) 100%);}
        .demo-shell{max-width:1000px; margin:0 auto; background:#fff; border:1px solid var(--border);
            border-radius:20px; box-shadow:0 24px 60px rgba(16,44,71,.10); overflow:hidden;}
        .demo-top{display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
            padding:20px 26px; background:linear-gradient(120deg,var(--blue) 0%,var(--blue-dark) 100%); color:#fff;}
        .demo-top .dt-title{display:flex; align-items:center; gap:13px;}
        .demo-top .dt-title .dt-ic{width:42px; height:42px; border-radius:11px; background:rgba(255,255,255,.16);
            display:flex; align-items:center; justify-content:center;}
        .demo-top .dt-title .dt-ic svg{width:22px; height:22px; color:#fff;}
        .demo-top .dt-title strong{font-family:'Poppins',sans-serif; font-size:17px; font-weight:700; display:block;}
        .demo-top .dt-title span{font-size:12.5px; opacity:.85;}
        .demo-badge-free{background:#fff; color:var(--blue); font-size:12px; font-weight:700; padding:5px 13px;
            border-radius:20px; letter-spacing:.5px;}
        .demo-search{display:flex; flex-direction:column; gap:16px; padding:22px 26px;
            border-bottom:1px solid var(--border);}
        .demo-row{display:flex; align-items:flex-end; gap:14px; flex-wrap:wrap;}
        .demo-row-2{gap:14px;}
        .demo-field{flex:1 1 160px;}
        .demo-dates-field{flex:1 1 250px;}   /* From->To month range needs more room */
        .demo-field label{display:block; font-size:11px; font-weight:700; color:var(--muted); margin-bottom:6px;
            text-transform:uppercase; letter-spacing:.6px;}
        .demo-fixed{display:flex; align-items:center; gap:8px; padding:11px 14px; border:1px solid var(--border);
            border-radius:10px; background:var(--bg-soft); font-weight:600; color:var(--heading); font-size:14px;}
        .demo-fixed svg{width:16px; height:16px; color:var(--blue); flex:0 0 16px;}
        .demo-select{width:100%; padding:11px 14px; border:1.5px solid var(--blue); border-radius:10px;
            font-family:'Inter',sans-serif; font-size:14px; font-weight:600; color:var(--heading); background:#fff;
            cursor:pointer; -webkit-appearance:none; appearance:none;
            background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%230049a4' stroke-width='2'%3E%3Cpath d='M2 5l5 5 5-5'/%3E%3C/svg%3E");
            background-repeat:no-repeat; background-position:right 14px center;}
        /* Month-grid picker (mirrors the app's dates popup) */
        .mpick{position:relative;}
        .mpick-trigger{display:flex; align-items:center; gap:9px; width:100%; padding:11px 14px;
            border:1.5px solid var(--blue); border-radius:10px; background:#fff; cursor:pointer;
            font-family:'Inter',sans-serif; font-size:14px; font-weight:600; color:var(--heading); text-align:left;}
        .mpick-trigger svg{width:16px; height:16px; color:var(--blue); flex:0 0 16px;}
        .mpick-trigger #mpickLabel{flex:1;}
        .mpick-caret{transition:transform .18s ease;}
        .mpick-trigger[aria-expanded="true"] .mpick-caret{transform:rotate(180deg);}
        .mpick-pop{position:absolute; z-index:30; top:calc(100% + 6px); left:0; min-width:280px; max-width:340px;
            background:#fff; border:1px solid var(--border); border-radius:14px; box-shadow:0 18px 44px rgba(0,73,164,.18);
            padding:14px;}
        .mpick-pop[hidden]{display:none;}
        .mg-year{font-size:12px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.6px;
            margin:6px 2px 8px;}
        .mg-months{display:flex; flex-wrap:wrap; gap:7px; margin-bottom:6px;}
        .mg-cell{flex:1 1 calc(25% - 7px); min-width:58px; padding:9px 0; border:1.5px solid var(--border);
            border-radius:9px; background:#fff; cursor:pointer; font-family:'Inter',sans-serif; font-size:13px;
            font-weight:600; color:var(--heading); transition:border-color .12s ease, background .12s ease;}
        .mg-cell:hover{border-color:var(--blue); color:var(--blue);}
        .mg-cell.mg-between{background:rgba(0,73,164,.08); border-color:transparent; color:var(--blue);}
        .mg-cell.mg-start, .mg-cell.mg-end{background:var(--blue); border-color:var(--blue); color:#fff;}
        .mpick-foot{display:flex; align-items:center; justify-content:space-between; gap:10px;
            margin-top:8px; padding-top:10px; border-top:1px solid var(--border);}
        .mpick-hint{font-size:11.5px; color:var(--muted);}
        .mpick-clear{background:none; border:none; cursor:pointer; font-family:'Inter',sans-serif;
            font-size:12.5px; font-weight:700; color:var(--blue); padding:4px 6px;}
        .mpick-clear:hover{text-decoration:underline;}
        .demo-results{padding:22px 26px 26px;}
        .deal{display:flex; align-items:stretch; border:1px solid var(--border); border-radius:14px; overflow:hidden;
            margin-bottom:16px; transition:box-shadow .18s ease, transform .18s ease;}
        .deal:hover{box-shadow:var(--card-shadow); transform:translateY(-2px);}
        .deal-main{flex:1; padding:16px 18px;}
        .deal-airline{display:flex; align-items:center; gap:11px; margin-bottom:11px;}
        .deal-airline .ava{width:46px; height:46px; border-radius:10px; background:var(--blue); color:#fff;
            font-size:15px; font-weight:700; display:flex; align-items:center; justify-content:center; font-family:'Poppins',sans-serif;}
        .deal-airline .ava-img{width:58px; height:46px; border-radius:10px; object-fit:contain; background:#fff;
            border:1px solid var(--border); padding:4px;}
        .demo-loading{display:flex; align-items:center; justify-content:center; gap:10px; padding:38px 10px;
            color:var(--muted); font-weight:600; font-size:14px;}
        .demo-loading svg{width:18px; height:18px; color:var(--blue); animation:demofly 1.1s ease-in-out infinite;}
        @keyframes demofly{0%{transform:translateX(-5px);}50%{transform:translateX(5px);}100%{transform:translateX(-5px);}}
        .demo-empty{text-align:center; color:var(--muted); padding:26px 10px; font-size:14px;}
        .deal-airline b{color:var(--heading); font-size:15px;}
        /* Each city stays on one line; the route wraps BETWEEN cities, never mid-name. */
        .deal-route{display:flex; align-items:center; flex-wrap:wrap; gap:9px; font-family:'Poppins',sans-serif;
            font-weight:700; color:var(--heading); font-size:16px; margin-bottom:10px;}
        .deal-route span{white-space:nowrap;}
        .deal-route svg{width:15px; height:15px; color:var(--blue); flex:0 0 auto;}
        .deal-meta{display:flex; flex-wrap:wrap; gap:8px;}
        .chip{display:inline-flex; align-items:center; gap:6px; font-size:12.5px; color:#51606e;
            background:var(--bg-soft); border:1px solid var(--border); border-radius:20px; padding:4px 11px;}
        .chip svg{width:13px; height:13px; color:var(--blue);}
        .deal-price{flex:0 0 152px; background:linear-gradient(160deg,var(--blue) 0%,var(--blue-dark) 100%);
            color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center;
            padding:16px 10px; text-align:center;}
        .deal-price .was{font-size:12px; text-decoration:line-through; opacity:.8;}
        .deal-price .drop{font-size:11px; font-weight:700; background:#1eb85a; padding:2px 9px; border-radius:20px; margin:4px 0;}
        .deal-price .now{font-family:'Poppins',sans-serif; font-weight:800; font-size:29px; line-height:1;}
        .deal-price .rt{font-size:11px; opacity:.85; margin-top:2px;}
        .deal-price a{margin-top:10px; background:#fff; color:var(--blue); font-size:12px; font-weight:700;
            padding:6px 14px; border-radius:8px;}
        .demo-locked{position:relative; border:1.5px dashed #c3d3e6; border-radius:14px; padding:28px 22px;
            text-align:center; background:repeating-linear-gradient(45deg,#f5f9fd,#f5f9fd 12px,#eef4fb 12px,#eef4fb 24px);}
        .demo-locked .lockic{width:48px; height:48px; border-radius:50%; background:var(--blue); color:#fff;
            display:flex; align-items:center; justify-content:center; margin:0 auto 13px;}
        .demo-locked .lockic svg{width:22px; height:22px;}
        .demo-locked h4{font-size:18px; margin-bottom:7px;}
        .demo-locked p{font-size:14px; margin:0 auto 18px; max-width:460px;}
        .demo-note{text-align:center; font-size:13px; color:var(--muted); margin-top:16px;}
        @media (max-width:640px){
            .deal{flex-direction:column; margin-bottom:14px; border-radius:12px;}
            .deal-main{padding:14px 15px;}
            .deal-airline{margin-bottom:9px; gap:10px;}
            .deal-airline .ava-img{width:52px; height:42px;}
            .deal-airline .ava{width:42px; height:42px;}
            /* Stack the route: departure on top, plane pointing down, destination below */
            .deal-route{font-size:15px; margin-bottom:9px; flex-direction:column;
                align-items:flex-start; gap:3px;}
            .deal-route svg{transform:rotate(180deg); margin-left:2px;}
            .deal-meta{gap:6px;}
            .chip{font-size:11.5px; padding:4px 9px;}
            .deal-price{flex-basis:auto; flex-direction:row; flex-wrap:wrap; align-items:center;
                justify-content:flex-start; gap:6px 10px; padding:12px 15px; text-align:left;}
            .deal-price .was{display:none;}
            .deal-price .drop{margin:0;}
            .deal-price .now{font-size:23px;}
            .deal-price .rt{margin:0;}
            .deal-price a{margin-left:auto; margin-top:0; padding:9px 18px; font-size:13px;}
            /* Premium filters: title row, 3 even selects, full-width upsell */
            .demo-filters{gap:10px 8px; padding:14px 15px; align-items:center;}
            .demo-filters .pf-title{flex:1 1 100%; padding-bottom:2px;}
            .demo-filters .pf{flex:1 1 0; min-width:0;}
            .demo-filters .pf label{font-size:10.5px;}
            .demo-filters .pf select{width:100%; padding:8px 6px;}
            .demo-filters .pf-upsell{flex:1 1 100%; margin:4px 0 0; padding:0; text-align:center;}
            /* Locked teaser: full-width, wrapping upsell button */
            .demo-locked{padding:24px 16px;}
            .demo-locked h4{font-size:17px;}
            .demo-locked p{font-size:13.5px;}
            .demo-locked .btn{white-space:normal; width:100%; justify-content:center;
                font-size:14px; padding:12px 14px; line-height:1.3;}
        }

        /* Demo tabs */
        .demo-tabs{display:flex; background:var(--bg-soft); border-bottom:1px solid var(--border);}
        .demo-tab{flex:1; display:flex; align-items:center; justify-content:center; gap:9px; padding:16px 12px;
            background:transparent; border:0; cursor:pointer; font-family:'Inter',sans-serif; font-weight:600;
            font-size:15px; color:var(--muted); border-bottom:3px solid transparent; transition:color .15s ease, background .15s ease;}
        .demo-tab svg{width:19px; height:19px;}
        .demo-tab:hover{color:var(--heading);}
        .demo-tab.active{color:var(--blue); background:#fff; border-bottom-color:var(--blue);}

        /* Multi-select */
        .ms{position:relative;}
        .ms-toggle{display:flex; align-items:center; gap:8px; width:100%; min-height:46px; padding:8px 12px;
            border:1.5px solid var(--blue); border-radius:10px; background:#fff; cursor:pointer; font-size:14px; color:var(--heading);}
        .ms-val{flex:1; display:flex; flex-wrap:wrap; gap:5px; align-items:center; min-width:0;}
        .ms-ph{color:var(--muted); font-weight:500;}
        .ms-chip{background:var(--bg-blue); color:var(--blue); font-size:12px; font-weight:600; padding:2px 8px;
            border-radius:14px; display:inline-flex; align-items:center; gap:5px; white-space:nowrap;}
        .ms-chip i{cursor:pointer; font-style:normal; font-weight:700; opacity:.7;}
        .ms-chip i:hover{opacity:1;}
        .ms-caret{flex:0 0 auto; color:var(--blue); display:flex;}
        .ms-caret svg{width:14px; height:14px;}
        .ms-panel{display:none; position:absolute; z-index:30; top:calc(100% + 6px); left:0; right:0; background:#fff;
            border:1px solid var(--border); border-radius:10px; box-shadow:0 14px 30px rgba(16,44,71,.16);
            max-height:250px; overflow:auto; padding:6px;}
        .ms.open .ms-panel{display:block;}
        .ms .ms-opt{display:flex; align-items:center; gap:9px; margin:0; padding:8px 10px; border-radius:8px;
            cursor:pointer; font-size:14px; font-weight:500; line-height:1.2; text-transform:none;
            letter-spacing:normal; color:var(--heading);}
        .ms .ms-opt:hover{background:var(--bg-soft);}
        .ms .ms-opt input{accent-color:var(--blue); width:16px; height:16px; margin:0; flex:0 0 auto;}
        .ms .ms-opt small{color:var(--muted); margin-left:auto;}

        /* Dates */
        .date-row{display:flex; align-items:center; gap:7px;}
        /* Month selects: tighter padding + caret pulled in so "Jul 2026" fits, not clipped */
        .date-row .demo-select{flex:1; min-width:0; padding-left:11px; padding-right:24px;
            background-position:right 7px center;}
        .demo-date{flex:1; min-width:0; padding:12px 10px; border:1.5px solid var(--blue); border-radius:10px;
            font-family:'Inter',sans-serif; font-size:13px; color:var(--heading); background:#fff;}
        .date-sep{color:var(--muted); font-weight:700;}

        /* Premium (disabled) filters */
        .demo-filters{display:flex; align-items:flex-end; gap:14px; flex-wrap:wrap; padding:16px 26px;
            background:var(--bg-soft); border-bottom:1px solid var(--border);}
        .demo-filters .pf-title{display:flex; align-items:center; gap:7px; font-size:12px; font-weight:700;
            text-transform:uppercase; letter-spacing:.5px; color:var(--muted); padding-bottom:8px;}
        .demo-filters .pf-title svg{width:15px; height:15px; color:var(--blue);}
        .pf{display:flex; flex-direction:column; gap:4px; opacity:.6;}
        .pf label{font-size:11px; font-weight:600; color:var(--muted);}
        .pf select{padding:8px 10px; border:1px solid var(--border); border-radius:8px; background:#eef1f5;
            font-size:13px; color:#6b7684; cursor:not-allowed;}
        .pf-upsell{margin-left:auto; font-size:13px; font-weight:700; color:var(--blue); padding-bottom:8px;}
        .pf-upsell:hover{text-decoration:underline;}

        /* ===== Responsive ===== */
        @media (max-width:960px){
            .nav-links, .nav-actions .btn-outline{display:none;}
            .nav-toggle{display:block;}
            .nav-links.open{display:flex; position:absolute; top:72px; left:0; right:0; flex-direction:column;
                align-items:flex-start; background:#fff; border-bottom:1px solid var(--border);
                box-shadow:0 12px 24px rgba(16,44,71,.08); padding:18px 24px; gap:16px;}
            .nav-links.open .nav-cta-mobile{display:block; width:100%; margin-top:4px;}
            .nav-cta-mobile .btn{width:100%; justify-content:center; color:#fff;}
            .hero-inner{flex-direction:column; padding:44px 0 54px;}
            .hero h1{font-size:34px;}
            .step-arrow{display:none;}
            .demo-search .btn{flex:1 1 100%; justify-content:center;}
        }
        @media (max-width:600px){
            .section{padding:54px 0;}
            .wrap{padding:0 18px;}
            .hero h1{font-size:28px;}
            .section-title{font-size:25px;}
            .section-sub{font-size:15px;}
            .hero-cta .btn{flex:1 1 100%; justify-content:center;}
            .demo-top{padding:18px 18px;}
            .demo-search, .demo-results{padding:18px;}
            .demo-field{flex:1 1 100%;}
            .logo{font-size:19px;}
            .nav-actions .btn-primary{display:none;}
        }
.pricing-journey{max-width:600px;margin:0 auto 32px}.pricing-availability,.pricing-explainer{max-width:1034px;margin-left:auto;margin-right:auto}.pricing-explainer{margin-top:28px;color:#4e637a;font-size:14px;line-height:1.7}.pricing-explainer p{margin:10px 0}.price-card .pricing-renewal{font-size:12px;line-height:1.6;color:#536a85;margin:12px 0 0}.price-card .btn-unavailable{background:#eaf0f6;color:#536a85;border:1px solid #d5dfeb;cursor:default}.pricing .price-card{display:flex;flex-direction:column}.pricing .price-card .plan-list{flex:1}
