
  :root{
    --ink:#131B22;
    --ink-2:#1B2530;
    --cream:#F3EEE1;
    --cream-2:#EAE2CE;
    --amber:#D9A441;
    --amber-2:#F0C070;
    --rust:#C1602B;
    --slate:#46607A;
    --forest:#3E5641;
    --text-dark:#1B1F23;
    --text-mute:#5B6570;
    --line: rgba(19,27,34,.12);
    --line-light: rgba(243,238,225,.18);
    /* Shape Consistency Lock: cards=6px, pills=30px, buttons=4px, inputs=4px */
    --radius-card: 6px;
    --radius-pill: 30px;
    --radius-btn: 4px;
    --radius-input: 4px;
    --maxw: 1240px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--cream);
    color:var(--text-dark);
    font-family:'Manrope',sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  ul{margin:0;padding:0;list-style:none;}
  /* Headings: Fraunces is the brand choice — preserved as a justified editorial serif for this heritage travel brand */
  h1,h2,h3,h4{margin:0;font-family:'Fraunces',serif;font-weight:500;letter-spacing:-.01em;}
  h1 em, h2 em, h3 em, h4 em{
    font-style:italic;
    color:var(--amber);
    line-height:1.1;
    display:inline-block;
    padding-bottom:3px;
    margin-bottom:-3px;
  }
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
  .eyebrow{
    font-family:'JetBrains Mono',monospace;
    font-size:11px;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--amber);
    display:flex;align-items:center;gap:10px;
    margin-bottom:14px;
  }
  .eyebrow::before{content:"";width:22px;height:1px;background:var(--amber);display:inline-block;}
  .btn{
    display:inline-flex;align-items:center;gap:8px;
    font-family:'JetBrains Mono',monospace;
    font-size:13px;letter-spacing:.05em;text-transform:uppercase;
    padding:14px 26px;
    border-radius:var(--radius-btn);
    border:1px solid transparent;
    cursor:pointer;
    white-space:nowrap;
    transition:transform .2s cubic-bezier(0.16, 1, 0.3, 1), background .25s ease, color .25s ease, border-color .25s ease, box-shadow .2s ease;
  }
  .btn:active{transform: scale(0.97) translateY(0) !important;}
  .btn-primary{background:var(--amber);color:var(--ink);}
  .btn-primary:hover{background:var(--amber-2);transform:translateY(-2px);box-shadow:0 8px 22px rgba(217,164,65,.28);}
  .btn-outline{border-color:var(--line-light);color:var(--cream);background:transparent;}
  .btn-outline:hover{border-color:var(--amber);color:var(--amber);background:rgba(217,164,65,.08);transform:translateY(-2px);}
  button.btn-outline{
    background:transparent;
    color:var(--cream);
    -webkit-appearance:none;
    appearance:none;
  }
  button.btn-outline:hover{color:var(--amber);}
  .btn-dark{border-color:var(--ink);color:var(--ink);}
  .btn-dark:hover{background:var(--ink);color:var(--cream);transform:translateY(-2px);}
  .btn-signin{background:var(--amber);color:var(--ink);border-color:var(--amber);}
  .btn-signin:hover{background:var(--amber-2);color:var(--ink);transform:translateY(-2px);}

  /* ===== AUTH / USER NAV ===== */
  #userNavContainer{display:flex;align-items:center;}
  .user-profile-menu{display:flex;align-items:center;}
  .user-menu-wrap{position:relative;}
  .user-menu-trigger{
    display:inline-flex;align-items:center;gap:8px;
    padding:10px 14px;border-radius:var(--radius-btn);
    border:1px solid rgba(243,238,225,.18);
    background:rgba(255,255,255,.04);
    color:var(--cream);
    font-family:'Manrope',sans-serif;
    font-size:14px;
    font-weight:500;
    cursor:pointer;
    transition:border-color .25s ease, color .25s ease, background .25s ease;
  }
  .user-menu-trigger:hover,
  .user-menu-trigger[aria-expanded="true"]{
    border-color:rgba(217,164,65,.45);
    color:var(--amber);
    background:rgba(217,164,65,.08);
  }
  .user-menu-name{
    max-width:140px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .user-menu-chevron{width:12px;height:12px;flex-shrink:0;transition:transform .2s ease;}
  .user-menu-trigger[aria-expanded="true"] .user-menu-chevron{transform:rotate(180deg);}
  .user-menu-dropdown{
    position:absolute;
    top:calc(100% + 8px);
    right:0;
    min-width:168px;
    padding:6px;
    border-radius:var(--radius-btn);
    border:1px solid rgba(255,255,255,.1);
    background:rgba(19,27,34,.98);
    box-shadow:0 12px 32px rgba(0,0,0,.35);
    opacity:0;
    visibility:hidden;
    transform:translateY(-6px);
    transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
    z-index:120;
  }
  .user-menu-dropdown.is-open{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }
  .user-menu-logout{
    width:100%;
    text-align:left;
    padding:10px 12px;
    border:none;
    border-radius:3px;
    background:transparent;
    color:rgba(243,238,225,.85);
    font-family:'JetBrains Mono',monospace;
    font-size:11px;
    letter-spacing:.06em;
    text-transform:uppercase;
    cursor:pointer;
    transition:background .2s ease, color .2s ease;
  }
  .user-menu-logout:hover{background:rgba(255,255,255,.06);color:var(--cream);}
  .btn-admin{
    display:inline-flex;align-items:center;gap:7px;
    font-family:'JetBrains Mono',monospace;
    font-size:11px;letter-spacing:.06em;text-transform:uppercase;
    padding:10px 14px;border-radius:var(--radius-btn);
    border:1px solid rgba(217,164,65,.5);
    background:linear-gradient(135deg, rgba(217,164,65,.18), rgba(217,164,65,.08));
    color:var(--amber-2);
    white-space:nowrap;
    transition:transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease;
  }
  .btn-admin svg{width:14px;height:14px;flex-shrink:0;}
  .btn-admin:hover{
    background:var(--amber);
    color:var(--ink);
    border-color:var(--amber);
    transform:translateY(-2px);
    box-shadow:0 6px 18px rgba(217,164,65,.28);
  }
  .mobile-admin-btn{
    display:inline-flex;align-items:center;gap:10px;
    width:fit-content;
    padding:14px 20px;
    border-radius:var(--radius-btn);
    border:1px solid rgba(217,164,65,.45);
    background:rgba(217,164,65,.12);
    color:var(--amber);
    font-family:'Manrope',sans-serif;
    font-size:18px;
    font-weight:600;
    transition:background .25s ease, color .25s ease, border-color .25s ease;
  }
  .mobile-admin-btn svg{width:20px;height:20px;flex-shrink:0;}
  .mobile-admin-btn:hover{background:var(--amber);color:var(--ink);border-color:var(--amber);}
  #mobileUserNavContainer .user-menu-wrap{width:100%;}
  #mobileUserNavContainer .user-menu-trigger{
    width:100%;
    justify-content:space-between;
    font-size:18px;
    padding:14px 18px;
  }
  #mobileUserNavContainer .user-menu-dropdown{
    position:static;
    margin-top:8px;
    width:100%;
    opacity:1;
    visibility:hidden;
    max-height:0;
    overflow:hidden;
    padding:0 6px;
    transform:none;
    box-shadow:none;
    transition:max-height .25s ease, padding .25s ease, visibility .25s ease;
  }
  #mobileUserNavContainer .user-menu-dropdown.is-open{
    visibility:visible;
    max-height:80px;
    padding:6px;
  }
  .btn-google{background:#fff;color:var(--ink);border:1px solid var(--line);}
  .btn-google:hover{background:#f8f8f8;border-color:var(--ink);transform:translateY(-2px);}

  /* ===== IMAGE SLOTS ===== */
  .img-slot{
    position:relative;
    width:100%;height:100%;
    min-height:100%;
    background:
      repeating-linear-gradient(135deg, rgba(19,27,34,.06) 0 2px, transparent 2px 14px),
      linear-gradient(135deg,#dfd6b8,#c9bd9a);
    display:flex;align-items:center;justify-content:center;
    text-align:center;
    border:1px dashed rgba(19,27,34,.35);
    overflow:hidden;
  }
  .img-slot span{
    font-family:'JetBrains Mono',monospace;
    font-size:11px;
    line-height:1.5;
    letter-spacing:.03em;
    color:#5c5540;
    background:rgba(243,238,225,.85);
    padding:8px 12px;
    border-radius:3px;
    max-width:85%;
  }
  .img-slot.has-img{border:none;background:var(--ink);}
  .img-slot.has-img img{
    width:100%;height:100%;object-fit:cover;object-position:center;
    display:block;transform:scale(1.08);
    transition:transform 1.1s cubic-bezier(.22,.68,0,1.01), filter .6s ease;
    filter:saturate(1.04) contrast(1.02);
    will-change:transform;
  }
  .activity-card:hover .img-slot.has-img img,
  .pkg-card:hover .img-slot.has-img img,
  .trip-card:hover .img-slot.has-img img{transform:scale(1.16);}
  .hero-parallax img{transform:scale(1.15);}

  /* ===== SCROLL PROGRESS — CSS scroll-driven animation (no JS scroll listener) ===== */
  .scroll-progress{
    position:fixed;top:0;left:0;height:3px;
    background:linear-gradient(90deg,var(--amber),var(--amber-2));
    z-index:999;
    width:100%;
    transform-origin:left;
    transform:scaleX(0);
    animation:scroll-progress-anim linear both;
    animation-timeline:scroll();
    box-shadow:0 0 10px rgba(217,164,65,.5);
  }
  @keyframes scroll-progress-anim{
    from{transform:scaleX(0);}
    to{transform:scaleX(1);}
  }
  /* Fallback for browsers without scroll-driven animation support */
  @supports not (animation-timeline: scroll()) {
    .scroll-progress { width: 0%; transform: none; animation: none; transition: width .1s linear; }
  }

  /* ===== CUSTOM CURSOR ===== */
  .cursor-dot{position:fixed;top:0;left:0;width:8px;height:8px;background:var(--amber);border-radius:50%;pointer-events:none;z-index:998;transform:translate(-50%,-50%);transition:opacity .2s;mix-blend-mode:difference;}
  .cursor-ring{position:fixed;top:0;left:0;width:36px;height:36px;border:1px solid rgba(217,164,65,.6);border-radius:50%;pointer-events:none;z-index:997;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease,opacity .2s ease,border-color .3s ease;}
  .cursor-ring.grow{width:64px;height:64px;border-color:var(--amber);background:rgba(217,164,65,.07);}
  @media (hover:none), (max-width:980px){.cursor-dot,.cursor-ring{display:none;}}

  /* ===== MAGNETIC BUTTON WRAP ===== */
  .magnetic{position:relative;display:inline-block;}

  /* ===== TILT CARD ===== */
  .tilt{transform-style:preserve-3d;perspective:900px;}

  /* ===== FADE-UP STAGGER ===== */
  .stagger .reveal{transition-delay:calc(var(--i,0) * 55ms);}

  /* ===== MARQUEE ===== */
  .marquee{
    overflow:hidden;background:var(--ink);border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light);
    padding:16px 0;white-space:nowrap;
  }
  .marquee-track{display:inline-flex;gap:40px;animation:marquee 28s linear infinite;}
  .marquee-track span{
    font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;
    color:rgba(243,238,225,.5);display:inline-flex;align-items:center;gap:12px;
  }
  .marquee-track span::after{content:"/";color:var(--amber);opacity:.7;font-weight:300;}
  @keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

  /* ===== GRAIN OVERLAY ===== */
  .grain{position:fixed;inset:0;z-index:1000;pointer-events:none;opacity:.03;mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }

  /* ===== BLOG TEASER CARDS (home) ===== */
  .blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  .blog-card{
    position:relative;display:block;height:340px;border-radius:var(--radius-card);overflow:hidden;
    color:var(--cream);text-decoration:none;
    transition:transform .35s ease, box-shadow .35s ease;
  }
  .blog-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(19,27,34,.22);}
  .blog-card .img-slot{position:absolute;inset:0;height:100%;border:none;border-radius:0;}
  .blog-card::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(0deg, rgba(19,27,34,.93) 0%, rgba(19,27,34,.5) 38%, rgba(19,27,34,.08) 70%);
    transition:background .35s ease;pointer-events:none;
  }
  .blog-card:hover::after{background:linear-gradient(0deg, rgba(19,27,34,.96) 0%, rgba(19,27,34,.72) 55%, rgba(19,27,34,.16) 100%);}
  .blog-body{position:absolute;left:0;right:0;bottom:0;padding:20px 22px;z-index:1;}
  .blog-body .tag{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--amber);}
  .blog-body h3{font-size:18px;margin:8px 0 0;color:var(--cream);line-height:1.3;}
  .blog-body p{
    font-size:13px;color:rgba(243,238,225,.82);margin:8px 0 0;line-height:1.5;
  }
  .blog-body .readmore{
    display:inline-block;margin-top:10px;font-family:'JetBrains Mono',monospace;font-size:10px;
    color:var(--amber);letter-spacing:.04em;
  }
  @media (max-width:980px){.blog-grid{grid-template-columns:1fr 1fr;}.blog-card{height:300px;}}
  @media (max-width:620px){
    .blog-grid{grid-template-columns:1fr;}
    .blog-card{height:260px;}
  }

  /* ===== HEADER ===== */
  header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    padding:20px 0;
    transition:background .35s ease, padding .35s ease, box-shadow .35s ease;
  }
  header .wrap{display:flex;align-items:center;justify-content:space-between;}
  header.scrolled{
    background:rgba(19,27,34,.96);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    padding:12px 0;
    box-shadow:0 4px 20px rgba(0,0,0,.18);
  }
  .logo{display:flex;align-items:center;gap:14px;flex-shrink:0;min-width:0;}
  .logo-img{
    height:60px;
    width:60px;
    flex-shrink:0;
    object-fit:contain;
    object-position:center;
    display:block;
    transition:height .3s ease, width .3s ease;
  }
  header.scrolled .logo-img{height:48px;width:48px;}
  .logo-admin .logo-img{
    height:48px;
    width:auto;
    max-width:min(220px, 42vw);
    object-fit:contain;
    object-position:center;
  }
  .logo:has(.logo-img):not(.logo-admin) .logo-text{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:3px;
    min-width:0;
  }
  .foot-logo .logo-img,
  footer .logo-img{
    height:48px;
    width:48px;
    object-fit:contain;
    object-position:center;
  }
  .foot-logo .logo-text,
  footer .logo-text{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:3px;
    font-size:18px;
    color:var(--cream);
  }
  .logo-text{font-family:'Fraunces',serif;font-size:22px;color:var(--cream);line-height:1.05;letter-spacing:-.01em;white-space:nowrap;}
  .logo-title{white-space:nowrap;}
  .logo-text em{font-style:italic;color:var(--amber);}
  .logo-text small{
    display:block;
    font-family:'JetBrains Mono',monospace;
    font-style:normal;
    font-size:8.5px;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:rgba(243,238,225,.6);
    margin-top:0;
    line-height:1.3;
  }

  nav.mainnav{display:flex;align-items:center;gap:32px;}
  nav.mainnav a{
    font-size:13.5px;color:var(--cream);opacity:.8;position:relative;padding:4px 0;
    font-family:'Manrope',sans-serif;font-weight:500;letter-spacing:.01em;
    transition:opacity .2s ease;
  }
  nav.mainnav a:hover{opacity:1;}
  nav.mainnav a::after{
    content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--amber);
    transition:width .25s ease;
  }
  nav.mainnav a:hover::after,
  nav.mainnav a.active::after{width:100%;}
  nav.mainnav a.active{color:var(--amber);opacity:1;}

  .header-right{display:flex;align-items:center;gap:16px;}
  .burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px;}
  .burger span{width:22px;height:1.5px;background:var(--cream);display:block;transition:transform .25s ease, opacity .25s ease;}

  /* ===== HERO ===== */
  .hero{
    position:relative;
    min-height:100dvh; /* iOS Safari viewport stability */
    display:flex;flex-direction:column;justify-content:flex-end;
    color:var(--cream);
    overflow:visible;
  }
  .hero .img-slot{position:absolute;inset:0;z-index:0;border:none;overflow:hidden;}
  .hero::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(19,27,34,.3) 0%, rgba(19,27,34,.1) 28%, rgba(19,27,34,.88) 100%);
    z-index:1;
  }
  /* Hero top padding: max 96px per SKILL.md cap */
  .hero-content{position:relative;z-index:2;padding:96px 0 0;}
  .hero-flightline{
    position:absolute;z-index:2;top:0;right:6%;height:100%;width:1px;
    opacity:.3;pointer-events:none;
  }
  .hero h1{
    font-size:clamp(46px,8vw,96px);
    line-height:.97;
    max-width:900px;
  }
  .hero h1 em{font-style:italic;color:var(--amber);line-height:1.05;padding-bottom:4px;}
  .hero p.lede{
    font-size:17px;max-width:460px;margin:22px 0 0;color:rgba(243,238,225,.82);
    font-weight:400;line-height:1.65;
  }

  /* search card */
  .search-card{
    position:relative;z-index:3;
    margin:48px 0 -76px;
    background:var(--cream);
    color:var(--text-dark);
    border-radius:var(--radius-card);
    box-shadow:0 28px 56px rgba(0,0,0,.32);
    padding:24px 28px;
    display:grid;
    grid-template-columns:1.2fr 1fr 1fr auto;
    gap:0;
  }
  .search-field{
    padding:6px 22px;
    border-right:1px solid var(--line);
  }
  .search-field:first-child{padding-left:0;}
  .search-field label{
    display:block;font-family:'JetBrains Mono',monospace;font-size:9.5px;
    letter-spacing:.1em;text-transform:uppercase;color:var(--text-mute);margin-bottom:6px;
  }
  .search-field select{
    width:100%;border:none;background:none;font-family:'Manrope',sans-serif;
    font-size:15px;font-weight:600;color:var(--text-dark);appearance:none;cursor:pointer;
  }
  .search-submit{
    display:flex;align-items:center;justify-content:center;padding-left:22px;
  }
  .search-submit button{width:100%;justify-content:center;}

  /* ===== SMART SEARCH (single field, typing + dropdown) ===== */
  .smart-search-card{grid-template-columns:1fr auto;}
  .smart-search-field{position:relative;padding-left:0;border-right:none;}
  .smart-search-field input{
    width:100%;border:none;background:none;font-family:'Manrope',sans-serif;
    font-size:15px;font-weight:600;color:var(--text-dark);outline:none;
  }
  .smart-search-field input::placeholder{color:var(--text-mute);font-weight:500;}
  .smart-search-dropdown{
    position:absolute;top:calc(100% + 14px);left:0;right:-160px;background:var(--cream);
    border:1px solid var(--line);border-radius:10px;margin-top:2px;max-height:320px;
    overflow-y:auto;box-shadow:0 24px 48px rgba(0,0,0,.18);z-index:60;display:none;
  }
  .smart-search-dropdown.is-open{display:block;}
  .smart-search-item{
    padding:12px 18px;cursor:pointer;font-size:14px;font-weight:600;color:var(--text-dark);
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    border-bottom:1px solid rgba(0,0,0,.05);transition:background .15s ease;
  }
  .smart-search-item:last-child{border-bottom:none;}
  .smart-search-item:hover,.smart-search-item.active{background:rgba(217,164,65,.14);}
  .smart-search-item .ss-tag{
    flex-shrink:0;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.08em;
    text-transform:uppercase;color:var(--amber);border:1px solid rgba(217,164,65,.4);
    padding:3px 8px;border-radius:20px;
  }
  .smart-search-empty{padding:16px 18px;font-size:13px;color:var(--text-mute);}
  @media (max-width:768px){
    .smart-search-dropdown{right:0;}
  }

  /* ===== STATS ===== */
  .stats{
    background:var(--ink);color:var(--cream);
    padding:96px 0 72px;
    position:relative;
  }
  .stats-grid{
    display:grid;grid-template-columns:repeat(4,1fr);
    position:relative;
  }
  .stats-grid::before{
    content:"";position:absolute;top:0;left:12%;right:12%;height:1px;
    background-image:linear-gradient(90deg, rgba(217,164,65,.4) 0 5px, transparent 5px 13px);
    background-size:13px 1px;
  }
  .stat{text-align:center;position:relative;padding-top:24px;}
  .stat .num{font-family:'JetBrains Mono',monospace;font-size:clamp(30px,4vw,44px);color:var(--amber);font-weight:600;line-height:1;}
  .stat .label{font-size:12.5px;color:rgba(243,238,225,.6);margin-top:8px;letter-spacing:.02em;}

  /* ===== SECTION GENERIC ===== */
  section{padding:96px 0;}
  /* Section head: VERTICAL STACK only — split-header pattern banned */
  .section-head{
    display:flex;flex-direction:column;gap:14px;margin-bottom:52px;
  }
  .section-head h2{font-size:clamp(32px,4vw,50px);max-width:640px;}
  .section-head p{max-width:520px;color:var(--text-mute);font-size:15px;margin:0;line-height:1.65;}
  /* View-all link in section-head */
  .section-head-row{
    display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:52px;
    flex-wrap:wrap;
  }
  .section-head-row > div {flex:1;min-width:260px;}

  /* ===== ACTIVITIES — image is the button, content overlays on top ===== */
  .activities-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
  }
  .activity-card{
    position:relative;overflow:hidden;height:260px;border-radius:var(--radius-card);
    transition:transform .3s ease, box-shadow .3s ease;
  }
  .activity-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(19,27,34,.18);}
  .activity-card .img-slot{position:absolute;inset:0;height:100%;border:none;border-radius:0;}
  .activity-card::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(0deg, rgba(19,27,34,.9) 0%, rgba(19,27,34,.4) 45%, rgba(19,27,34,.05) 75%);
    pointer-events:none;transition:background .3s ease;z-index:1;
  }
  .activity-card:hover::after{background:linear-gradient(0deg, rgba(19,27,34,.94) 0%, rgba(19,27,34,.58) 55%, rgba(19,27,34,.1) 100%);}
  .activity-body{position:absolute;left:0;right:0;bottom:0;padding:16px 18px;z-index:2;}
  .activity-body h3{font-size:16px;margin:0 0 6px;color:var(--cream);line-height:1.3;}
  /* Touch-accessible: always show p, not hover-only */
  .activity-body p{
    font-size:12.5px;color:rgba(243,238,225,.8);margin:0;line-height:1.5;
  }
  .activity-card:hover .activity-body h3{color:var(--amber);}

  /* ===== PACKAGES CAROUSEL ===== */
  .carousel-row{
    display:flex;gap:18px;overflow-x:auto;padding-bottom:10px;padding-top:10px;
    scroll-snap-type:x mandatory;
    -ms-overflow-style:none;scrollbar-width:none;
  }
  .carousel-row::-webkit-scrollbar{display:none;}
  .pkg-card{
    position:relative;overflow:hidden;
    flex:0 0 300px;height:380px;scroll-snap-align:start;border-radius:var(--radius-card);
    transition:transform .3s ease, box-shadow .3s ease;
  }
  .pkg-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(19,27,34,.22);}
  .pkg-card .img-slot{position:absolute;inset:0;height:100%;border:none;}
  .pkg-card::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(0deg, rgba(19,27,34,.92) 0%, rgba(19,27,34,.48) 42%, rgba(19,27,34,.05) 75%);
    pointer-events:none;transition:background .3s ease;
  }
  .pkg-card:hover::after{background:linear-gradient(0deg, rgba(19,27,34,.96) 0%, rgba(19,27,34,.62) 55%, rgba(19,27,34,.12) 100%);}
  .pkg-body{position:absolute;left:0;right:0;bottom:0;padding:18px 20px 20px;z-index:1;}
  .pkg-days{
    position:absolute;top:16px;right:16px;
    background:var(--amber);color:var(--ink);
    font-family:'JetBrains Mono',monospace;font-size:10.5px;
    padding:5px 11px;border-radius:var(--radius-btn);letter-spacing:.06em;
    font-weight:600;
  }
  .pkg-body h3{font-size:18px;margin:0;color:var(--cream);}
  .pkg-body .tag{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--amber);letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;display:block;}
  .carousel-nav{display:flex;gap:10px;margin-top:24px;}
  .carousel-nav button{
    width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:none;
    cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .25s, border-color .25s, color .25s;
    color:var(--ink);
  }
  .carousel-nav button:hover{background:var(--ink);border-color:var(--ink);color:var(--cream);}
  .carousel-nav button svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}

  /* ===== FEATURED TRIPS ===== */
  .featured-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
  }
  .trip-card{position:relative;}
  .trip-card .img-slot{height:340px;border:none;border-radius:var(--radius-card);}
  .trip-overlay{
    position:absolute;inset:0;border-radius:var(--radius-card);
    background:linear-gradient(180deg, rgba(19,27,34,0) 40%, rgba(19,27,34,.88) 100%);
    display:flex;flex-direction:column;justify-content:flex-end;padding:26px;color:var(--cream);
  }
  .trip-overlay .tag{
    font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.08em;
    text-transform:uppercase;color:var(--amber);margin-bottom:8px;display:block;
  }
  .trip-overlay h3{font-size:22px;color:var(--cream);}
  .trip-overlay .days{font-size:12.5px;color:rgba(243,238,225,.65);margin-top:6px;}
  .trip-overlay .view{
    margin-top:14px;font-family:'JetBrains Mono',monospace;font-size:11px;
    display:inline-flex;align-items:center;gap:6px;color:var(--cream);
    border-bottom:1px solid rgba(243,238,225,.35);padding-bottom:3px;width:max-content;
  }

  /* ===== WHY BOOK ===== */
  .why{background:var(--ink);color:var(--cream);}
  .why .wrap{display:grid;grid-template-columns:.9fr 1.4fr;gap:64px;}
  .why-left h2{font-size:clamp(34px,4.2vw,54px);color:var(--cream);}
  .why-left h2 em{color:var(--amber);font-style:italic;}
  .why-left p{color:rgba(243,238,225,.62);margin-top:18px;max-width:340px;font-size:15px;line-height:1.7;}
  /* Why-list: proper grid with individual cell borders, not gap:2px trick */
  .why-list{
    display:grid;grid-template-columns:1fr 1fr;
    border:1px solid var(--line-light);
    border-radius:var(--radius-card);
    overflow:hidden;
  }
  .why-item{
    background:var(--ink);
    padding:30px 26px;
    border-right:1px solid var(--line-light);
    border-bottom:1px solid var(--line-light);
    transition:background .25s ease;
  }
  .why-item:nth-child(even){border-right:none;}
  .why-item:nth-last-child(-n+2){border-bottom:none;}
  .why-item:hover{background:rgba(255,255,255,.03);}
  .why-item svg{width:24px;height:24px;color:var(--amber);margin-bottom:16px;}
  .why-item h3{color:var(--cream);font-size:16px;margin-bottom:8px;}
  .why-item p{color:rgba(243,238,225,.58);font-size:13px;margin:0;line-height:1.65;}

  /* ===== DESTINATIONS ===== */
  .dest-wrap{position:relative;}
  .dest-grid{
    display:flex;flex-wrap:wrap;gap:12px;position:relative;z-index:2;
  }
  .dest-pill{
    font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.05em;
    padding:12px 20px;border:1px solid var(--line);border-radius:var(--radius-pill);
    background:var(--cream);cursor:pointer;transition:border-color .25s, color .25s, transform .25s;text-transform:uppercase;
  }
  a.dest-pill:hover{border-color:var(--amber);color:var(--amber);transform:translateY(-2px);}

  /* ===== CTA ===== */
  .cta{
    position:relative;color:var(--cream);text-align:center;overflow:hidden;
  }
  .cta .img-slot{position:absolute;inset:0;border:none;z-index:0;}
  .cta::after{content:"";position:absolute;inset:0;background:rgba(19,27,34,.82);z-index:1;}
  .cta .wrap{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;}
  .cta .eyebrow{justify-content:center;}
  .cta .eyebrow::before{display:none;}
  .cta h2{font-size:clamp(34px,5vw,62px);max-width:760px;}
  .cta h2 em{font-style:italic;color:var(--amber);}
  .cta p{max-width:480px;color:rgba(243,238,225,.72);margin:20px 0 32px;font-size:16px;line-height:1.65;}

  /* ===== FOOTER ===== */
  footer{background:var(--ink-2);color:var(--cream);padding:80px 0 28px;}
  .foot-grid{display:grid;grid-template-columns: 1.2fr 0.8fr 0.8fr 0.8fr 1.1fr;gap:48px;}
  .foot-logo{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
  .foot-about p{color:rgba(243,238,225,.58);font-size:14px;max-width:280px;line-height:1.7;}
  .foot-social{display:flex;gap:10px;margin-top:20px;}
  .foot-social a{
    width:36px;height:36px;border:1px solid var(--line-light);border-radius:50%;
    display:flex;align-items:center;justify-content:center;transition:background .25s, border-color .25s, color .25s;
  }
  .foot-social a:hover{background:var(--amber);border-color:var(--amber);color:var(--ink);}
  footer h4{
    font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;
    text-transform:uppercase;color:var(--amber);margin-bottom:18px;font-weight:500;
  }
  footer ul li{margin-bottom:10px;}
  footer ul li a{font-size:14px;color:rgba(243,238,225,.7);transition:color .2s;line-height:1.5;}
  footer ul li a:hover{color:var(--amber);}
  .foot-contact li{font-size:13.5px;color:rgba(243,238,225,.7);margin-bottom:12px;line-height:1.55;}
  .foot-contact li strong{display:block;color:var(--cream);font-size:10.5px;font-family:'JetBrains Mono',monospace;letter-spacing:.07em;text-transform:uppercase;margin-bottom:3px;}
  .foot-bottom{
    margin-top:56px;padding-top:22px;border-top:1px solid var(--line-light);
    display:flex;justify-content:space-between;font-size:12px;color:rgba(243,238,225,.45);
    font-family:'JetBrains Mono',monospace;flex-wrap:wrap;gap:8px;
  }

  /* ===== WHATSAPP FLOAT ===== */
  .wa-float{
    position:fixed;bottom:24px;right:24px;z-index:200;
    width:54px;height:54px;border-radius:50%;background:#25D366;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 8px 24px rgba(0,0,0,.28);
    transition:transform .25s ease;
  }
  .wa-float:hover{transform:scale(1.08);}
  .wa-float svg{width:26px;height:26px;fill:#fff;}

  /* ===== RESPONSIVE ===== */
  @media (max-width:980px){
    nav.mainnav{display:none;}
    .burger{display:flex;}
    .logo-img{height:50px;width:50px;}
    header.scrolled .logo-img{height:44px;width:44px;}
    .logo-text{font-size:18px;}
    .foot-logo .logo-img, footer .logo-img{height:40px;width:40px;}
    .btn-admin{padding:9px 11px;}
    .btn-admin-label{display:none;}
    .user-menu-name{max-width:100px;}
    .user-menu-trigger{font-size:14px;padding:9px 12px;}
    .search-card{grid-template-columns:1fr 1fr;row-gap:18px;}
    .search-field{border-right:none;padding-left:0;}
    .search-submit{grid-column:span 2;padding-left:0;}
    .stats-grid{grid-template-columns:repeat(2,1fr);row-gap:36px;}
    .stats-grid::before{display:none;}
    .activities-grid{grid-template-columns:repeat(2,1fr);}
    .featured-grid{grid-template-columns:repeat(2,1fr);}
    .why .wrap{grid-template-columns:1fr;}
    .why-list{grid-template-columns:1fr;}
    .why-item:nth-child(even){border-right:none;}
    .why-item:last-child{border-bottom:none;}
    .why-item:nth-last-child(-n+2){border-bottom:1px solid var(--line-light);}
    .why-item:last-child{border-bottom:none;}
    .foot-grid{grid-template-columns:1fr 1fr;row-gap:38px;}
    section{padding:80px 0;}
  }
  @media (max-width:620px){
    .wrap{padding:0 18px;}
    .logo{gap:10px;}
    .logo-img{height:44px;width:44px;}
    header.scrolled .logo-img{height:40px;width:40px;}
    .logo-text{font-size:16px;}
    .logo-text small{font-size:8px;letter-spacing:.14em;}
    section{padding:72px 0;}
    .activities-grid{grid-template-columns:1fr;}
    .featured-grid{grid-template-columns:1fr;}
    .search-card{grid-template-columns:1fr;margin-bottom:-40px;}
    .search-submit{grid-column:span 1;}
    .stats-grid{grid-template-columns:1fr 1fr;}
    .foot-grid{grid-template-columns:1fr;}
    .section-head{gap:10px;}
    .activity-card{height:230px;}
    .blog-grid{grid-template-columns:1fr;}
    .blog-card{height:260px;}
  }

  .reveal{opacity:0;transform:translateY(12px);transition:opacity .5s ease, transform .5s ease;}
  .activities-grid .reveal,.featured-grid .reveal,.blog-grid .reveal{transform:translateY(8px);}
  .reveal.is-visible{opacity:1;transform:translateY(0);}

/* ===================================================== */
/* ===============  JOURNAL / BLOG PAGES  =============== */
/* ===================================================== */
nav.mainnav a.active{color:var(--amber);opacity:1;}
nav.mainnav a.active::after{width:100%;}

.post-hero{position:relative;min-height:78vh;display:flex;align-items:flex-end;color:var(--cream);overflow:hidden;}
.post-hero .img-slot{position:absolute;inset:0;border:none;z-index:0;}
.post-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(19,27,34,.22) 0%, rgba(19,27,34,.32) 40%, rgba(19,27,34,.93) 100%);z-index:1;}
.post-hero-content{position:relative;z-index:2;padding:140px 0 60px;}
.back-link{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:rgba(243,238,225,.72);margin-bottom:20px;border-bottom:1px solid rgba(243,238,225,.28);padding-bottom:3px;transition:color .2s, border-color .2s;}
.back-link:hover{color:var(--amber);border-color:var(--amber);}
.post-hero h1{font-size:clamp(36px,6vw,70px);line-height:1.02;max-width:880px;color:var(--cream);}
.post-meta{margin-top:20px;display:flex;gap:12px;align-items:center;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:rgba(243,238,225,.6);flex-wrap:wrap;}
.post-meta .dot{color:var(--amber);}

