﻿    :root {
      --primary: #1fb7c8;
      --primary-dark: #1599a8;
      --navy: #0f2a5f;
      --navy-deep: #06101f;
      --gold: #d5a536;
      --gold-light: #f2c84a;
      --bg: #f2f6fc;
      --white: #fff;
      --muted: #7b86a0;
      --line: #e4eaf5;
      --shadow: 0 8px 24px rgba(15,42,95,.11);
      --font-apple: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
      --font-display: "Playfair Display", Georgia, "Times New Roman", serif;
      --ease-spring: cubic-bezier(.34,1.56,.64,1);
      --ease-smooth: cubic-bezier(.23,1,.32,1);
    }
    * { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; scroll-padding-top: 110px; }
    body { font-family: var(--font-apple); background: var(--bg); color: #1e2945; overflow-x: hidden; letter-spacing: -0.01em; }
    a { text-decoration: none; color: inherit; }
    section[id] { scroll-margin-top: 110px; }
    :focus-visible {
      outline: 3px solid rgba(31,183,200,.7);
      outline-offset: 2px;
    }
    a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
      box-shadow: 0 0 0 3px rgba(31,183,200,.2);
      border-radius: 10px;
    }

    .shell { width:100%; margin:0; padding:0; }
    .panel { width:100%; background:var(--white); overflow:visible; box-shadow:0 2px 40px rgba(15,42,95,.1); }

    /* NAV */
    .nav {
      display:flex; justify-content:space-between; align-items:center; gap:14px;
      padding:12px 20px;
      position:-webkit-sticky; position:sticky; top:10px; z-index:1200;
      margin:8px 14px 10px;
      border:1px solid rgba(255,255,255,.45);
      border-radius:18px;
      background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,255,255,.5));
      backdrop-filter:blur(18px) saturate(160%);
      -webkit-backdrop-filter:blur(18px) saturate(160%);
      box-shadow:0 16px 38px rgba(12,25,55,.14), inset 0 1px 0 rgba(255,255,255,.55);
    }
    .brand { display:flex; align-items:center; gap:10px; color:var(--navy); white-space:nowrap; }
    .logo-mark {
      width:250px;
      height:78px;
      flex-shrink:0;
      overflow:hidden;
      display:flex;
      align-items:center;
    }
    .logo-mark img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      transform: scale(1.75);
      transform-origin: center;
    }
    .links {
      list-style:none; display:flex; gap:4px;
      border:1px solid rgba(255,255,255,.4);
      border-radius:999px; padding:4px;
      background:rgba(245,250,255,.55);
      backdrop-filter:blur(10px);
    }
    .links a {
      padding:8px 13px; font-size:.7rem; text-transform:uppercase; border-radius:999px; color:#61708f;
      font-weight:700; letter-spacing:.03em; transition:all .28s ease;
    }
    .links a.active,.links a:hover {
      background:linear-gradient(135deg,rgba(9,30,74,.92),rgba(22,75,151,.86));
      color:#fff;
      box-shadow:0 6px 14px rgba(9,30,74,.28);
    }
    .nav-btn {
      border:0; border-radius:999px; padding:11px 20px;
      background:linear-gradient(135deg,var(--primary),#1a7cd0); color:#fff;
      font-size:.72rem; font-weight:700; text-transform:uppercase; cursor:pointer;
      letter-spacing:.05em; box-shadow:0 4px 14px rgba(31,183,200,.35);
      transition:transform .2s,box-shadow .2s;
    }
    .nav-btn:hover { transform:translateY(-1px); box-shadow:0 6px 20px rgba(31,183,200,.45); }
    .menu {
      display:none; border:1px solid rgba(255,255,255,.45);
      background:rgba(245,250,255,.62);
      width:42px; height:42px; border-radius:50%;
      font-size:1.02rem; color:var(--navy); cursor:pointer;
      align-items:center; justify-content:center;
      backdrop-filter:blur(10px);
      transition:all .3s ease;
    }
    .menu:hover { background:rgba(255,255,255,.84); transform:translateY(-1px); }
    .menu i { transition:transform .32s ease, color .32s ease; }
    .menu.open i { transform:rotate(90deg) scale(1.06); color:#1a7cd0; }
    .menu-credit { display:none; }

    /* HERO */
    .hero { padding:14px 18px 22px; }
    .hero-card {
      min-height:390px; border-radius:22px; overflow:hidden;
      display:grid; grid-template-columns:1.1fr .9fr;
      background:linear-gradient(110deg,rgba(6,16,40,.74),rgba(15,42,95,.2)),
        url("https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?auto=format&fit=crop&w=1600&q=80") center/cover;
      position:relative;
    }
    .hero-card::after {
      content:""; position:absolute;
      width:3px; height:100%; top:0; left:-5%;
      background:linear-gradient(to bottom,transparent,rgba(31,183,200,.6),transparent);
      animation:scan 6s ease-in-out infinite;
      pointer-events:none;
    }
    @keyframes scan { 0%{left:-5%;opacity:0} 10%{opacity:1} 90%{opacity:1} 100%{left:108%;opacity:0} }
    .hero-left {
      color:#fff; padding:50px 38px;
      display:flex; flex-direction:column; justify-content:center; gap:14px;
      position:relative; z-index:1;
    }
    .eyebrow {
      display:inline-flex; align-items:center; gap:8px;
      background:rgba(31,183,200,.18); border:1px solid rgba(31,183,200,.38);
      border-radius:999px; padding:5px 14px; width:fit-content;
      font-size:.63rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:#7de8f4;
      animation:glow 3.5s ease-in-out infinite;
    }
    @keyframes glow { 0%,100%{box-shadow:0 0 0 0 rgba(31,183,200,0)} 50%{box-shadow:0 0 0 7px rgba(31,183,200,.1)} }
    .hero-left h1 {
      font-family: var(--font-apple);
      font-size:clamp(2.1rem,5vw,3.8rem); line-height:1.04; font-weight:800;
    }
    .hero-left h1 em { font-style:normal; color:var(--gold-light); }
    .hero-left p { max-width:440px; color:#cfe3ff; font-size:.9rem; line-height:1.68; }
    .hero-actions { display:flex; gap:10px; margin-top:6px; flex-wrap:wrap; }
    .btn {
      border:0; border-radius:999px; padding:12px 20px;
      font-size:.74rem; font-weight:700; text-transform:uppercase; cursor:pointer;
      display:inline-flex; align-items:center; gap:7px; letter-spacing:.04em; transition:all .22s;
    }
    .btn-blue { background:linear-gradient(135deg,#1ab8e3,#1a7cd0); color:#fff; box-shadow:0 5px 16px rgba(26,184,227,.36); }
    .btn-blue:hover { transform:translateY(-2px); box-shadow:0 8px 22px rgba(26,184,227,.48); }
    .btn-white { background:rgba(255,255,255,.95); color:var(--navy); }
    .btn-white:hover { background:#fff; transform:translateY(-2px); }
    .btn-gold { background:linear-gradient(135deg,var(--gold),#b8891a); color:#fff; box-shadow:0 5px 16px rgba(213,165,54,.38); }
    .btn-gold:hover { transform:translateY(-2px); box-shadow:0 8px 22px rgba(213,165,54,.5); }
    .trust-row { display:flex; gap:14px; flex-wrap:wrap; }
    .trust-item { display:flex; align-items:center; gap:5px; font-size:.62rem; color:#bdd9ea; font-weight:600; }
    .trust-item i { color:var(--primary); }
    .hero-right { display:flex; justify-content:flex-end; align-items:flex-end; padding:24px; position:relative; z-index:1; }
    .mini-about {
      width:290px; background:rgba(255,255,255,.97); border-radius:18px; padding:16px;
      box-shadow:0 16px 42px rgba(9,23,52,.28); backdrop-filter:blur(12px);
    }
    .mini-about h3 { color:var(--navy); font-size:.88rem; margin-bottom:6px; font-weight:800; }
    .mini-about p { color:var(--muted); font-size:.71rem; line-height:1.55; margin-bottom:10px; }
    .mini-line { border:1px solid var(--line); border-radius:10px; padding:9px; display:flex; gap:8px; align-items:center; font-size:.7rem; color:#7f8ba7; font-weight:600; }
    .mini-dot { width:30px; height:30px; border-radius:50%; background:linear-gradient(145deg,#dce8ff,#f3f7ff); color:var(--primary); display:grid; place-items:center; flex-shrink:0; }

    /* PARTNERS */
    .partners {
      display:flex; gap:22px; flex-wrap:wrap; align-items:center;
      padding:10px 22px 20px; border-bottom:1px solid var(--line); color:#9aa4bb; font-size:.8rem;
    }
    .socials { display:flex; gap:8px; align-items:center; }
    .s { width:28px; height:28px; border-radius:50%; border:1px solid var(--line); display:grid; place-items:center; color:#7482a0; font-size:.7rem; transition:all .2s; cursor:pointer; }
    .s:hover { border-color:var(--primary); color:var(--primary); background:#f0fbfc; }
    .ptag { display:flex; align-items:center; gap:5px; font-size:.73rem; color:#6e7b99; font-weight:600; }
    .ptag i { color:var(--primary); font-size:.64rem; }

    /* SECTIONS */
    .section { padding:32px 26px; }
    .head { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:20px; }
    .head h2 { font-size:1.95rem; color:var(--navy); line-height:1.1; font-weight:800; }
    .head-sub { font-size:.76rem; color:#5f6f90; margin-top:3px; }
    .pager { display:flex; gap:8px; flex-shrink:0; }
    .pager button { width:30px; height:30px; border-radius:50%; border:1px solid var(--line); background:#fff; color:#8a95ae; cursor:pointer; transition:all .2s; }
    .pager button:last-child { background:var(--navy); color:#fff; border-color:var(--navy); }

    /* DESTINATIONS */
    .dest-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
    .dest { border:1px solid var(--line); border-radius:16px; overflow:hidden; background:#fff; transition:transform .3s,box-shadow .3s; }
    .dest:hover { transform:translateY(-4px); box-shadow:0 16px 32px rgba(15,42,95,.12); }
    .dest-img { height:118px; background-size:cover; background-position:center; position:relative; overflow:hidden; }
    .dest-img::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(9,26,61,.42),transparent); }
    .dest-body { padding:12px; }
    .dest h3 { font-size:.82rem; color:var(--navy); margin-bottom:4px; font-weight:700; }
    .dest p { color:var(--muted); font-size:.66rem; line-height:1.55; min-height:36px; }
    .tiny-btn { margin-top:9px; border:0; border-radius:999px; background:linear-gradient(135deg,var(--primary),#1a88d6); color:#fff; font-size:.62rem; font-weight:700; padding:7px 14px; cursor:pointer; transition:all .2s; }
    .tiny-btn:hover { transform:translateY(-1px); box-shadow:0 4px 12px rgba(31,183,200,.3); }

    /* PACKAGES */
    .pkg-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
    .pkg { border:1px solid var(--line); border-radius:18px; background:#fff; padding:18px; box-shadow:0 5px 16px rgba(15,42,95,.06); transition:transform .3s,box-shadow .3s; }
    .pkg:hover { transform:translateY(-3px); box-shadow:0 14px 30px rgba(15,42,95,.12); }
    .pkg-badge { display:inline-block; font-size:.6rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; border-radius:999px; padding:3px 10px; margin-bottom:8px; }
    .badge-entry { background:#eef6ff; color:#2a6fc8; }
    .badge-pro { background:rgba(255,255,255,.2); color:rgba(255,255,255,.9); border:1px solid rgba(255,255,255,.3); }
    .badge-group { background:#fff4e5; color:#b86b1a; }
    .pkg h3 { color:var(--navy); font-size:1.1rem; margin-bottom:6px; font-weight:700; }
    .pkg .price { font-size:1.95rem; font-weight:800; color:#199fe0; line-height:1; margin-bottom:8px; }
    .pkg .price small { font-size:.74rem; color:var(--muted); font-weight:500; }
    .pkg > p { color:var(--muted); font-size:.78rem; margin-bottom:12px; min-height:38px; }
    .pkg ul { list-style:none; display:grid; gap:7px; margin-bottom:14px; }
    .pkg li { font-size:.74rem; color:#3b4766; display:flex; align-items:center; gap:7px; }
    .pkg li i { color:var(--primary); width:14px; flex-shrink:0; }
    .pkg.featured {
      background:linear-gradient(145deg,#0d2f7a,#1a62b5,#17aed8);
      border:0; transform:translateY(-7px);
      box-shadow:0 22px 44px rgba(13,47,122,.35);
    }
    .pkg.featured:hover { transform:translateY(-11px); box-shadow:0 28px 54px rgba(13,47,122,.44); }
    .pkg.featured h3,.pkg.featured .price,.pkg.featured > p,.pkg.featured li { color:#fff; }
    .pkg.featured .price small { color:#b8e0ff; }
    .pkg.featured li i { color:#7ee8f5; }
    .pkg.featured .tiny-btn { background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.3); color:#fff; }
    .pkg.featured .tiny-btn:hover { background:rgba(255,255,255,.24); }

    /* BOOKING PROCESS */
    .process { text-align:center; background:linear-gradient(180deg,#f8faff,#fff); }
    .process h2 { color:var(--navy); font-size:1.95rem; margin-bottom:4px; font-weight:800; }
    .process > p { color:#9ca6bc; font-size:.76rem; margin-bottom:24px; }
    .p-grid { display:grid; grid-template-columns:1fr 1.18fr 1fr; gap:16px; align-items:center; }
    .p-card { border:1px solid var(--line); border-radius:18px; min-height:130px; background:#f6f9ff; text-align:left; padding:20px 18px; transition:transform .25s,box-shadow .25s; }
    .p-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
    .p-card strong { display:block; margin-top:8px; color:#2a3554; font-size:1rem; font-weight:700; }
    .p-hot { border:0; min-height:180px; background:linear-gradient(145deg,#0d2f7a,#1a62b5,#17aed8); color:#fff; box-shadow:0 18px 36px rgba(13,47,122,.3); }
    .p-hot p { color:#cfe8ff; font-size:.74rem; margin:10px 0 14px; }
    .idx { width:28px; height:28px; border-radius:50%; border:1px solid rgba(255,255,255,.4); display:grid; place-items:center; font-size:.7rem; }
    .p-card:not(.p-hot) .idx { border-color:var(--line); color:var(--muted); }

    /* ABOUT */
    .about-grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:30px; align-items:center; }
    .about-img {
      min-height:290px; border-radius:24px; overflow:hidden; position:relative;
      background:
        #fff url("logo.png") center/125% no-repeat;
      border: 1px solid var(--line);
    }
    .about h2 { font-size:2.15rem; color:var(--navy); font-weight:800; }
    .about p { margin-top:10px; color:#7f89a3; font-size:.84rem; line-height:1.76; }
    .about-row { margin-top:18px; display:flex; align-items:center; gap:12px; justify-content:space-between; }
    .profile { border:1px solid var(--line); border-radius:12px; padding:9px 12px; display:flex; align-items:center; gap:9px; flex:1; max-width:255px; }
    .profile b { font-size:.7rem; color:#445070; display:block; }
    .profile small { font-size:.62rem; color:#8f9ab4; }

    /* ACHIEVEMENTS */
    .ach-wrap { display:grid; grid-template-columns:1fr 1fr; gap:26px; align-items:center; }
    .ach h2 { font-size:2.1rem; color:var(--navy); margin-bottom:8px; font-weight:800; }
    .ach p { color:#7e88a1; font-size:.82rem; margin-bottom:18px; max-width:450px; }
    .stats { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; max-width:400px; }
    .stat { border:1px solid var(--line); border-radius:12px; padding:14px 10px; background:#fff; text-align:center; transition:transform .25s,box-shadow .25s; }
    .stat:hover { transform:translateY(-2px); box-shadow:var(--shadow); }
    .stat.hot { border-color:transparent; background:linear-gradient(145deg,#1bb9e2,#1f7bd2); color:#fff; box-shadow:0 8px 22px rgba(31,183,200,.28); }
    .stat strong { display:block; font-size:1.18rem; font-weight:800; }
    .stat span { font-size:.62rem; color:#8a95ae; }
    .stat.hot span { color:#c8eeff; }
    .visual {
      min-height: 320px;
      border-radius: 28px;
      position: relative;
      overflow: hidden;
      padding: 20px 14px;
      display: flex;
      align-items: center;
      justify-content: center;
      background:
        radial-gradient(circle at 20% 18%, rgba(31,183,200,.26), transparent 42%),
        radial-gradient(circle at 86% 80%, rgba(213,165,54,.2), transparent 38%),
        linear-gradient(145deg, #0b1f4f 0%, #102f6f 45%, #0f2045 100%);
    }
    .ach-trophy-scene {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      width: 100%;
    }
    .ach-trophy-wrapper {
      position: relative;
      width: 200px;
      height: 200px;
      animation: achFloat 3.5s ease-in-out infinite;
      filter: drop-shadow(0 18px 30px rgba(13,43,92,.4)) drop-shadow(0 10px 24px rgba(31,183,200,.2));
    }
    .ach-trophy-wrapper::before {
      content: "";
      position: absolute;
      inset: -18px;
      background: radial-gradient(circle, rgba(31,183,200,.2) 0%, rgba(9,32,80,.0) 62%);
      filter: blur(0);
      z-index: 0;
      pointer-events: none;
    }
    .ach-trophy-wrapper .ach-particles { z-index: 1; }
    .ach-trophy-wrapper .ach-trophy-svg { z-index: 3; }
    .ach-trophy-wrapper .ach-glow-ring { z-index: 2; }
    .ach-trophy-svg {
      width: 100%;
      height: 100%;
      overflow: visible;
    }
    .ach-particles { z-index: 1; }
    .ach-glow-ring {
      position: absolute;
      bottom: -18px;
      left: 50%;
      transform: translateX(-50%);
      width: 104px;
      height: 18px;
      background: radial-gradient(ellipse, rgba(31,183,200,.5) 0%, rgba(213,165,54,.18) 45%, transparent 78%);
      animation: achGlowPulse 3.5s ease-in-out infinite;
    }
    .ach-particles {
      position: absolute;
      inset: 0;
      pointer-events: none;
    }
    .ach-spark {
      position: absolute;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: radial-gradient(circle, #fff, rgba(31,183,200,.0));
      animation: achSpark 3.2s ease-in-out infinite;
    }
    .ach-spark.s1 { top: 16%; left: 12%; }
    .ach-spark.s2 { top: 30%; right: 10%; animation-delay: .6s; }
    .ach-spark.s3 { bottom: 22%; right: 18%; animation-delay: 1.1s; }
    .ach-spark.s4 { bottom: 18%; left: 20%; animation-delay: 1.6s; }
    .ach-label-block {
      text-align: center;
      margin-top: 14px;
    }
    .ach-label-title {
      font-size: 20px;
      font-weight: 700;
      letter-spacing: 2px;
      text-transform: uppercase;
      background: linear-gradient(135deg, #8defff 0%, #53c9f1 35%, #f0c85d 68%, #ffd975 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    .ach-label-sub {
      font-size: 11px;
      color: rgba(255,255,255,.5);
      letter-spacing: 2px;
      margin-top: 3px;
      text-transform: uppercase;
    }
    @keyframes achFloat {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-10px); }
    }
    @keyframes achGlowPulse {
      0%, 100% { opacity: .6; transform: translateX(-50%) scaleX(.85); }
      50% { opacity: 1; transform: translateX(-50%) scaleX(1.1); }
    }
    @keyframes achSpark {
      0%, 100% { opacity: .25; transform: scale(.6); }
      50% { opacity: 1; transform: scale(1.15); }
    }

    /* TESTIMONIALS */
    .testimonials { background:linear-gradient(135deg,#f4f8ff,#edf2fb); padding:40px 26px; }
    .testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
    .testi { background:#fff; border-radius:18px; padding:20px; box-shadow:0 4px 16px rgba(15,42,95,.06); border:1px solid var(--line); transition:transform .3s,box-shadow .3s; }
    .testi:hover { transform:translateY(-4px); box-shadow:0 14px 32px rgba(15,42,95,.11); }
    .testi-stars { color:#f5a623; font-size:.74rem; margin-bottom:10px; letter-spacing:2px; }
    .testi p { color:#4e5e7a; font-size:.8rem; line-height:1.72; font-style:italic; margin-bottom:14px; }
    .testi-author { display:flex; align-items:center; gap:10px; }
    .testi-av { width:36px; height:36px; border-radius:50%; background:linear-gradient(135deg,var(--primary),#1a7cd0); color:#fff; font-size:.74rem; font-weight:700; display:grid; place-items:center; flex-shrink:0; }
    .testi-name { font-size:.76rem; color:var(--navy); font-weight:700; }
    .testi-role { font-size:.63rem; color:#5f6f90; }

    /* FAQ */
    .faq-section {
      margin:30px 26px 0;
      padding:34px 22px;
      border-radius:24px;
      border:1px solid rgba(255,255,255,.24);
      background:
        linear-gradient(135deg, rgba(21,45,96,.82) 0%, rgba(8,24,58,.76) 48%, rgba(15,79,120,.7) 100%),
        radial-gradient(circle at 12% 10%, rgba(102,216,255,.25), transparent 38%),
        radial-gradient(circle at 86% 75%, rgba(255,203,112,.16), transparent 42%);
      backdrop-filter: blur(18px) saturate(150%);
      -webkit-backdrop-filter: blur(18px) saturate(150%);
      box-shadow: 0 18px 42px rgba(5,16,43,.36), inset 0 1px 0 rgba(255,255,255,.18);
      color:#eaf5ff;
    }
    .faq-head h2 { color:#fff; font-size:1.9rem; font-weight:800; }
    .faq-head p { margin-top:6px; color:#c8dcf6; font-size:.8rem; }
    .faq-grid { margin-top:18px; display:grid; gap:10px; }
    .faq-item {
      border:1px solid rgba(255,255,255,.2);
      border-radius:14px;
      overflow:hidden;
      background:rgba(255,255,255,.08);
    }
    .faq-item summary {
      cursor:pointer;
      list-style:none;
      padding:13px 14px;
      font-weight:700;
      font-size:.8rem;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      color:#f3f9ff;
    }
    .faq-item summary::-webkit-details-marker { display:none; }
    .faq-item summary::after {
      content:"+";
      font-size:1rem;
      color:#7ee8f5;
      transition:transform .25s ease;
    }
    .faq-item[open] summary::after { transform:rotate(45deg); }
    .faq-item p {
      padding:0 14px 13px;
      color:#d2e5fa;
      font-size:.78rem;
      line-height:1.62;
    }

    /* CTA */
    .finish {
      text-align:center; margin:0 26px 0;
      background:linear-gradient(135deg,#07183a,#103070,#185faa);
      color:#fff; border-radius:22px; padding:38px 20px; position:relative; overflow:hidden;
    }
    .finish::before { content:""; position:absolute; width:500px; height:500px; border-radius:50%; background:radial-gradient(circle,rgba(31,183,200,.2) 0%,transparent 70%); top:-200px; left:-80px; pointer-events:none; }
    .finish::after { content:""; position:absolute; width:280px; height:280px; border-radius:50%; background:radial-gradient(circle,rgba(213,165,54,.12) 0%,transparent 70%); bottom:-80px; right:6%; pointer-events:none; }
    .finish h2 { font-size:2.1rem; margin-bottom:8px; font-family:var(--font-apple); position:relative; z-index:1; }
    .finish p { color:#c8deff; font-size:.86rem; margin-bottom:18px; position:relative; z-index:1; }
    .finish .btn { position:relative; z-index:1; margin:0 auto; }

    /* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
       FOOTER â€” FULL REDESIGN
    â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
    .site-footer {
      background:linear-gradient(155deg,#04091a 0%,#0b1e4e 40%,#091e45 70%,#04091a 100%);
      color:#fff; position:relative; overflow:hidden; margin-top:12px;
    }
    .site-footer::before { content:""; position:absolute; width:600px; height:600px; border-radius:50%; background:radial-gradient(circle,rgba(31,183,200,.1) 0%,transparent 65%); top:-200px; left:-120px; pointer-events:none; }
    .site-footer::after { content:""; position:absolute; width:400px; height:400px; border-radius:50%; background:radial-gradient(circle,rgba(213,165,54,.07) 0%,transparent 65%); bottom:0; right:4%; pointer-events:none; }

    .footer-main {
      position:relative; z-index:1;
      display:grid; grid-template-columns:1.7fr 1fr 1fr; gap:44px;
      padding:54px 40px 40px;
    }
    .footer-brand .flogo {
      width: 190px;
      height: 60px;
      margin-bottom: 12px;
      display: flex;
      align-items: center;
      overflow: hidden;
    }
    .footer-brand .flogo img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      transform: scale(1.8);
      transform-origin: center;
    }
    .footer-brand p { color:#7a90b5; font-size:.78rem; line-height:1.76; max-width:300px; margin-bottom:18px; }
    .footer-socials { display:flex; gap:9px; margin-bottom:18px; }
    .fsoc { width:34px; height:34px; border-radius:50%; border:1px solid rgba(255,255,255,.12); display:grid; place-items:center; color:#7a90b5; font-size:.78rem; transition:all .2s; }
    .fsoc:hover { border-color:var(--primary); color:var(--primary); background:rgba(31,183,200,.1); }
    .fcontact { display:flex; flex-direction:column; gap:9px; }
    .fcitem { display:flex; align-items:center; gap:9px; font-size:.74rem; color:#7a90b5; }
    .fcitem i { color:var(--primary); width:13px; }
    .fcitem a { color:#7a90b5; transition:color .2s; }
    .fcitem a:hover { color:#fff; }
    .footer-col h4 { font-size:.76rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#fff; margin-bottom:18px; position:relative; padding-bottom:10px; }
    .footer-col h4::after { content:""; position:absolute; bottom:0; left:0; width:26px; height:2px; background:linear-gradient(to right,var(--primary),var(--gold)); border-radius:999px; }
    .footer-col ul { list-style:none; display:flex; flex-direction:column; gap:10px; }
    .footer-col ul li a { font-size:.76rem; color:#7a90b5; display:flex; align-items:center; gap:7px; transition:all .2s; }
    .footer-col ul li a::before { content:"â€º"; font-size:1rem; color:var(--primary); line-height:1; }
    .footer-col ul li a:hover { color:#fff; padding-left:4px; }

    /* Payment section */
    .footer-payment {
      position:relative; z-index:1;
      padding:40px 40px 0;
      display:grid; grid-template-columns:1fr 1.1fr; gap:40px; align-items:center;
    }
    .payment-section {
      margin-top: 30px;
      background: linear-gradient(145deg, #eef4ff, #f8fbff);
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
      padding-bottom: 52px;
      margin-bottom: 22px;
    }
    .pay-copy h3 { font-size:1.5rem; font-weight:800; margin-bottom:10px; font-family:var(--font-apple); }
    .pay-copy p { color:#7a90b5; font-size:.8rem; line-height:1.72; margin-bottom:18px; max-width:380px; }
    .pay-steps { display:flex; flex-direction:column; gap:12px; margin-bottom:20px; }
    .pay-step { display:flex; align-items:flex-start; gap:10px; }
    .pay-num { width:22px; height:22px; border-radius:50%; flex-shrink:0; margin-top:1px; background:linear-gradient(135deg,var(--primary),#1a7cd0); font-size:.6rem; font-weight:700; display:grid; place-items:center; }
    .pay-step span { font-size:.74rem; color:#7a90b5; line-height:1.55; }

    /* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
       METALLIC BANK CARD
    â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
    .card-wrap { perspective:900px; }
    .bank-card {
      position:relative;
      border-radius:20px;
      padding:22px 22px 20px;
      width:100%; max-width:380px; min-height:215px;
      display:flex; flex-direction:column; justify-content:space-between;
      cursor:default; overflow:hidden;

      /* Dark titanium base */
      background:
        repeating-linear-gradient(
          94deg,
          transparent 0px, transparent 2px,
          rgba(255,255,255,.016) 2px, rgba(255,255,255,.016) 5px
        ),
        linear-gradient(
          128deg,
          #090d1c 0%, #10172e 6%, #1c2645 13%,
          #0d1526 22%, #0b1322 32%,
          #182340 42%, #0e1a30 52%,
          #18233e 62%, #0a1220 74%,
          #192440 85%, #080d1a 100%
        );

      border:1px solid rgba(90,130,195,.2);
      box-shadow:
        0 34px 72px rgba(0,0,0,.8),
        0 10px 24px rgba(0,0,0,.55),
        inset 0 1px 0 rgba(255,255,255,.12),
        inset 0 -1px 0 rgba(0,0,0,.5),
        inset 1px 0 0 rgba(255,255,255,.04);

      transition:transform .55s cubic-bezier(.23,1,.32,1), box-shadow .55s ease;
      transform-style:preserve-3d;
    }

    /* Main gloss sweep */
    .bank-card::before {
      content:""; position:absolute; inset:0; border-radius:20px;
      background:linear-gradient(
        138deg,
        rgba(255,255,255,.14) 0%,
        rgba(255,255,255,.04) 22%,
        transparent 48%,
        rgba(255,255,255,.03) 76%,
        rgba(255,255,255,.07) 100%
      );
      pointer-events:none; z-index:1;
    }

    /* Animated shimmer */
    .bank-card::after {
      content:""; position:absolute; inset:0; border-radius:20px;
      background:linear-gradient(
        108deg,
        transparent 28%,
        rgba(255,255,255,.06) 44%,
        rgba(255,255,255,.15) 50%,
        rgba(255,255,255,.06) 56%,
        transparent 72%
      );
      background-size:300% 100%;
      background-position:-100% 0;
      animation:metalShimmer 5s ease-in-out infinite;
      pointer-events:none; z-index:2;
    }
    @keyframes metalShimmer {
      0%,100%{background-position:-100% 0;opacity:0}
      12%{opacity:1}
      55%{background-position:220% 0}
      68%{opacity:0}
    }

    .bank-card:hover {
      transform:translateY(-12px) rotateX(6deg) rotateY(-6deg) scale(1.015);
      box-shadow:
        0 44px 86px rgba(0,0,0,.85),
        0 12px 30px rgba(0,0,0,.65),
        inset 0 1px 0 rgba(255,255,255,.16),
        inset 0 -1px 0 rgba(0,0,0,.6);
    }

    /* Holographic top stripe */
    .card-holo {
      position:absolute; top:0; left:0; right:0; height:3px; border-radius:20px 20px 0 0; z-index:5;
      background:linear-gradient(90deg,
        transparent 0%,
        rgba(31,183,200,.9) 18%,
        rgba(213,165,54,1) 32%,
        rgba(255,100,200,.8) 46%,
        rgba(100,180,255,.9) 60%,
        rgba(31,183,200,.9) 75%,
        transparent 100%
      );
      background-size:200% 100%;
      animation:holo 5s linear infinite;
    }
    @keyframes holo { 0%{background-position:0%} 100%{background-position:200%} }

    /* Inner content layer */
    .card-inner { position:relative; z-index:4; display:flex; flex-direction:column; height:100%; }
    .card-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }
    .card-brand-name { font-size:.62rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
    .card-brand-name span { display:block; color:rgba(170,200,240,.65); font-size:.56rem; }
    .card-brand-name strong { color:rgba(210,230,255,.88); font-size:.74rem; letter-spacing:.06em; }

    /* EMV Chip */
    .chip {
      width:42px; height:32px; border-radius:6px; position:relative; overflow:hidden;
      background:linear-gradient(135deg,#c8961e 0%,#f0c840 18%,#b08520 38%,#e8b830 56%,#c49020 74%,#f2cc50 100%);
      box-shadow:0 2px 8px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.35),inset 0 -1px 0 rgba(0,0,0,.3);
    }
    .chip::before {
      content:""; position:absolute; inset:0;
      background:
        linear-gradient(to bottom,rgba(255,255,255,.22) 0%,transparent 55%),
        repeating-linear-gradient(90deg,rgba(0,0,0,.1) 0,rgba(0,0,0,.1) 1px,transparent 1px,transparent 8px),
        repeating-linear-gradient(0deg,rgba(0,0,0,.1) 0,rgba(0,0,0,.1) 1px,transparent 1px,transparent 8px);
    }
    .chip::after { content:""; position:absolute; width:18px; height:14px; border:1px solid rgba(0,0,0,.18); border-radius:2px; left:50%; top:50%; transform:translate(-50%,-50%); background:rgba(0,0,0,.05); }

    .card-nfc { font-size:.88rem; color:rgba(140,175,230,.35); }
    .card-fields { display:flex; flex-direction:column; gap:10px; }
    .cfl { font-size:.52rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:rgba(110,155,210,.55); margin-bottom:2px; }
    .cfv { font-size:.92rem; font-weight:700; color:rgba(220,238,255,.9); letter-spacing:.05em; text-shadow:0 1px 3px rgba(0,0,0,.5); }
    .cfv.mono { font-family:"Courier New",monospace; font-size:.9rem; letter-spacing:.12em; }
    .cfv.swift { letter-spacing:.2em; font-size:.86rem; }
    .card-bottom-row { display:flex; gap:26px; }

    /* Corner glows */
    .cglow { position:absolute; width:90px; height:90px; border-radius:50%; pointer-events:none; z-index:0; }
    .cglow.tl { top:-25px; left:-25px; background:radial-gradient(circle,rgba(31,183,200,.12) 0%,transparent 70%); }
    .cglow.br { bottom:-25px; right:-25px; background:radial-gradient(circle,rgba(213,165,54,.1) 0%,transparent 70%); }

    /* FOOTER BOTTOM */
    .footer-bottom {
      position:relative; z-index:1; padding:22px 40px 30px;
      display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;
      border-top:1px solid rgba(255,255,255,.06); margin-top:0;
    }
    .footer-bottom p { font-size:.71rem; color:#4e627e; }
    .foot-badges { display:flex; gap:8px; flex-wrap:wrap; }
    .foot-badge { font-size:.61rem; padding:5px 11px; border-radius:999px; border:1px solid rgba(255,255,255,.1); color:#4e627e; display:flex; align-items:center; gap:5px; }
    .foot-badge i { color:var(--primary); }
    .credit-pill { display:inline-flex; flex-direction:column; justify-content:center; gap:8px; align-items:center; border:1px solid rgba(255,255,255,.1); border-radius:999px; padding:10px 18px; color:#4e627e; font-size:.66rem; background:rgba(255,255,255,.04); text-align:center; margin-inline:auto; }
    .credit-pill i { color:var(--gold); }
    .devlab-link { display:inline-flex; align-items:center; line-height:1; }
    .devlab-logo { height:28px; width:auto; display:block; }

    /* FLOAT */
    .float { position:fixed; right:16px; bottom:16px; z-index:40; display:grid; gap:10px; }
    .float a { width:50px; height:50px; border-radius:50%; display:grid; place-items:center; color:#fff; box-shadow:0 6px 18px rgba(0,0,0,.28); transition:transform .22s,box-shadow .22s; }
    .float a:hover { transform:translateY(-3px) scale(1.06); box-shadow:0 10px 24px rgba(0,0,0,.36); }
    .wa{background:#25d366} .ph{background:var(--primary)} .em{background:var(--gold)}

    /* MODAL */
    .modal { position:fixed; inset:0; background:rgba(4,10,28,.76); display:none; align-items:center; justify-content:center; z-index:60; padding:16px; backdrop-filter:blur(8px); }
    .modal.show { display:flex; }
    .m-card { width:100%; max-width:560px; background:#fff; border-radius:22px; padding:24px; box-shadow:0 30px 70px rgba(0,0,0,.45); }
    .m-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
    .m-head h3 { color:var(--navy); font-size:1.2rem; font-weight:800; }
    .x { border:0; background:#eff3fb; color:#607094; width:32px; height:32px; border-radius:50%; cursor:pointer; font-size:.85rem; }
    .form { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
    .full { grid-column:1/-1; }
    .form input,.form select,.form textarea { width:100%; border:1px solid var(--line); border-radius:10px; padding:10px 12px; font:inherit; font-size:.83rem; color:#253155; transition:border-color .2s,box-shadow .2s; }
    .form input:focus,.form select:focus,.form textarea:focus { outline:none; border-color:var(--primary); box-shadow:0 0 0 3px rgba(31,183,200,.12); }
    .form textarea { min-height:84px; resize:vertical; }
    .form button { border:0; border-radius:999px; padding:13px; font-weight:700; color:#fff; background:linear-gradient(135deg,var(--primary),#1d84d2); cursor:pointer; font-size:.84rem; }
    .form-error { border-color:#d54f60 !important; box-shadow:0 0 0 3px rgba(213,79,96,.14) !important; }
    .form-message {
      grid-column:1/-1;
      display:none;
      border-radius:10px;
      padding:9px 11px;
      font-size:.75rem;
      line-height:1.45;
    }
    .form-message.show { display:block; }
    .form-message.error { background:#fff1f4; color:#8e1f33; border:1px solid #f0b5c1; }
    .form-message.success { background:#edf9f3; color:#146040; border:1px solid #bde7cf; }

    /* REVEAL */
    .reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease,transform .7s ease; }
    .reveal.show { opacity:1; transform:translateY(0); }
    .hero-card,.partners,.section,.testimonials,.finish { opacity:0; transform:translateY(20px); animation:rise .8s ease forwards; }
    .hero-card{animation-delay:.06s} .partners{animation-delay:.14s}
    .section:nth-of-type(1){animation-delay:.22s} .section:nth-of-type(2){animation-delay:.28s}
    .section:nth-of-type(3){animation-delay:.34s} .section:nth-of-type(4){animation-delay:.4s}
    .section:nth-of-type(5){animation-delay:.46s} .testimonials{animation-delay:.52s} .finish{animation-delay:.58s}
    @keyframes rise { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }

    /* RESPONSIVE */
    @media(max-width:1020px){
      html{scroll-padding-top:95px;}
      .nav{top:8px;margin:8px 10px 8px;padding:10px 12px;}
      .links{
        position:absolute; top:calc(100% + 10px); left:0; right:0; z-index:40;
        flex-direction:column; gap:6px; border-radius:16px; padding:10px;
        background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(236,245,255,.56));
        border:1px solid rgba(255,255,255,.5);
        box-shadow:0 22px 34px rgba(9,23,52,.2);
        backdrop-filter:blur(16px) saturate(160%);
        opacity:0; visibility:hidden; pointer-events:none;
        transform:translateY(-8px) scale(.98);
        max-height:0; overflow:hidden;
        transition:opacity .28s ease, transform .28s ease, max-height .34s ease, visibility .28s ease;
      }
      .links.show{
        opacity:1; visibility:visible; pointer-events:auto;
        transform:translateY(0) scale(1);
        max-height:460px;
      }
      .links a{display:block; width:100%; padding:11px 12px; border-radius:12px;}
      .menu-credit{
        display:block;
        margin-top:4px; padding:12px 10px 6px;
        border-top:1px solid rgba(95,124,175,.2);
        font-size:.64rem; letter-spacing:.01em;
        color:#60749a; text-align:center;
        font-family:var(--font-apple); font-weight:600;
      }
      .menu-credit span{
        display:block; margin-top:2px;
        font-size:.7rem; color:#224684; font-weight:700;
      }
      .menu-credit .devlab-link{ justify-content:center; margin-top:8px; width:100%; }
      .menu-credit .devlab-logo{ height:34px; margin-inline:auto; }
      .menu{display:flex;}
      .nav-btn{display:none;}
      .hero-card,.about-grid,.ach-wrap{grid-template-columns:1fr;}
      .hero-right{justify-content:flex-start;padding-top:0;}
      .dest-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
      .pkg-grid,.p-grid{grid-template-columns:1fr;}
      .footer-main{grid-template-columns:1fr;gap:28px;padding:36px 24px 28px;}
      .footer-payment{grid-template-columns:1fr;padding:28px 24px 0;}
      .testi-grid{grid-template-columns:1fr;}
      .footer-bottom{padding:18px 24px 26px;}
    }
    @media(max-width:640px){
      html{scroll-padding-top:98px;}
      html,body{width:100%;max-width:100%;overflow-x:hidden;}
      body{background:#fff;}
      .panel{box-shadow:none;}
      .shell{padding-top:82px;}
      .nav{
        position:fixed;
        top:8px;
        left:10px;
        right:10px;
        padding:10px 12px;
        gap:10px;
        margin:0;
        border-radius:16px;
      }
      .links{
        left:0;
        right:0;
        top:calc(100% + 8px);
      }
      .shell{margin-top:0;}
      .logo-mark{width:150px;height:52px;}
      .logo-mark img{transform:scale(1.25);}
      .hero{padding:8px 8px 6px;}
      .hero-card{border-radius:16px;min-height:auto;}
      .hero-left{padding:20px 14px;}
      .hero-right{padding:10px 14px 14px;}
      .eyebrow{max-width:100%;font-size:.56rem;}
      .hero-left h1{font-size:clamp(1.7rem,9vw,2.3rem);}
      .hero-left p{font-size:.82rem;line-height:1.55;}
      .hero-actions{gap:8px;}
      .modal{
        align-items:flex-start;
        padding:92px 10px 12px;
        overflow-y:auto;
        -webkit-overflow-scrolling:touch;
      }
      .m-card{
        margin-top:0;
        max-height:none;
        overflow:visible;
        border-radius:16px;
        padding:16px 12px 18px;
      }
      .m-head{
        position:static;
        padding-bottom:8px;
      }
      .x{
        width:38px;
        height:38px;
        font-size:1rem;
      }
      .hero-actions .btn{width:auto;justify-content:center;padding:10px 14px;font-size:.68rem;}
      .mini-about{width:100%;}
      .partners,.section,.testimonials{padding:22px 12px;}
      .dest-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
      .pkg-grid,.p-grid,.testi-grid{gap:12px;}
      .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
      .head{margin-bottom:14px;}
      .head h2,.process h2,.ach h2,.finish h2{font-size:1.55rem;}
      .faq-section{margin:8px 8px 0; padding:24px 12px; border-radius:16px;}
      .faq-head h2{font-size:1.5rem;}
      .faq-item summary{font-size:.75rem; padding:12px 11px;}
      .faq-item p{font-size:.74rem; padding:0 11px 11px;}
      .about-row{flex-direction:column;align-items:stretch;gap:10px;}
      .profile{max-width:none;}
      .footer-main,.footer-payment,.footer-bottom{padding-left:14px;padding-right:14px;}
      .form{grid-template-columns:1fr;}
      .finish{margin:8px 8px 0;border-radius:16px;}
      .payment-section{margin-top:0; margin-bottom:16px; padding-bottom:34px;}
      .site-footer{margin-top:0;}
      .card-wrap{
        display:flex;
        justify-content:center;
      }
      .bank-card{
        width:min(88vw,320px);
        max-width:320px;
        min-height:0;
        aspect-ratio:1.586 / 1;
        padding:14px 14px 12px;
        border-radius:14px;
      }
      .bank-card::before,
      .bank-card::after{
        border-radius:14px;
      }
      .card-holo{
        border-radius:14px 14px 0 0;
      }
      .card-top{
        margin-bottom:12px;
      }
      .card-brand-name{
        font-size:.52rem;
      }
      .card-brand-name strong{
        font-size:.62rem;
      }
      .chip{
        width:30px;
        height:22px;
      }
      .cfl{
        font-size:.44rem;
        letter-spacing:.12em;
      }
      .cfv{
        font-size:.72rem;
      }
      .cfv.mono{
        font-size:.68rem;
        letter-spacing:.1em;
      }
      .cfv.swift{
        font-size:.64rem;
        letter-spacing:.14em;
      }
      .card-fields{
        gap:7px;
      }
      .card-bottom-row{
        gap:14px;
      }
      .card-nfc{
        font-size:.7rem;
      }
      .footer-bottom{flex-direction:column;text-align:center;}
    }

    /* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
       PREMIUM UPGRADES â€” added for polish
    â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

    /* Scroll progress bar */
    .scroll-progress {
      position: fixed; top: 0; left: 0; right: 0; height: 3px;
      z-index: 2000; pointer-events: none;
      background: transparent;
    }
    .scroll-progress .bar {
      height: 100%; width: 0%;
      background: linear-gradient(90deg, var(--primary), var(--gold-light), var(--primary));
      background-size: 200% 100%;
      box-shadow: 0 0 14px rgba(31,183,200,.55), 0 0 28px rgba(213,165,54,.25);
      animation: progressShine 3s linear infinite;
      transition: width .08s linear;
    }
    @keyframes progressShine { to { background-position: 200% 0; } }

    /* Cursor glow follower */
    .cursor-glow {
      position: fixed; top: 0; left: 0; width: 420px; height: 420px;
      border-radius: 50%; pointer-events: none; z-index: 1;
      transform: translate(-50%, -50%);
      background: radial-gradient(circle, rgba(31,183,200,.12) 0%, rgba(31,183,200,.04) 35%, transparent 70%);
      opacity: 0; transition: opacity .5s ease;
      mix-blend-mode: screen;
    }
    @media (hover: hover) and (pointer: fine) {
      .cursor-glow.active { opacity: 1; }
    }

    /* Back to top */
    .to-top {
      position: fixed; left: 16px; bottom: 16px; z-index: 40;
      width: 46px; height: 46px; border: 0; border-radius: 50%;
      background: linear-gradient(135deg, var(--navy), #1a62b5);
      color: #fff; cursor: pointer; display: grid; place-items: center;
      box-shadow: 0 10px 24px rgba(9,23,52,.35);
      opacity: 0; transform: translateY(20px) scale(.85); pointer-events: none;
      transition: all .45s var(--ease-spring);
    }
    .to-top.show { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
    .to-top:hover { transform: translateY(-4px) scale(1.08); box-shadow: 0 16px 32px rgba(9,23,52,.45); }
    .to-top::before {
      content: ""; position: absolute; inset: -4px; border-radius: 50%;
      background: conic-gradient(from 0deg, var(--primary), var(--gold-light), var(--primary));
      z-index: -1; filter: blur(8px); opacity: .5;
      animation: rotateRing 5s linear infinite;
    }
    @keyframes rotateRing { to { transform: rotate(360deg); } }

    /* Hero upgrades */
    .hero-card { isolation: isolate; }
    .hero-particles {
      position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 0;
    }
    .hero-particles .p-dot {
      position: absolute; width: 4px; height: 4px; border-radius: 50%;
      background: radial-gradient(circle, rgba(255,255,255,.95), rgba(31,183,200,.1));
      opacity: 0; animation: floatUp 14s linear infinite;
      box-shadow: 0 0 10px rgba(125,232,244,.6);
    }
    .hero-particles .p-dot:nth-child(1){ left: 8%;  animation-delay: 0s;   animation-duration: 16s; }
    .hero-particles .p-dot:nth-child(2){ left: 22%; animation-delay: 2.2s; animation-duration: 13s; width:3px;height:3px;}
    .hero-particles .p-dot:nth-child(3){ left: 36%; animation-delay: 4.5s; animation-duration: 17s; }
    .hero-particles .p-dot:nth-child(4){ left: 50%; animation-delay: 1.3s; animation-duration: 15s; width:5px;height:5px;}
    .hero-particles .p-dot:nth-child(5){ left: 64%; animation-delay: 3.6s; animation-duration: 14s; }
    .hero-particles .p-dot:nth-child(6){ left: 78%; animation-delay: 5.8s; animation-duration: 18s; width:3px;height:3px;}
    .hero-particles .p-dot:nth-child(7){ left: 88%; animation-delay: 2.9s; animation-duration: 16s; }
    .hero-particles .p-dot:nth-child(8){ left: 14%; animation-delay: 6.1s; animation-duration: 13s; width:3px;height:3px;}
    .hero-particles .p-dot:nth-child(9){ left: 58%; animation-delay: 7.4s; animation-duration: 15s; width:5px;height:5px;}
    .hero-particles .p-dot:nth-child(10){left: 72%; animation-delay: 8.2s; animation-duration: 14s; }
    @keyframes floatUp {
      0%   { transform: translateY(110%) translateX(0); opacity: 0; }
      10%  { opacity: .8; }
      50%  { transform: translateY(50%) translateX(20px); }
      90%  { opacity: .6; }
      100% { transform: translateY(-20%) translateX(-10px); opacity: 0; }
    }

    /* Hero headline refinement â€” Playfair for "Magic" */
    .hero-left h1 em {
      font-family: var(--font-display);
      font-style: italic;
      font-weight: 700;
      background: linear-gradient(120deg, #f2c84a 0%, #fff2b5 30%, #f2c84a 55%, #d5a536 80%, #f2c84a 100%);
      background-size: 220% 100%;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      color: transparent;
      animation: goldFlow 7s ease-in-out infinite;
      display: inline-block;
      padding: 0 .08em;
    }
    @keyframes goldFlow {
      0%,100% { background-position: 0% 50%; }
      50%     { background-position: 100% 50%; }
    }

    /* Hero title stagger-in */
    .hero-left > * { opacity: 0; transform: translateY(14px); animation: heroIn .9s var(--ease-smooth) forwards; }
    .hero-left > *:nth-child(1){ animation-delay: .25s; }
    .hero-left > *:nth-child(2){ animation-delay: .4s; }
    .hero-left > *:nth-child(3){ animation-delay: .55s; }
    .hero-left > *:nth-child(4){ animation-delay: .7s; }
    .hero-left > *:nth-child(5){ animation-delay: .85s; }
    @keyframes heroIn { to { opacity: 1; transform: translateY(0); } }
    .mini-about { opacity: 0; transform: translateY(14px) scale(.97); animation: heroIn 1s var(--ease-spring) .85s forwards; }

    /* Magnetic button base */
    .btn, .nav-btn, .tiny-btn {
      position: relative;
      transition: transform .25s var(--ease-spring), box-shadow .25s ease, background .25s ease;
      will-change: transform;
    }
    .btn::after {
      content: ""; position: absolute; inset: 0; border-radius: inherit;
      background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(255,255,255,.28) 0%, transparent 55%);
      opacity: 0; transition: opacity .3s ease; pointer-events: none;
    }
    .btn:hover::after { opacity: 1; }

    /* NAV link underline reveal */
    .links a { position: relative; overflow: hidden; }
    .links a::before {
      content: ""; position: absolute; left: 50%; bottom: 3px;
      width: 0; height: 2px; border-radius: 2px;
      background: linear-gradient(90deg, var(--primary), var(--gold-light));
      transform: translateX(-50%);
      transition: width .35s var(--ease-smooth);
    }
    .links a:hover::before, .links a.active::before { width: 62%; }
    .links a.active { background: linear-gradient(135deg,rgba(9,30,74,.92),rgba(22,75,151,.86)); }

    /* SECTION entrance â€” soft scale + slide */
    .section, .testimonials, .finish, .faq-section {
      transition: opacity .9s var(--ease-smooth), transform .9s var(--ease-smooth);
    }
    .reveal-soft { opacity: 0; transform: translateY(34px); }
    .reveal-soft.in { opacity: 1; transform: translateY(0); }

    /* Section heading accent underline */
    .head h2, .process h2, .ach h2, .finish h2, .faq-head h2 {
      position: relative; display: inline-block; padding-bottom: 8px;
    }
    .head h2::after, .process h2::after, .ach h2::after, .faq-head h2::after {
      content: ""; position: absolute; left: 0; bottom: 0;
      width: 52px; height: 3px; border-radius: 2px;
      background: linear-gradient(90deg, var(--primary), var(--gold-light));
      box-shadow: 0 0 10px rgba(31,183,200,.45);
    }
    .finish h2::after { left: 50%; transform: translateX(-50%); }
    .process h2::after, .faq-head h2::after { left: 50%; transform: translateX(-50%); }

    /* DESTINATIONS â€” premium hover reveal */
    .dest { position: relative; isolation: isolate; }
    .dest-img { transition: transform 1.2s var(--ease-smooth); }
    .dest:hover .dest-img { transform: scale(1.08); }
    .dest-img::before {
      content: ""; position: absolute; inset: 0; z-index: 2;
      background: linear-gradient(140deg, transparent 0%, transparent 40%, rgba(15,42,95,.75) 100%);
      opacity: 0; transition: opacity .5s ease;
    }
    .dest:hover .dest-img::before { opacity: 1; }
    .dest-img .dest-pill {
      position: absolute; top: 10px; left: 10px; z-index: 3;
      font-size: .56rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
      padding: 4px 9px; border-radius: 999px;
      background: rgba(9,23,52,.55); color: #fff;
      backdrop-filter: blur(10px);
      border: 1px solid rgba(255,255,255,.22);
      transform: translateY(-6px); opacity: 0;
      transition: all .4s var(--ease-spring) .05s;
    }
    .dest:hover .dest-img .dest-pill { transform: translateY(0); opacity: 1; }
    .dest-img .dest-icon {
      position: absolute; right: 10px; bottom: 10px; z-index: 3;
      width: 34px; height: 34px; border-radius: 50%;
      background: linear-gradient(135deg, var(--primary), #1a7cd0);
      display: grid; place-items: center; color: #fff; font-size: .7rem;
      opacity: 0; transform: scale(.5) rotate(-90deg);
      box-shadow: 0 6px 14px rgba(31,183,200,.45);
      transition: all .5s var(--ease-spring);
    }
    .dest:hover .dest-img .dest-icon { opacity: 1; transform: scale(1) rotate(0); }
    .dest { transition: transform .4s var(--ease-smooth), box-shadow .4s ease, border-color .4s ease; }
    .dest:hover { border-color: rgba(31,183,200,.35); box-shadow: 0 22px 46px rgba(15,42,95,.2); }

    /* PACKAGES â€” shimmer on hover */
    .pkg { position: relative; overflow: hidden; }
    .pkg::before {
      content: ""; position: absolute; top: 0; left: -80%;
      width: 60%; height: 100%;
      background: linear-gradient(100deg, transparent, rgba(31,183,200,.14), transparent);
      transform: skewX(-20deg); transition: left .9s var(--ease-smooth);
      pointer-events: none;
    }
    .pkg:hover::before { left: 140%; }
    .pkg.featured::before { background: linear-gradient(100deg, transparent, rgba(255,255,255,.18), transparent); }
    .pkg .price { transition: transform .35s var(--ease-spring); display: inline-block; }
    .pkg:hover .price { transform: scale(1.06); transform-origin: left; }
    .pkg.featured { position: relative; }
    .pkg.featured::after {
      content: ""; position: absolute; inset: -2px; border-radius: 18px;
      background: conic-gradient(from 0deg, transparent 0%, rgba(255,255,255,.5) 15%, transparent 30%, transparent 50%, rgba(255,240,180,.4) 65%, transparent 80%);
      z-index: -1; animation: rotateRing 8s linear infinite; opacity: .6;
    }

    /* BOOKING PROCESS â€” connecting line + icon */
    .p-grid { position: relative; }
    .p-grid::before {
      content: ""; position: absolute; top: 50%; left: 4%; right: 4%;
      height: 2px; background: linear-gradient(90deg, transparent, rgba(31,183,200,.4), rgba(213,165,54,.4), rgba(31,183,200,.4), transparent);
      transform: translateY(-50%); z-index: 0;
      border-radius: 2px;
    }
    .p-card { position: relative; z-index: 1; background: #fff; transition: transform .35s var(--ease-spring), box-shadow .35s ease; }
    .p-card:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(15,42,95,.16); }
    .p-card .p-icon {
      width: 42px; height: 42px; border-radius: 12px;
      background: linear-gradient(135deg, #eef5ff, #f8faff);
      color: var(--primary); display: grid; place-items: center;
      font-size: 1.05rem; margin-bottom: 10px;
      transition: all .35s var(--ease-spring);
    }
    .p-card:hover .p-icon { transform: rotate(-6deg) scale(1.08); color: #fff; background: linear-gradient(135deg, var(--primary), #1a7cd0); }
    .p-card.p-hot .p-icon { background: rgba(255,255,255,.18); color: #fff; border: 1px solid rgba(255,255,255,.25); }
    .p-card.p-hot:hover .p-icon { background: rgba(255,255,255,.3); transform: rotate(-6deg) scale(1.08); }
    @media (max-width: 1020px) { .p-grid::before { display: none; } }

    /* ABOUT â€” upgraded composition */
    .about-img {
      background:
        linear-gradient(145deg, rgba(6,16,40,.85), rgba(15,42,95,.7)),
        url("https://images.unsplash.com/photo-1449824913935-59a10b8d2000?auto=format&fit=crop&w=1200&q=80") center/cover !important;
      position: relative;
      display: flex; align-items: center; justify-content: center;
      overflow: hidden;
    }
    .about-img::before {
      content: ""; position: absolute; inset: 0;
      background:
        radial-gradient(circle at 20% 30%, rgba(31,183,200,.25), transparent 55%),
        radial-gradient(circle at 80% 70%, rgba(213,165,54,.22), transparent 55%);
      z-index: 1;
    }
    .about-img::after {
      content: ""; position: absolute; inset: 0;
      background-image:
        linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
      background-size: 40px 40px;
      z-index: 1;
      mask-image: radial-gradient(circle at center, rgba(0,0,0,1) 30%, transparent 75%);
      -webkit-mask-image: radial-gradient(circle at center, rgba(0,0,0,1) 30%, transparent 75%);
    }
    .about-visual-inner {
      position: relative; z-index: 2;
      display: flex; flex-direction: column; align-items: center; gap: 14px;
      padding: 24px;
    }
    .about-logo-ring {
      width: 150px; height: 150px; border-radius: 50%;
      padding: 10px;
      background:
        conic-gradient(from 0deg, var(--primary), var(--gold-light), var(--primary), var(--gold-light), var(--primary));
      animation: rotateRing 16s linear infinite;
      box-shadow: 0 20px 50px rgba(0,0,0,.35), 0 0 40px rgba(31,183,200,.3);
    }
    .about-logo-inner {
      width: 100%; height: 100%; border-radius: 50%;
      background: #fff url("logo.png") center/80% no-repeat;
      animation: rotateRing 16s linear infinite reverse;
    }
    .about-floats {
      display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; max-width: 320px;
    }
    .about-chip {
      font-size: .64rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
      padding: 7px 12px; border-radius: 999px;
      background: rgba(255,255,255,.12);
      border: 1px solid rgba(255,255,255,.22);
      color: #eaf5ff; backdrop-filter: blur(10px);
      display: inline-flex; align-items: center; gap: 6px;
    }
    .about-chip i { color: var(--gold-light); }

    /* STATS â€” counter polish */
    .stat { position: relative; overflow: hidden; }
    .stat::before {
      content: ""; position: absolute; top: 0; left: -100%; width: 100%; height: 100%;
      background: linear-gradient(90deg, transparent, rgba(31,183,200,.12), transparent);
      transition: left .8s var(--ease-smooth);
    }
    .stat:hover::before { left: 100%; }
    .stat strong { background: linear-gradient(135deg, var(--primary), var(--navy)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
    .stat.hot strong { background: none; -webkit-text-fill-color: #fff; color: #fff; }

    /* TESTIMONIALS â€” quote marks + stars shimmer */
    .testi { position: relative; }
    .testi::before {
      content: "\201C";
      position: absolute; top: -6px; right: 16px;
      font-family: var(--font-display);
      font-size: 5rem; line-height: 1;
      color: var(--primary); opacity: .12;
      font-weight: 700;
      pointer-events: none;
    }
    .testi-stars { position: relative; display: inline-block; }
    .testi:hover .testi-stars { animation: starPulse 1s ease; }
    @keyframes starPulse {
      0%,100% { transform: scale(1); }
      50% { transform: scale(1.12); filter: drop-shadow(0 0 6px rgba(245,166,35,.6)); }
    }

    /* FAQ â€” hover state + smooth expand */
    .faq-item { transition: all .3s ease; }
    .faq-item:hover { background: rgba(255,255,255,.13); border-color: rgba(125,232,245,.35); transform: translateX(2px); }
    .faq-item[open] { background: rgba(255,255,255,.14); border-color: rgba(125,232,245,.45); box-shadow: 0 8px 24px rgba(6,20,50,.25); }
    .faq-item[open] summary { color: #7de8f4; }
    .faq-item p { animation: faqIn .4s ease; }
    @keyframes faqIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }

    /* FINISH CTA â€” animated glow */
    .finish { position: relative; }
    .finish .btn { transition: all .3s var(--ease-spring); }
    .finish .btn:hover { transform: translateY(-3px) scale(1.04); box-shadow: 0 14px 36px rgba(213,165,54,.55); }
    .finish::before { animation: blobDrift 18s ease-in-out infinite; }
    .finish::after { animation: blobDrift 22s ease-in-out infinite reverse; }
    @keyframes blobDrift {
      0%,100% { transform: translate(0,0); }
      50%     { transform: translate(40px,-28px); }
    }

    /* FLOAT buttons â€” pulse halo */
    .float a { position: relative; }
    .float a.wa::after {
      content: ""; position: absolute; inset: -2px; border-radius: 50%;
      border: 2px solid #25d366; opacity: 0;
      animation: haloPulse 2.2s ease-out infinite;
    }
    @keyframes haloPulse {
      0% { transform: scale(1); opacity: .75; }
      100% { transform: scale(1.7); opacity: 0; }
    }

    /* Nav subtle scrolled style */
    .nav.scrolled {
      background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(240,247,255,.82));
      box-shadow: 0 22px 48px rgba(12,25,55,.18), inset 0 1px 0 rgba(255,255,255,.7);
    }

    /* Pager buttons as icons only (decorative) */
    .pager button { transition: all .3s var(--ease-spring); }
    .pager button:hover { transform: rotate(8deg) scale(1.08); background: var(--primary); color: #fff; border-color: var(--primary); }
    .pager button:last-child:hover { background: var(--gold); border-color: var(--gold); transform: rotate(-8deg) scale(1.08); }

    /* Form micro-interactions */
    .form input, .form select, .form textarea {
      transition: all .3s var(--ease-smooth);
    }
    .form input:focus, .form select:focus, .form textarea:focus {
      transform: translateY(-1px);
    }
    .m-card { animation: modalIn .45s var(--ease-spring); }
    @keyframes modalIn { from { opacity: 0; transform: translateY(20px) scale(.96); } to { opacity: 1; transform: none; } }

    /* Reduced motion */
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
      .cursor-glow { display: none !important; }
      .hero-particles { display: none; }
    }

    /* Small viewports â€” hide cursor glow and back-to-top-left offset */
    @media (max-width: 640px) {
      .cursor-glow { display: none; }
      .to-top { width: 42px; height: 42px; left: 12px; bottom: 80px; }
      .about-logo-ring { width: 120px; height: 120px; }
      .hero-particles { opacity: .6; }
    }
  

