
  :root{
    --ink:#0A3638;
    --ink-2:#0E4144;
    --ink-3:#154F52;
    --sand:#F6F1E7;
    --sand-2:#EFE2C8;
    --paper:#FBF8F1;
    --white:#FFFDF8;
    --gold:#E08A2B;
    --gold-bright:#F2A94D;
    --coral:#D9690A;
    --teal:#0E8A90;
    --line: rgba(10,54,56,0.14);
    --line-light: rgba(255,253,248,0.22);
    --shadow: 0 30px 60px -25px rgba(10,54,56,0.45);
    --ease: cubic-bezier(.22,.61,.36,1);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Manrope',sans-serif;
    background:var(--paper);
    color:var(--ink);
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  img{display:block; max-width:100%;}
  a{color:inherit; text-decoration:none;}
  ul{list-style:none;}
  button{font-family:inherit; cursor:pointer; border:none; background:none;}
  .wrap{max-width:1280px; margin:0 auto; padding:0 32px;}
  .eyebrow{
    font-family:'Manrope',sans-serif; font-weight:700; font-size:11.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold);
    display:flex; align-items:center; gap:10px;
  }
  .eyebrow::before{content:""; width:26px; height:1px; background:var(--gold);}
  h1,h2,h3,h4{font-family:'Fraunces',serif; font-weight:500; line-height:1.08; letter-spacing:-.01em; color:var(--ink);}
  .display{font-weight:400;}
  .italic{font-style:italic; font-weight:400;}
  .btn{
    display:inline-flex; align-items:center; gap:10px; padding:15px 30px; border-radius:2px;
    font-size:12.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
    transition:all .35s var(--ease); white-space:nowrap;
  }
  .btn svg{width:14px;height:14px; transition:transform .35s var(--ease);}
  .btn-gold{background:var(--gold); color:var(--ink);}
  .btn-gold:hover{background:var(--gold-bright); transform:translateY(-2px); box-shadow:0 14px 26px -10px rgba(198,161,91,.55);}
  .btn-outline{border:1px solid var(--line-light); color:var(--white);}
  .btn-outline:hover{background:rgba(255,253,248,.1); border-color:var(--white);}
  .btn-outline.dark{border:1px solid var(--line); color:var(--ink);}
  .btn-outline.dark:hover{background:rgba(10,54,56,.06);}
  .btn:hover svg{transform:translateX(3px);}

  /* ===== Utility top bar ===== */
  .topbar{
    background:var(--ink); color:rgba(255,253,248,.78); font-size:12px;
    position:relative; z-index:60;
  }
  .topbar .wrap{display:flex; justify-content:space-between; align-items:center; height:38px;}
  .topbar a{transition:color .25s;}
  .topbar a:hover{color:var(--gold-bright);}
  .topbar .tb-left{display:flex; gap:24px; align-items:center;}
  .topbar .tb-right{display:flex; gap:18px; align-items:center;}
  .topbar .tb-right .divider{width:1px; height:12px; background:var(--line-light);}
  .topbar svg{width:12px; height:12px; vertical-align:-1px; margin-right:6px; opacity:.8;}

  /* ===== Header / nav ===== */
  header.site{
    position:sticky; top:0; z-index:55;
    background:transparent;
    transition:background .4s var(--ease), box-shadow .4s var(--ease), padding .35s var(--ease);
  }
  header.site.scrolled{background:rgba(10,54,56,.96); backdrop-filter:blur(10px); box-shadow:0 12px 30px -18px rgba(0,0,0,.5);}
  .nav-row{display:flex; align-items:center; justify-content:space-between; height:96px; transition:height .35s var(--ease);}
  header.site.scrolled .nav-row{height:76px;}
  .logo{display:flex; flex-direction:column; color:var(--white); line-height:1;}
  .logo .mark{display:flex; align-items:center; gap:10px;}
  .logo-badge{background:var(--white); padding:8px 14px; border-radius:8px; display:flex; align-items:center; box-shadow:0 10px 24px -10px rgba(0,0,0,.35); transition:transform .35s var(--ease);}
  .logo .mark:hover .logo-badge{transform:translateY(-2px);}
  .logo .mark img{height:34px; width:auto; display:block;}
  .logo .tag{font-size:9.5px; letter-spacing:.24em; text-transform:uppercase; color:var(--gold-bright); margin-top:7px; padding-left:4px;}
  nav.main-nav{display:flex; align-items:center; gap:38px;}
  nav.main-nav > ul{display:flex; gap:38px;}
  nav.main-nav > ul > li{position:relative;}
  nav.main-nav > ul > li > a{
    color:var(--white); font-size:12.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
    display:flex; align-items:center; gap:6px; padding:10px 0; position:relative;
  }
  nav.main-nav > ul > li > a::after{content:""; position:absolute; left:0; bottom:4px; width:0; height:1px; background:var(--gold-bright); transition:width .3s var(--ease);}
  nav.main-nav > ul > li > a:hover::after{width:100%;}
  nav.main-nav svg.chev{width:9px; height:9px; opacity:.7;}
  .submenu{
    position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(6px);
    background:var(--ink-2); border:1px solid var(--line-light); min-width:220px; padding:10px 0;
    opacity:0; visibility:hidden; transition:all .3s var(--ease); box-shadow:var(--shadow);
  }
  nav.main-nav > ul > li:hover .submenu{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);}
  .submenu a{display:block; padding:11px 22px; color:rgba(255,253,248,.82); font-size:12.5px; letter-spacing:.04em; transition:all .2s;}
  .submenu a:hover{color:var(--gold-bright); padding-left:26px;}
  .nav-actions{display:flex; align-items:center; gap:18px;}
  .icon-btn{width:38px; height:38px; display:flex; align-items:center; justify-content:center; color:var(--white); border:1px solid var(--line-light); border-radius:50%; transition:all .3s;}
  .icon-btn:hover{background:var(--white); color:var(--ink);}
  .icon-btn svg{width:15px; height:15px;}
  .burger{display:none; flex-direction:column; gap:5px; width:38px; height:38px; align-items:center; justify-content:center; border:1px solid var(--line-light); border-radius:50%;}
  .burger span{width:16px; height:1px; background:var(--white); transition:all .3s;}

  /* ===== Hero ===== */
  .hero{position:relative; height:100vh; min-height:640px; overflow:hidden; color:var(--white); margin-top:-134px;}
  .hero-slide{position:absolute; inset:0; opacity:0; transition:opacity 1.6s ease;}
  .hero-slide.active{opacity:1; z-index:1;}
  .hero-slide .img{position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.08); animation:kenburns 14s ease forwards;}
  @keyframes kenburns{from{transform:scale(1.08);} to{transform:scale(1);}}
  .hero-slide::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,54,56,.55) 0%, rgba(10,54,56,.28) 38%, rgba(10,54,56,.62) 78%, rgba(10,54,56,.92) 100%);}
  .hero-inner{position:relative; z-index:5; height:100%; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding-top:90px;}
  .hero-inner .eyebrow{justify-content:center; color:var(--gold-bright);}
  .hero-inner .eyebrow::before{display:none;}
  .hero-inner .eyebrow::after{content:""; width:26px; height:1px; background:var(--gold-bright);}
  .hero h1{font-size:clamp(40px,6.4vw,84px); color:var(--white); max-width:980px; margin:22px 0 26px;}
  .hero h1 em{font-style:italic; color:var(--gold-bright); font-weight:400;}
  .hero p.lead{max-width:560px; font-size:17px; line-height:1.7; color:rgba(255,253,248,.86); margin-bottom:38px;}
  .hero-ctas{display:flex; gap:16px; flex-wrap:wrap; justify-content:center;}
  .hero-dots{position:absolute; bottom:38px; left:50%; transform:translateX(-50%); z-index:6; display:flex; gap:10px;}
  .hero-dots button{width:30px; height:3px; background:rgba(255,253,248,.35); transition:all .35s;}
  .hero-dots button.active{background:var(--gold-bright); width:46px;}
  .scroll-cue{position:absolute; bottom:38px; left:40px; z-index:6; display:flex; align-items:center; gap:10px; color:rgba(255,253,248,.75); font-size:11px; letter-spacing:.18em; text-transform:uppercase;}
  .scroll-cue .line{width:1px; height:34px; background:linear-gradient(var(--gold-bright), transparent); position:relative; overflow:hidden;}
  .scroll-cue .line::after{content:""; position:absolute; top:-100%; left:0; width:100%; height:100%; background:var(--gold-bright); animation:scrolldown 2.2s ease infinite;}
  @keyframes scrolldown{0%{top:-100%;} 60%{top:100%;} 100%{top:100%;}}

  /* ===== Ticket / stats strip ===== */
  .ticket{position:relative; background:var(--ink); margin-top:-2px;}
  .ticket-inner{
    display:grid; grid-template-columns:repeat(4,1fr);
    max-width:1280px; margin:0 auto; position:relative; z-index:2;
  }
  .ticket-item{
    padding:34px 26px; text-align:center; border-right:1px dashed var(--line-light); position:relative;
  }
  .ticket-item:last-child{border-right:none;}
  .ticket-item .num{font-family:'Fraunces',serif; font-size:38px; color:var(--gold-bright); font-weight:500;}
  .ticket-item .lbl{font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,253,248,.7); margin-top:6px;}
  .ticket::before, .ticket::after{
    content:""; position:absolute; top:50%; transform:translateY(-50%); width:26px; height:26px; border-radius:50%; background:var(--paper); z-index:3;
  }
  .ticket::before{left:-13px;}
  .ticket::after{right:-13px;}

  /* ===== Section heads ===== */
  section{padding:110px 0;}
  .sec-head{display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:58px; flex-wrap:wrap;}
  .sec-head h2{font-size:clamp(30px,3.6vw,48px); max-width:620px;}
  .sec-head p{max-width:380px; font-size:14.5px; line-height:1.75; color:#4B6661; padding-bottom:4px;}

  /* ===== Filter tabs ===== */
  .filters{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:46px;}
  .filters button{
    padding:10px 20px; border:1px solid var(--line); border-radius:30px; font-size:12px; font-weight:700;
    letter-spacing:.08em; text-transform:uppercase; color:#3C5A54; transition:all .3s;
  }
  .filters button.active, .filters button:hover{background:var(--ink); color:var(--white); border-color:var(--ink);}

  /* ===== New Destinations ===== */
  .new-destinations{background:var(--sand);}
  .new-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
  .new-card{background:var(--white); border:1px solid var(--line); border-radius:4px; overflow:hidden; transition:transform .4s var(--ease), box-shadow .4s var(--ease);}
  .new-card:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
  .new-card .thumb{position:relative; height:200px; overflow:hidden;}
  .new-card .thumb img{width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease);}
  .new-card:hover .thumb img{transform:scale(1.07);}
  .new-pill{position:absolute; top:14px; left:14px; background:var(--gold); color:var(--ink); font-size:9.5px; font-weight:800; letter-spacing:.12em; padding:5px 14px; border-radius:30px; text-transform:uppercase;}
  .new-card .info{padding:18px 22px 22px;}
  .new-card h3{font-size:19px; margin-bottom:3px;}
  .new-card .region{font-size:11.5px; color:var(--gold); letter-spacing:.06em; text-transform:uppercase; font-weight:700;}
  .more-wrap{text-align:center; margin-top:46px;}

  /* ===== Destination grid + stamp signature ===== */
  .dest-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
  .dest-card{position:relative; border-radius:3px; overflow:hidden; height:380px; cursor:pointer; box-shadow:0 18px 40px -22px rgba(10,54,56,.35);}
  .dest-card .img{position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .8s var(--ease);}
  .dest-card:hover .img{transform:scale(1.08);}
  .dest-card::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,54,56,0) 38%, rgba(6,38,40,.92) 100%); transition:opacity .4s;}
  .dest-card .body{position:absolute; left:0; right:0; bottom:0; padding:26px; color:var(--white); z-index:2;}
  .dest-card .region{font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-bright); margin-bottom:8px;}
  .dest-card h3{color:var(--white); font-size:25px; margin-bottom:4px;}
  .dest-card .country{font-size:13px; color:rgba(255,253,248,.78); display:flex; align-items:center; justify-content:space-between;}
  .dest-card .country a{display:inline-flex; align-items:center; gap:6px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; font-size:10.5px; color:var(--white); opacity:0; transform:translateX(-6px); transition:all .35s;}
  .dest-card:hover .country a{opacity:1; transform:translateX(0);}
  .dest-card .country a svg{width:11px;height:11px;}
  .stamp{
    position:absolute; top:18px; right:18px; z-index:3; width:70px; height:70px;
    border:1.5px dashed rgba(255,253,248,.85); border-radius:50%; display:flex; flex-direction:column;
    align-items:center; justify-content:center; transform:rotate(-12deg); color:var(--white);
    background:rgba(10,54,56,.28); backdrop-filter:blur(2px);
  }
  .stamp .code{font-family:'Fraunces',serif; font-size:15px; font-weight:600; letter-spacing:.04em;}
  .stamp svg{width:13px; height:13px; margin-bottom:2px; opacity:.9;}
  .stamp .yr{font-size:7.5px; letter-spacing:.12em; margin-top:1px;}
  .dest-card.hidden{display:none;}

  /* ===== Hospitality / hotel cards ===== */
  .hosp-strip{background:var(--ink-2); color:var(--white);}
  .hosp-strip .sec-head h2{color:var(--white);}
  .hosp-strip .sec-head p{color:rgba(255,253,248,.7);}
  .hosp-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
  .hosp-card{background:var(--ink-3); border:1px solid var(--line-light); border-radius:3px; overflow:hidden; transition:transform .4s var(--ease), box-shadow .4s var(--ease);}
  .hosp-card:hover{transform:translateY(-6px); box-shadow:0 26px 50px -22px rgba(0,0,0,.55);}
  .hosp-card .thumb{position:relative; height:230px; overflow:hidden;}
  .hosp-card .thumb img{width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease);}
  .hosp-card:hover .thumb img{transform:scale(1.07);}
  .hosp-card .badge{position:absolute; top:16px; left:16px; background:var(--gold); color:var(--ink); font-size:10px; font-weight:800; letter-spacing:.1em; padding:6px 12px; text-transform:uppercase;}
  .hosp-card .info{padding:24px 24px 26px;}
  .hosp-card h3{color:var(--white); font-size:21px; margin-bottom:4px;}
  .hosp-card .loc{font-size:12.5px; color:var(--gold-bright); margin-bottom:14px; letter-spacing:.04em;}
  .hosp-card .meta{display:flex; justify-content:space-between; align-items:center; padding-top:14px; border-top:1px dashed var(--line-light);}
  .stars{display:flex; gap:2px;}
  .stars svg{width:12px;height:12px; fill:var(--gold-bright); color:var(--gold-bright);}
  .tier{font-size:11px; color:rgba(255,253,248,.6); margin-left:8px;}
  .offer{display:flex; align-items:center; gap:6px; font-size:11.5px; color:rgba(255,253,248,.78);}
  .offer svg{width:12px;height:12px;}

  /* ===== Cinematic / video ===== */
  .cinematic{position:relative; height:64vh; min-height:440px; color:var(--white); display:flex; align-items:center; justify-content:center; text-align:center; background-size:cover; background-position:center;}
  .cinematic::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,54,56,.4), rgba(10,54,56,.78));}
  .cinematic .inner{position:relative; z-index:2;}
  .play-btn{width:84px; height:84px; border-radius:50%; border:1px solid rgba(255,253,248,.7); display:flex; align-items:center; justify-content:center; margin:0 auto 26px; transition:all .4s var(--ease); position:relative;}
  .play-btn::before{content:""; position:absolute; inset:-14px; border:1px solid rgba(255,253,248,.3); border-radius:50%; animation:pulse 2.6s ease infinite;}
  @keyframes pulse{0%{transform:scale(.9); opacity:.8;} 100%{transform:scale(1.4); opacity:0;}}
  .play-btn svg{width:20px; height:20px; fill:var(--white); margin-left:3px;}
  .play-btn:hover{background:var(--gold); border-color:var(--gold);}

  /* ===== Pillars ===== */
  .pillars{display:grid; grid-template-columns:repeat(3,1fr); gap:48px;}
  .pillar{text-align:left; padding-top:30px; border-top:1px solid var(--line);}
  .pillar .pnum{font-family:'Fraunces',serif; font-style:italic; color:var(--gold); font-size:14px; margin-bottom:18px; display:block;}
  .pillar h3{font-size:23px; margin-bottom:12px;}
  .pillar p{font-size:14.5px; line-height:1.75; color:#4B6661;}

  /* ===== Testimonial ===== */
  .testi{background:var(--sand-2); position:relative; overflow:hidden;}
  .testi .wrap{max-width:840px; text-align:center;}
  .testi .quote-mark{font-family:'Fraunces',serif; font-size:80px; color:var(--gold); line-height:1; margin-bottom:6px;}
  .testi blockquote{font-family:'Fraunces',serif; font-style:italic; font-size:clamp(22px,2.6vw,32px); line-height:1.5; color:var(--ink); margin-bottom:28px;}
  .testi .who{font-size:12.5px; letter-spacing:.1em; text-transform:uppercase; color:#3C5A54;}
  .testi .who b{color:var(--ink); font-weight:700;}
  .testi-dots{display:flex; gap:8px; justify-content:center; margin-top:30px;}
  .testi-dots button{width:7px; height:7px; border-radius:50%; background:rgba(10,54,56,.25); transition:all .3s;}
  .testi-dots button.active{background:var(--gold); width:22px; border-radius:4px;}

  /* ===== CTA banner ===== */
  .cta-band{
    background:radial-gradient(120% 180% at 10% 0%, #155457 0%, var(--ink) 60%); color:var(--white);
    position:relative; overflow:hidden;
  }
  .cta-band .wrap{display:flex; justify-content:space-between; align-items:center; gap:40px; flex-wrap:wrap;}
  .cta-band h2{color:var(--white); font-size:clamp(28px,3.4vw,42px); max-width:560px;}
  .cta-band p{color:rgba(255,253,248,.72); margin-top:14px; max-width:480px; font-size:14.5px; line-height:1.7;}
  .cta-band .right{display:flex; gap:16px; flex-wrap:wrap;}

  /* ===== Footer ===== */
  footer.site{background:var(--ink); color:rgba(255,253,248,.72); padding-top:90px;}
  .foot-grid{display:grid; grid-template-columns:1.6fr 1fr 1.3fr 1fr; gap:40px; padding-bottom:70px; border-bottom:1px solid var(--line-light);}
  .foot-logo{display:flex; align-items:center; gap:10px; color:var(--white); margin-bottom:18px;}
  .foot-logo .logo-badge{padding:7px 12px; box-shadow:none;}
  .foot-logo img{height:30px; width:auto;}
  footer.site p.addr{font-size:13.5px; line-height:1.9; color:rgba(255,253,248,.62); margin-bottom:18px;}
  footer.site .addr a{display:block; color:rgba(255,253,248,.85);} footer.site a.addr{display:block;}
  .foot-title{color:var(--white); font-size:12px; letter-spacing:.14em; text-transform:uppercase; margin-bottom:22px; font-weight:700; font-family:'Manrope',sans-serif;}
  .foot-links li{margin-bottom:13px;}
  .foot-links a{font-size:13.5px; color:rgba(255,253,248,.65); transition:all .25s;}
  .foot-links a:hover{color:var(--gold-bright); padding-left:4px;}
  .foot-links.two-col{column-count:2; column-gap:20px;}
  .soc{display:flex; gap:10px; margin-top:20px;}
  .soc a{width:34px; height:34px; border:1px solid var(--line-light); border-radius:50%; display:flex; align-items:center; justify-content:center; transition:all .3s;}
  .soc a:hover{background:var(--gold); border-color:var(--gold); color:var(--ink);}
  .soc svg{width:14px;height:14px;}
  .foot-bottom{display:flex; justify-content:space-between; align-items:center; padding:26px 0; font-size:12.5px; color:rgba(255,253,248,.5); flex-wrap:wrap; gap:10px;}
  .foot-bottom a{color:var(--gold-bright);}

  /* ===== Search modal ===== */
  .search-modal{position:fixed; inset:0; background:rgba(8,20,18,.92); backdrop-filter:blur(6px); z-index:200; display:flex; align-items:flex-start; justify-content:center; padding-top:14vh; opacity:0; visibility:hidden; transition:all .35s var(--ease);}
  .search-modal.open{opacity:1; visibility:visible;}
  .search-box{width:min(640px,90vw);}
  .search-box form{display:flex; align-items:center; border-bottom:1px solid rgba(255,253,248,.4); padding-bottom:16px; gap:16px;}
  .search-box input{flex:1; background:none; border:none; outline:none; color:var(--white); font-family:'Fraunces',serif; font-size:26px; font-style:italic;}
  .search-box input::placeholder{color:rgba(255,253,248,.45);}
  .search-box svg{width:20px;height:20px; color:var(--gold-bright);}
  .search-close{position:absolute; top:34px; right:40px; width:42px; height:42px; border:1px solid rgba(255,253,248,.3); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--white);}
  .search-hint{margin-top:18px; font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,253,248,.45);}

  /* ===== mobile nav ===== */
  .mobile-nav{position:fixed; top:0; right:0; bottom:0; width:min(360px,86vw); background:var(--ink); z-index:210; transform:translateX(100%); transition:transform .45s var(--ease); padding:34px 30px; overflow-y:auto;}
  .mobile-nav.open{transform:translateX(0);}
  .mobile-nav .mtop{display:flex; justify-content:space-between; align-items:center; margin-bottom:36px;}
  .mobile-nav ul li a{display:block; padding:15px 0; color:var(--white); font-family:'Fraunces',serif; font-size:21px; border-bottom:1px solid var(--line-light);}
  .mobile-nav .msub{padding-left:14px;}
  .mobile-nav .msub a{font-family:'Manrope',sans-serif; font-size:14px; color:rgba(255,253,248,.7); border-bottom:none; padding:9px 0;}
  .mobile-overlay{position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:205; opacity:0; visibility:hidden; transition:all .4s;}
  .mobile-overlay.open{opacity:1; visibility:visible;}

  /* ===== reveal ===== */
  .reveal{opacity:0; transform:translateY(28px); transition:all .8s var(--ease);}
  .reveal.in{opacity:1; transform:translateY(0);}

  /* ===== admin preview banner ===== */
  .admin-banner{background:var(--gold); color:var(--ink); font-size:12.5px; font-weight:700; letter-spacing:.04em; text-align:center; padding:9px 16px; position:relative; z-index:70;}
  .admin-banner a{text-decoration:underline;}

  @media (prefers-reduced-motion: reduce){
    *{animation:none !important; transition:none !important;}
  }

  /* ===== responsive ===== */
  @media (max-width:1080px){
    .dest-grid, .hosp-grid, .new-grid{grid-template-columns:repeat(2,1fr);}
    .pillars{grid-template-columns:1fr; gap:34px;}
    .foot-grid{grid-template-columns:1fr 1fr; row-gap:46px;}
  }
  @media (max-width:880px){
    nav.main-nav{display:none;}
    .burger{display:flex;}
    .ticket-inner{grid-template-columns:repeat(2,1fr);}
    .ticket-item:nth-child(2){border-right:none;}
    .ticket-item{border-bottom:1px dashed var(--line-light);}
    .hero{margin-top:-96px;}
    section{padding:74px 0;}
  }
  @media (max-width:640px){
    .wrap{padding:0 20px;}
    .dest-grid, .hosp-grid, .new-grid{grid-template-columns:1fr;}
    .foot-grid{grid-template-columns:1fr; gap:40px;}
    .topbar .tb-left a:nth-child(2){display:none;}
    .cta-band .wrap{flex-direction:column; align-items:flex-start;}
  }

/* ===== Destinations listing page ===== */
.page-hero{
  background:radial-gradient(120% 160% at 15% 0%, #155457 0%, var(--ink) 65%); color:var(--white);
  padding:200px 0 90px; position:relative; overflow:hidden;
}
.page-hero .wrap{position:relative; z-index:2;}
.page-hero .eyebrow{color:var(--gold-bright); justify-content:flex-start;}
.page-hero h1{color:var(--white); font-size:clamp(34px,4.6vw,58px); max-width:760px; margin:18px 0 18px;}
.page-hero p{max-width:620px; font-size:15.5px; line-height:1.75; color:rgba(255,253,248,.78);}

.search-row{
  background:var(--white); border:1px solid var(--line); border-radius:8px; padding:18px 20px;
  display:flex; gap:14px; align-items:center; margin-top:-44px; position:relative; z-index:5; box-shadow:var(--shadow);
}
.search-row svg{width:18px; height:18px; color:var(--gold); flex:none;}
.search-row input{flex:1; border:none; outline:none; font-family:'Manrope',sans-serif; font-size:14.5px; background:none; color:var(--ink);}
.search-row input::placeholder{color:#9CA8A6;}
.search-count{font-size:12px; color:#5C7672; white-space:nowrap;}

.listing-section{padding:70px 0 110px;}
.listing-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:10px;}
.empty-state{text-align:center; padding:80px 20px; color:#5C7672;}
.empty-state h3{margin-bottom:8px; color:var(--ink);}

/* ===== Simple content pages (privacy / how-to-work) ===== */
.content-hero{
  background:var(--ink); color:var(--white); padding:190px 0 70px; text-align:center;
}
.content-hero .eyebrow{justify-content:center; color:var(--gold-bright);}
.content-hero .eyebrow::before{display:none;}
.content-hero .eyebrow::after{content:""; width:26px; height:1px; background:var(--gold-bright);}
.content-hero h1{color:var(--white); font-size:clamp(32px,4.4vw,52px); margin:18px 0 10px;}
.content-hero p.updated{font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,253,248,.55);}

.legal-body{max-width:780px; margin:0 auto; padding:90px 0;}
.legal-body p.lead{font-size:16px; line-height:1.8; color:#3C5A54; margin-bottom:50px;}
.legal-section{padding:28px 0; border-top:1px solid var(--line);}
.legal-section:first-of-type{border-top:none;}
.legal-section h2{font-size:21px; margin-bottom:12px;}
.legal-section p{font-size:14.5px; line-height:1.8; color:#4B6661;}

.steps-wrap{max-width:820px; margin:0 auto; padding:90px 0;}
.steps-wrap > p.lead{font-size:16px; line-height:1.8; color:#3C5A54; margin-bottom:54px; max-width:600px;}
.step-row{display:grid; grid-template-columns:64px 1fr; gap:24px; padding:30px 0; border-top:1px solid var(--line);}
.step-row:first-of-type{border-top:none;}
.step-num{font-family:'Fraunces',serif; font-style:italic; font-size:30px; color:var(--gold);}
.step-row h3{font-size:20px; margin-bottom:8px;}
.step-row p{font-size:14.5px; line-height:1.75; color:#4B6661;}
.steps-cta{text-align:center; margin-top:50px; padding-top:50px; border-top:1px solid var(--line);}
.steps-cta h2{font-size:26px; margin-bottom:10px;}
.steps-cta p{color:#5C7672; margin-bottom:24px; font-size:14.5px;}

@media (max-width:880px){
  .listing-grid{grid-template-columns:repeat(2,1fr);}
  .page-hero{padding-top:170px;}
  .content-hero{padding-top:160px;}
  .step-row{grid-template-columns:48px 1fr;}
}
@media (max-width:640px){
  .listing-grid{grid-template-columns:1fr;}
  .search-row{flex-wrap:wrap;}
}

/* ===== Inner pages: slide the dark banner up under the transparent header
   (same as the homepage hero) so the white menu always sits on dark ===== */
.page-hero, .content-hero{margin-top:-96px;}
/* Backup: on pages without the homepage hero, give the header a solid dark background */
body:not(:has(.hero)) header.site{background:var(--ink);}
/* Phones: the Agent Portal button is in the burger menu, so hide it in the header to stop sideways scrolling */
@media (max-width:640px){ #navAgentPortal{display:none;} .nav-actions{gap:10px;} }