.post-body{padding:96px 0 40px;}
.post-wrap{max-width:800px;}
.post-lede{font-family:'Fraunces',serif;font-size:22px;line-height:1.55;font-weight:400;font-style:italic;color:var(--ink);margin-bottom:48px;border-left:3px solid var(--amber);padding-left:24px;}
.post-section{margin-bottom:48px;}
.post-section h2{font-size:clamp(24px,3vw,32px);margin-bottom:16px;}
.post-section h2 em{color:var(--amber);font-style:italic;}
.post-section p{font-size:16px;line-height:1.85;color:var(--text-dark);margin:0 0 18px;}
.post-section p:last-child{margin-bottom:0;}
.pull-stat{
  display:flex;gap:28px;flex-wrap:wrap;margin:32px 0;padding:24px 28px;
  background:var(--cream-2);border-left:3px solid var(--amber);border-radius:2px;
}
.pull-stat div{display:flex;flex-direction:column;}
.pull-stat strong{font-family:'JetBrains Mono',monospace;font-size:24px;color:var(--amber);}
.pull-stat span{font-size:11.5px;color:var(--text-mute);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;}
.post-list{margin:0 0 18px;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;}
.post-list li{position:relative;padding-left:28px;font-size:15px;line-height:1.65;color:var(--text-dark);}
.post-list li::before{content:"";position:absolute;left:0;top:9px;width:14px;height:1px;background:var(--amber);}
.post-list li strong{color:var(--ink);}

.post-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:52px 0;}
.post-gallery .img-slot{height:220px;border:none;border-radius:var(--radius-card);}

.post-cta{
  background:var(--ink);color:var(--cream);padding:48px 40px;border-radius:var(--radius-card);text-align:center;margin-top:20px;
}
.post-cta h2{color:var(--cream);font-size:clamp(24px,3.2vw,36px);margin:10px 0 14px;}
.post-cta p{color:rgba(243,238,225,.68);max-width:480px;margin:0 auto 24px;font-size:15px;line-height:1.65;}

.related{padding:96px 0 120px;background:var(--cream-2);}

/* ===== BLOG INDEX ===== */
.journal-hero{padding:180px 0 64px;background:var(--ink);color:var(--cream);}
.journal-hero .eyebrow{color:var(--amber);}
.journal-hero h1{font-size:clamp(40px,6vw,80px);color:var(--cream);max-width:760px;}
.journal-hero h1 em{color:var(--amber);font-style:italic;}
.journal-hero p{color:rgba(243,238,225,.62);max-width:480px;margin-top:18px;font-size:16px;line-height:1.65;}
.journal-index{padding:80px 0 120px;}
.journal-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:52px;}
.journal-filter button{
  font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.05em;text-transform:uppercase;
  padding:10px 18px;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--cream);cursor:pointer;transition:background .2s, border-color .2s, color .2s;
}
.journal-filter button:hover, .journal-filter button.active{background:var(--ink);border-color:var(--ink);color:var(--cream);}

@media (max-width:980px){
  .post-hero-content{padding:130px 0 48px;}
  .post-gallery{grid-template-columns:1fr 1fr;}
}
@media (max-width:620px){
  .post-gallery{grid-template-columns:1fr;}
  .post-cta{padding:34px 22px;}
  .post-lede{font-size:18px;padding-left:16px;}
}

/* ===================================================== */
/* ============  DESTINATION / ACTIVITY / TRIP PAGES  === */
/* ===================================================== */
.idx-hero{padding:180px 0 64px;background:var(--ink);color:var(--cream);}
.idx-hero .eyebrow{color:var(--amber);}
.idx-hero h1{font-size:clamp(40px,6.5vw,80px);color:var(--cream);max-width:800px;}
.idx-hero h1 em{color:var(--amber);font-style:italic;}
.idx-hero p{color:rgba(243,238,225,.62);max-width:520px;margin-top:18px;font-size:16px;line-height:1.65;}
.idx-grid-wrap{padding:80px 0 120px;}

.dest-card{position:relative;overflow:hidden;border-radius:var(--radius-card);}
.dest-card .img-slot{height:340px;border:none;}
.dest-card .card-overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(19,27,34,0) 35%, rgba(19,27,34,.9) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:26px;color:var(--cream);}
.dest-card .card-overlay .tag{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--amber);}
.dest-card .card-overlay h3{font-size:22px;color:var(--cream);margin:8px 0 6px;}
.dest-card .card-overlay p{font-size:13px;color:rgba(243,238,225,.68);margin:0 0 12px;line-height:1.5;}
.dest-card .card-overlay .view{font-family:'JetBrains Mono',monospace;font-size:11.5px;border-bottom:1px solid rgba(243,238,225,.35);padding-bottom:2px;width:max-content;}
.dest-card .trip-card-media{position:absolute;inset:0;z-index:3;}
.dest-grid-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media(max-width:980px){.dest-grid-cards{grid-template-columns:1fr 1fr;}}
@media(max-width:620px){.dest-grid-cards{grid-template-columns:1fr;}}

.act-card{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;transition:transform .3s ease, box-shadow .3s ease;}
.act-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(19,27,34,.12);}
.act-card .img-slot{height:220px;border:none;}
.act-card .act-body{padding:20px 22px 24px;}
.act-card .act-body h3{font-size:18px;margin:8px 0;}
.act-card .act-body p{font-size:13px;color:var(--text-mute);margin:0 0 14px;line-height:1.6;}

/* -- Destination detail page -- */
.dp-hero{position:relative;min-height:84vh;display:flex;align-items:flex-end;color:var(--cream);overflow:hidden;}
.dp-hero .img-slot{position:absolute;inset:0;border:none;z-index:0;}
.dp-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(19,27,34,.2) 0%, rgba(19,27,34,.28) 45%, rgba(19,27,34,.94) 100%);z-index:1;}
.dp-hero-content{position:relative;z-index:2;padding:160px 0 64px;}
.dp-hero h1{font-size:clamp(40px,7vw,84px);line-height:.98;max-width:820px;color:var(--cream);}
.dp-hero h1 em{color:var(--amber);font-style:italic;}
.dp-stats{display:flex;gap:32px;flex-wrap:wrap;margin-top:24px;}
.dp-stats div{display:flex;flex-direction:column;}
.dp-stats strong{font-family:'JetBrains Mono',monospace;font-size:20px;color:var(--amber);}
.dp-stats span{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:rgba(243,238,225,.58);margin-top:4px;}

.dp-body{padding:96px 0 20px;}
.dp-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:60px;}
.dp-overview p{font-size:16px;line-height:1.85;color:var(--text-dark);margin:0 0 18px;}
.dp-highlights{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:34px 0;}
.dp-highlights li{list-style:none;position:relative;padding:14px 14px 14px 38px;background:var(--cream-2);border-radius:var(--radius-btn);font-size:13.5px;line-height:1.5;}
.dp-highlights li::before{content:"";position:absolute;left:14px;top:18px;width:8px;height:8px;border-radius:50%;background:var(--amber);}

.itin-day{border-left:2px solid var(--line);padding:0 0 32px 24px;position:relative;margin-left:6px;}
.itin-day::before{content:"";position:absolute;left:-7px;top:2px;width:12px;height:12px;border-radius:50%;background:var(--amber);border:3px solid var(--cream);}
.itin-day .day-num{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--amber);margin-bottom:6px;}
.itin-day h4{font-size:17px;margin-bottom:8px;}
.itin-day p{font-size:14px;color:var(--text-mute);line-height:1.7;margin:0;}

.dp-sidebar{position:sticky;top:106px;align-self:start;}
.sb-card{background:var(--ink);color:var(--cream);border-radius:var(--radius-card);padding:28px 24px;margin-bottom:18px;}
.sb-card h4{color:var(--amber);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-family:'JetBrains Mono',monospace;margin-bottom:14px;}
.sb-card .price{font-family:'Fraunces',serif;font-size:30px;color:var(--cream);}
.sb-card .price small{font-family:'Manrope',sans-serif;font-size:12px;color:rgba(243,238,225,.52);}
.sb-card p{color:rgba(243,238,225,.62);font-size:13px;margin:10px 0 18px;line-height:1.6;}
.sb-list{background:var(--cream-2);border-radius:var(--radius-card);padding:24px;}
.sb-list h4{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-mute);font-family:'JetBrains Mono',monospace;margin-bottom:14px;}
.sb-list a{display:block;font-size:13.5px;padding:8px 0;border-bottom:1px solid var(--line);transition:color .2s, padding-left .2s;}
.sb-list a:hover{color:var(--amber);padding-left:5px;}
.sb-list a:last-child{border-bottom:none;}

.dp-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:48px 0;}
.dp-gallery .img-slot{height:200px;border:none;border-radius:var(--radius-card);}
@media(max-width:980px){.dp-gallery{grid-template-columns:1fr 1fr;}.dp-layout{grid-template-columns:1fr;}.dp-sidebar{position:static;}}
@media(max-width:620px){.dp-gallery{grid-template-columns:1fr;}}

.review-card{background:var(--cream-2);padding:22px;border-radius:var(--radius-card);}
.review-card .stars{color:var(--amber);font-size:14px;letter-spacing:2px;margin-bottom:10px;}
.review-card p{font-size:14px;color:var(--text-dark);line-height:1.7;margin:0 0 14px;}
.review-card .who{font-family:'JetBrains Mono',monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-mute);}
.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:28px 0 48px;}
@media(max-width:620px){.review-grid{grid-template-columns:1fr;}}

/* -- Activity detail page -- */
.ap-hero{position:relative;min-height:60vh;display:flex;align-items:flex-end;color:var(--cream);overflow:hidden;}
.ap-hero .img-slot{position:absolute;inset:0;border:none;}
.ap-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(19,27,34,.28) 0%, rgba(19,27,34,.93) 100%);z-index:1;}
.ap-hero-content{position:relative;z-index:2;padding:150px 0 52px;}
.ap-hero h1{font-size:clamp(34px,5.2vw,60px);color:var(--cream);max-width:700px;}
.ap-body{padding:80px 0 30px;}
.ap-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:52px;}
.ap-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0;}
.ap-facts div{background:var(--cream-2);padding:16px;border-radius:var(--radius-btn);}
.ap-facts strong{display:block;font-family:'JetBrains Mono',monospace;font-size:10.5px;text-transform:uppercase;color:var(--text-mute);margin-bottom:6px;}
.ap-facts span{font-size:15px;color:var(--ink);font-weight:600;}
.faq-item{border-bottom:1px solid var(--line);padding:16px 0;}
.faq-item summary{cursor:pointer;font-family:'Fraunces',serif;font-size:17px;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";font-family:'JetBrains Mono',monospace;font-size:20px;color:var(--amber);}
.faq-item[open] summary::after{content:"−";}
.faq-item p{font-size:14px;color:var(--text-mute);margin:10px 0 0;line-height:1.7;}

/* -- Trip type page -- */
.tp-hero{position:relative;min-height:56vh;display:flex;align-items:flex-end;color:var(--cream);overflow:hidden;}
.tp-hero .img-slot{position:absolute;inset:0;border:none;}
.tp-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(19,27,34,.25) 0%, rgba(19,27,34,.9) 100%);z-index:1;}
.tp-hero-content{position:relative;z-index:2;padding:140px 0 52px;}
.tp-hero h1{font-size:clamp(32px,5vw,56px);color:var(--cream);max-width:700px;}
.tp-body{padding:80px 0 40px;}
.tp-body p.intro{font-size:17px;line-height:1.8;max-width:760px;color:var(--text-dark);margin-bottom:38px;}

/* breadcrumb */
.crumb{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-mute);margin-bottom:14px;}
.crumb a{color:var(--text-mute);border-bottom:1px dotted var(--line);}
.crumb a:hover{color:var(--amber);}

/* ==========================================================================
   Part 5 — sitewide utility classes (mobile nav + common one-offs)
   ========================================================================== */
.mobile-nav-panel{display:none;position:fixed;inset:0;z-index:99;background:#131B22;padding:112px 32px 40px;}
.mobile-nav-list{display:flex;flex-direction:column;gap:24px;}
.mobile-nav-link{color:#F3EEE1;font-family:'Fraunces',serif;font-size:24px;transition:color .2s;}
.mobile-nav-link:hover{color:var(--amber);}
.text-amber{color:var(--amber);}
.btn-full-center{width:100%;justify-content:center;}
.related-grid-transparent{background:transparent;gap:18px;}
.section-alt-bg{background:var(--cream-2);}

/* ===== PREMIUM FORM CONTROLS ===== */
.premium-input, .premium-select, .premium-textarea {
  width: 100%;
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(243, 238, 225, 0.16);
  border-radius: var(--radius-input);
  color: var(--cream);
  font-family: 'Manrope', sans-serif;
  font-size: 14px;
  outline: none;
  transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
}
.premium-input::placeholder, .premium-textarea::placeholder {
  color: rgba(243, 238, 225, 0.38);
}
.premium-input:focus, .premium-select:focus, .premium-textarea:focus {
  background: rgba(255, 255, 255, 0.06);
  border-color: var(--amber);
  box-shadow: 0 0 0 3px rgba(217, 164, 65, 0.15);
}
/* Light-bg variants */
.premium-input-light, .premium-select-light, .premium-textarea-light {
  width: 100%;
  padding: 12px 14px;
  background: rgba(19, 27, 34, 0.02);
  border: 1px solid rgba(19, 27, 34, 0.14);
  border-radius: var(--radius-input);
  color: var(--ink);
  font-family: 'Manrope', sans-serif;
  font-size: 14px;
  outline: none;
  transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
}
.premium-input-light::placeholder, .premium-textarea-light::placeholder {
  color: rgba(19, 27, 34, 0.38);
}
/* Unified focus: amber everywhere for consistency */
.premium-input-light:focus, .premium-select-light:focus, .premium-textarea-light:focus {
  background: rgba(19, 27, 34, 0.04);
  border-color: var(--amber);
  box-shadow: 0 0 0 3px rgba(217, 164, 65, 0.15);
}

/* ===== SOCIAL CONTACT MODAL (shared) ===== */
.social-modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: rgba(19, 27, 34, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.social-modal-overlay.is-active {
  display: flex;
  opacity: 1;
}
.social-modal-card {
  background: var(--ink);
  color: var(--cream);
  width: 100%;
  max-width: 460px;
  padding: 36px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  position: relative;
  box-shadow: 0 36px 72px rgba(0, 0, 0, 0.55);
  transform: scale(0.96);
  transition: transform 0.3s ease;
}
.social-modal-overlay.is-active .social-modal-card {
  transform: scale(1);
}
.social-modal-close {
  position: absolute;
  top: 18px;
  right: 18px;
  background: none;
  border: none;
  font-size: 28px;
  cursor: pointer;
  color: rgba(243, 238, 225, 0.6);
  line-height: 1;
  transition: color 0.2s;
}
.social-modal-close:hover {
  color: var(--amber);
}
.social-grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 24px;
}
.social-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  border-radius: 6px;
  text-decoration: none;
  color: var(--cream);
  transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease;
  border: 1px solid rgba(255, 255, 255, 0.06);
}
.social-item.whatsapp { background: rgba(37, 211, 102, 0.07); }
.social-item.whatsapp:hover { background: rgba(37, 211, 102, 0.16); border-color: rgba(37, 211, 102, 0.38); transform: translateX(4px); }
.social-item.instagram { background: rgba(225, 48, 108, 0.07); }
.social-item.instagram:hover { background: rgba(225, 48, 108, 0.16); border-color: rgba(225, 48, 108, 0.38); transform: translateX(4px); }
.social-item.facebook { background: rgba(24, 119, 242, 0.07); }
.social-item.facebook:hover { background: rgba(24, 119, 242, 0.16); border-color: rgba(24, 119, 242, 0.38); transform: translateX(4px); }
.social-item.email { background: rgba(217, 164, 65, 0.06); }
.social-item.email:hover { background: rgba(217, 164, 65, 0.14); border-color: rgba(217, 164, 65, 0.3); transform: translateX(4px); }
.social-icon {
  width: 40px; height: 40px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
  color: #fff;
}
.social-icon svg { width: 20px; height: 20px; fill: currentColor; }
.social-item.whatsapp .social-icon { background: #25D366; }
.social-item.instagram .social-icon { background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); }
.social-item.facebook .social-icon { background: #1877F2; }
.social-item.email .social-icon { background: var(--amber); color: var(--ink); }
.social-info { flex-grow: 1; }
.social-info h5 { margin: 0 0 2px; font-size: 15px; font-weight: 600; font-family: 'Manrope', sans-serif; }
.social-info p { margin: 0; font-size: 11.5px; color: rgba(243, 238, 225, 0.56); font-family: 'JetBrains Mono', monospace; }
.social-action-arrow { font-size: 15px; color: var(--amber); transition: transform 0.2s; }
.social-item:hover .social-action-arrow { transform: translateX(3px); }
