:root{
    --ink:#0D1B42;
    --ink-2:#16265E;
    --coral:#EA4B5C;
    --gold:#D4A94B;
    --teal:#1FAE8E;
    --paper:#F6F1E4;
    --paper-line:#D8CDAE;
    --white:#FFFFFF;
    --shadow: 0 20px 40px rgba(13,27,66,0.25);
    --radius: 18px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'Space Grotesk', sans-serif;
    -webkit-font-smoothing:antialiased;
  }
  /* ========================================================
     GLOBAL ADVENTURE BACKGROUND — CSS-only (no images, no
     canvas, no JS), so it stays feather-light. Two fixed
     layers drift slowly behind the whole page: soft color
     blooms + a faint map-dot grid, and a big compass rose
     rotating in the corner. Sections with their own opaque
     background (cover, tribes, schedule, etc.) simply paint
     over this, so it only shows through the paper sections —
     tying the whole journey together without extra weight.
  ======================================================== */
  body::before{
    content:"";
    /* oversized + inset by -15% so the drift below never reveals an edge */
    position:fixed; top:-15%; left:-15%; right:-15%; bottom:-15%; z-index:-2;
    pointer-events:none;
    background:
      radial-gradient(circle at 8% 12%, rgba(212,169,75,0.30), transparent 40%),
      radial-gradient(circle at 92% 8%, rgba(31,174,142,0.24), transparent 42%),
      radial-gradient(circle at 82% 92%, rgba(234,75,92,0.22), transparent 44%),
      radial-gradient(circle at 12% 88%, rgba(139,92,246,0.20), transparent 42%),
      radial-gradient(circle at 50% 50%, rgba(31,174,142,0.10), transparent 55%),
      radial-gradient(rgba(216,205,174,0.7) 1px, transparent 1.4px);
    background-size:100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 30px 30px;
    /* transform-only animation = GPU compositor thread, zero repaint per frame */
    animation:skyDrift 26s ease-in-out infinite;
    will-change:transform;
    transform:translate3d(0,0,0);
    backface-visibility:hidden;
  }
  @keyframes skyDrift{
    0%,100%{transform:translate3d(0,0,0);}
    50%{transform:translate3d(1.8%,1.4%,0);}
  }
  body::after{
    content:"";
    position:fixed; z-index:-1; pointer-events:none;
    right:-160px; bottom:-160px; width:520px; height:520px;
    border-radius:50%;
    background:
      repeating-conic-gradient(from 0deg, rgba(212,169,75,0.20) 0deg 2deg, transparent 2deg 44deg),
      radial-gradient(circle, transparent 63%, rgba(212,169,75,0.20) 64%, transparent 65%),
      radial-gradient(circle, transparent 78%, rgba(212,169,75,0.13) 79%, transparent 80%);
    animation:bgCompassSpin 100s linear infinite;
    will-change:transform;
    backface-visibility:hidden;
  }
  @keyframes bgCompassSpin{ to{ transform:rotate(360deg); } }
  @media (max-width:700px){
    body::after{width:300px; height:300px; right:-100px; bottom:-100px;}
  }

  /* ---------- SKY-LAYER: visible animated travel decor for DARK sections ---------- */
  .sky-layer{position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0;}
  .sky-layer .cloud{
    position:absolute; font-size:46px; opacity:.28; filter:blur(.3px);
    animation:cloudDrift linear infinite;
  }
  .sky-layer .c1{top:8%;  font-size:52px; animation-duration:38s;}
  .sky-layer .c2{top:22%; font-size:34px; opacity:.2; animation-duration:52s; animation-delay:-14s;}
  .sky-layer .c3{top:60%; font-size:40px; opacity:.22; animation-duration:46s; animation-delay:-28s;}
  @keyframes cloudDrift{
    0%{transform:translateX(-20%);}
    100%{transform:translateX(120vw);}
  }
  .sky-layer .star{
    position:absolute; color:var(--gold); opacity:.7;
    animation:starTwinkle ease-in-out infinite;
  }
  .sky-layer .s1{top:14%; left:12%; font-size:16px; animation-duration:3.2s;}
  .sky-layer .s2{top:10%; left:76%; font-size:12px; animation-duration:2.6s; animation-delay:-.6s;}
  .sky-layer .s3{top:34%; left:88%; font-size:18px; animation-duration:3.6s; animation-delay:-1.4s;}
  .sky-layer .s4{top:70%; left:6%;  font-size:14px; animation-duration:2.9s; animation-delay:-2s;}
  .sky-layer .s5{top:82%; left:65%; font-size:16px; animation-duration:3.4s; animation-delay:-.9s;}
  @keyframes starTwinkle{
    0%,100%{opacity:.15; transform:scale(.8);}
    50%{opacity:.9; transform:scale(1.15);}
  }
  .sky-layer .balloon{
    position:absolute; font-size:34px; opacity:.5;
    animation:balloonFloat ease-in-out infinite;
  }
  .sky-layer .b1{left:16%; bottom:-10%; animation-duration:16s;}
  .sky-layer .b2{left:80%; bottom:-16%; font-size:26px; opacity:.4; animation-duration:21s; animation-delay:-6s;}
  @keyframes balloonFloat{
    0%{transform:translateY(0) translateX(0) rotate(0deg); opacity:0;}
    10%{opacity:.5;}
    50%{transform:translateY(-55vh) translateX(3vw) rotate(3deg);}
    90%{opacity:.5;}
    100%{transform:translateY(-115vh) translateX(-3vw) rotate(-3deg); opacity:0;}
  }
  .sky-layer .flying-plane{
    position:absolute; font-size:26px; opacity:.55;
    filter:drop-shadow(0 2px 4px rgba(0,0,0,0.4));
    animation:planeCross linear infinite;
  }
  .sky-layer .fp1{top:20%; animation-duration:22s;}
  .sky-layer .fp2{top:66%; font-size:20px; opacity:.4; animation-duration:30s; animation-delay:-9s;}
  @keyframes planeCross{
    0%{transform:translateX(-15vw) translateY(0) rotate(6deg); opacity:0;}
    8%{opacity:.55;}
    50%{transform:translateX(55vw) translateY(-18px) rotate(6deg);}
    92%{opacity:.55;}
    100%{transform:translateX(120vw) translateY(0) rotate(6deg); opacity:0;}
  }
  .sky-layer .globe-spin{
    position:absolute; right:4%; bottom:6%; font-size:64px; opacity:.16;
    animation:spin 40s linear infinite;
  }
  .sky-layer .mountain-row{
    position:absolute; left:50%; bottom:-4%; transform:translateX(-50%);
    font-size:110px; opacity:.28; letter-spacing:18px; white-space:nowrap;
    animation:skylineSway 26s ease-in-out infinite;
    filter:drop-shadow(0 0 18px rgba(212,169,75,0.15));
  }
  @keyframes skylineSway{
    0%,100%{transform:translateX(-52%) translateY(0);}
    50%{transform:translateX(-48%) translateY(-8px);}
  }
  @media(max-width:700px){
    .sky-layer .cloud{font-size:32px !important;}
    .sky-layer .globe-spin{font-size:44px;}
    .sky-layer .mountain-row{font-size:56px; letter-spacing:8px;}
    .sky-layer .balloon{font-size:24px !important;}
  }
  h1,h2,h3{font-family:'Archivo Black', sans-serif; margin:0; line-height:1.05; letter-spacing:-0.01em;}
  .stamp-font{font-family:'Special Elite', monospace;}
  a{color:inherit;}
  .wrap{max-width:1080px; margin:0 auto; padding:0 24px;}

  .cover{
    background:linear-gradient(160deg, var(--ink) 0%, var(--ink-2) 100%);
    color:var(--white);
    position:relative;
    overflow:hidden;
    padding:64px 0 90px;
  }
  .cover::before{
    content:""; position:absolute; inset:-25%; pointer-events:none; z-index:0;
    background-image:
      radial-gradient(circle at 82% 18%, rgba(234,75,92,0.45), transparent 42%),
      radial-gradient(circle at 68% 38%, rgba(31,174,142,0.36), transparent 45%);
    animation:auroraShiftHero 16s ease-in-out infinite;
    will-change:transform;
  }
  .cover .wrap{position:relative; z-index:1;}
  .cover .stamp, .cover .plane, .cover .compass-watermark{z-index:1;}
  @keyframes auroraShiftHero{
    0%,100%{transform:translate(0,0) scale(1);}
    50%{transform:translate(-6%,4%) scale(1.08);}
  }
  .cover::after{
    content:"";
    position:absolute; inset:10px;
    border:1.5px solid rgba(212,169,75,0.45);
    border-radius:22px;
    pointer-events:none;
  }
  .eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-family:'Special Elite', monospace;
    font-size:12.5px; letter-spacing:.14em; text-transform:uppercase;
    color:var(--gold); border:1px solid rgba(212,169,75,0.5);
    padding:6px 14px; border-radius:999px; margin-bottom:22px;
  }
  .cover h1{font-size:clamp(38px,7vw,72px); margin-bottom:14px;}
  .cover h1 span{color:var(--coral);}
  .cover p.lead{font-size:18px; max-width:520px; color:rgba(255,255,255,0.82); margin-bottom:34px;}
  .cover-meta{display:flex; flex-wrap:wrap; gap:22px; margin-bottom:40px; font-size:14.5px; color:rgba(255,255,255,0.75);}
  .cover-meta div{display:flex; align-items:center; gap:8px;}
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    background:var(--coral); color:var(--white); border:none;
    font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:16px;
    padding:16px 30px; border-radius:14px; cursor:pointer;
    box-shadow:0 12px 24px rgba(234,75,92,0.35);
    transition:transform .25s cubic-bezier(.34,1.7,.5,1), box-shadow .25s ease, filter .2s ease;
    text-decoration:none;
    position:relative; overflow:hidden;
  }
  .btn::before{
    content:""; position:absolute; top:0; left:-60%; width:40%; height:100%;
    background:linear-gradient(120deg, transparent, rgba(255,255,255,0.45), transparent);
    transform:skewX(-20deg);
    transition:left .5s ease;
    pointer-events:none;
  }
  .btn:hover::before{left:130%;}
  .btn:hover{transform:translateY(-3px) scale(1.035) rotate(-0.6deg); box-shadow:0 18px 32px rgba(234,75,92,0.45); filter:brightness(1.05);}
  .btn:active{transform:translateY(0) scale(0.96); box-shadow:0 8px 16px rgba(234,75,92,0.35); filter:brightness(0.97);}
  .btn.ghost{background:transparent; border:1.5px solid rgba(255,255,255,0.5); box-shadow:none;}
  .btn.ghost:hover{background:rgba(255,255,255,0.12); border-color:rgba(255,255,255,0.8); box-shadow:0 10px 20px rgba(0,0,0,0.15);}
  .btn.ghost:active{background:rgba(255,255,255,0.06);}

  .stamp{
    position:absolute; right:6%; top:60px;
    width:150px; height:150px;
    border:3px solid var(--gold);
    border-radius:50%;
    display:flex; align-items:center; justify-content:center; text-align:center;
    transform:rotate(-14deg);
    font-family:'Special Elite',monospace; color:var(--gold);
    font-size:13px; letter-spacing:.08em; line-height:1.4;
    opacity:.9;
  }
  .stamp::before{
    content:""; position:absolute; inset:8px; border:1px dashed var(--gold); border-radius:50%;
  }

  /* floating planes + compass watermark in hero */
  .compass-watermark{
    position:absolute; left:-120px; bottom:-160px; width:420px; height:420px;
    opacity:.14; pointer-events:none; animation:spin 90s linear infinite;
  }
  @keyframes spin{to{transform:rotate(360deg);}}
  .plane{
    position:absolute; font-size:22px; opacity:.5; pointer-events:none;
    filter:drop-shadow(0 2px 4px rgba(0,0,0,0.3));
  }
  .plane.p1{top:14%; left:8%; animation:fly1 26s linear infinite;}
  .plane.p2{top:58%; left:-5%; animation:fly2 34s linear infinite; animation-delay:-8s;}
  .plane.p3{top:32%; left:-10%; animation:fly1 40s linear infinite; animation-delay:-20s; font-size:16px;}
  @keyframes fly1{
    0%{transform:translate(0,0) rotate(8deg); opacity:0;}
    8%{opacity:.55;}
    92%{opacity:.55;}
    100%{transform:translate(115vw,-40px) rotate(8deg); opacity:0;}
  }
  @keyframes fly2{
    0%{transform:translate(0,0) rotate(-4deg); opacity:0;}
    8%{opacity:.4;}
    92%{opacity:.4;}
    100%{transform:translate(115vw,30px) rotate(-4deg); opacity:0;}
  }

  /* ---------- HERO PASSPORT VISUAL ---------- */
  .cover-grid{
    display:grid; grid-template-columns:1.15fr 0.85fr; align-items:center; gap:32px;
  }
  .cover-passport{
    display:flex; justify-content:center; align-items:center;
    perspective:1000px;
  }
  .passport-float{
    width:min(100%, 140px); height:auto; border-radius:8px;
    box-shadow:0 16px 30px rgba(0,0,0,0.4), 0 5px 10px rgba(212,169,75,0.15);
    animation:passportFloat 6s ease-in-out infinite;
    will-change:transform;
  }
  @keyframes passportFloat{
    0%,100%{transform:translateY(0) rotate(-4deg);}
    50%{transform:translateY(-12px) rotate(-1deg);}
  }
  @media(max-width:900px){
    .cover-grid{grid-template-columns:1fr 72px; align-items:start; gap:10px;}
    .cover-passport{justify-content:flex-end; padding-top:2px;}
    .passport-float{width:100%; max-width:72px; border-radius:6px;}
    @keyframes passportFloat{
      0%,100%{transform:translateY(0) rotate(-3deg);}
      50%{transform:translateY(-7px) rotate(-1deg);}
    }
  }

  .page-section{padding:80px 0; position:relative; overflow:hidden;}
  .page-section::before{
    content:""; position:absolute; inset:-25%; pointer-events:none; opacity:.85; z-index:0;
    background-image:radial-gradient(circle at 15% 25%, rgba(234,75,92,0.24), transparent 45%),
      radial-gradient(circle at 85% 20%, rgba(212,169,75,0.24), transparent 45%),
      radial-gradient(circle at 50% 90%, rgba(31,174,142,0.18), transparent 42%);
    animation:auroraShiftPage 18s ease-in-out infinite;
    will-change:transform;
  }
  @keyframes auroraShiftPage{
    0%,100%{transform:translate(0,0) scale(1);}
    50%{transform:translate(4%,3%) scale(1.07);}
  }
  .page-section .wrap{position:relative; z-index:1;}
  .page-decor{position:absolute; font-size:30px; opacity:.32; pointer-events:none; z-index:0;}
  .page-decor.pd1{top:10%; left:6%; animation:journeyDriftA 12s ease-in-out infinite;}
  .page-decor.pd2{top:70%; right:8%; animation:journeyDriftB 14s ease-in-out infinite; animation-delay:-5s;}
  .page-decor.pd3{top:20%; right:14%; font-size:16px; animation:journeyDriftA 16s ease-in-out infinite; animation-delay:-9s;}
  .page-tab{
    font-family:'Special Elite',monospace; font-size:13px; color:var(--coral);
    letter-spacing:.12em; text-transform:uppercase; margin-bottom:10px;
  }
  .page-section h2{font-size:clamp(28px,4vw,42px); margin-bottom:16px;}
  .cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:20px; margin-top:36px;}
  .card{
    background:var(--white); border:1px solid var(--paper-line); border-radius:var(--radius);
    padding:26px; box-shadow:0 8px 20px rgba(13,27,66,0.06);
  }
  .card .num{font-family:'Special Elite',monospace; color:var(--gold); font-size:13px; margin-bottom:10px;}
  .card h3{font-size:19px; margin-bottom:10px; color:var(--ink);}
  .card p{font-size:14.5px; color:#5b6178; line-height:1.55; margin:0;}

  /* ---------- CHOOSE YOUR TRIBE (dark carousel) ---------- */
  :root{
    --tokyo:#EA4B5C; --newyork:#1FAE8E; --rio:#D4A94B;
    --sydney:#3B82F6; --cairo:#E8894A; --london:#8B5CF6;
  }
  .tribes-section-dark{
    padding:64px 0 56px; background:var(--ink); overflow:hidden; position:relative;
  }
  .tribes-section-dark::before{
    content:""; position:absolute; inset:-25%; pointer-events:none; opacity:.8;
    background-image:radial-gradient(circle at 20% 30%, rgba(139,92,246,0.26), transparent 45%),
      radial-gradient(circle at 85% 70%, rgba(31,174,142,0.22), transparent 45%),
      radial-gradient(circle at 50% 90%, rgba(212,169,75,0.16), transparent 40%);
    animation:auroraShiftTribes 20s ease-in-out infinite;
    will-change:transform;
  }
  @keyframes auroraShiftTribes{
    0%,100%{transform:translate(0,0) scale(1);}
    50%{transform:translate(-5%,4%) scale(1.08);}
  }

  .tribe-head{
    display:flex; align-items:center; justify-content:center; gap:28px; flex-wrap:wrap;
    position:relative; z-index:1;
  }
  .tribe-heading{
    position:relative; text-align:center; line-height:1;
  }
  .tribe-heading .tw{color:var(--white); font-size:clamp(38px,6.4vw,64px); letter-spacing:-0.02em;}
  .tribe-heading .tg{color:var(--gold); font-size:clamp(38px,6.4vw,64px); letter-spacing:-0.02em; position:relative;}
  .tribe-underline{width:80%; max-width:260px; height:16px; display:block; margin:2px auto 0;}

  .tribe-speech{
    position:relative; max-width:230px; padding:16px 20px;
    border:2px solid var(--london); border-radius:20px;
    color:rgba(255,255,255,0.85); font-size:14px; font-weight:600; line-height:1.4;
  }
  .tribe-speech span{color:var(--gold);}
  .tribe-speech::before{
    content:""; position:absolute; left:-14px; bottom:20px;
    border-width:8px 14px 8px 0; border-style:solid;
    border-color:transparent var(--london) transparent transparent;
  }
  @media(max-width:700px){.tribe-speech{display:none;}}

  .tribe-sub{
    text-align:center; max-width:520px; margin:20px auto 0; color:rgba(255,255,255,0.6);
    font-size:14.5px; line-height:1.6; position:relative; z-index:1;
  }

  .tribe-carousel-wrap{
    position:relative; display:flex; align-items:center; gap:10px;
    margin-top:32px; z-index:1;
  }
  .tribe-nav{
    flex-shrink:0; width:44px; height:44px; border-radius:50%;
    background:rgba(255,255,255,0.06); border:1.5px solid rgba(255,255,255,0.2);
    color:var(--white); font-size:18px; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    transition:transform .2s cubic-bezier(.34,1.9,.55,1), background .2s ease, border-color .2s ease;
  }
  .tribe-nav:hover{background:rgba(255,255,255,0.14); border-color:var(--gold); transform:scale(1.08);}
  .tribe-nav:active{transform:scale(0.92);}
  @media(max-width:700px){.tribe-nav{width:36px; height:36px; font-size:15px;}}

  .tribe-carousel{
    display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory;
    padding:6px 4px 10px; flex:1;
    scrollbar-width:none; cursor:grab; user-select:none;
  }
  .tribe-carousel:active{cursor:grabbing;}
  .tribe-carousel::-webkit-scrollbar{display:none;}

  .tribe-card[data-color="tokyo"]{--accent:var(--tokyo);}
  .tribe-card[data-color="newyork"]{--accent:var(--newyork);}
  .tribe-card[data-color="rio"]{--accent:var(--rio);}
  .tribe-card[data-color="sydney"]{--accent:var(--sydney);}
  .tribe-card[data-color="cairo"]{--accent:var(--cairo);}
  .tribe-card[data-color="london"]{--accent:var(--london);}

  .tribe-card{
    position:relative; flex:0 0 180px; scroll-snap-align:start;
    background:var(--ink-2); border-radius:16px; overflow:hidden; cursor:pointer;
    border:2.5px solid transparent;
    transition:transform .3s cubic-bezier(.34,1.6,.5,1), border-color .3s ease, box-shadow .3s ease;
  }
  .tribe-card:hover{transform:translateY(-6px); box-shadow:0 18px 34px rgba(0,0,0,0.4);}
  .tribe-card.selected{
    border-color:var(--gold); box-shadow:0 0 0 3px rgba(212,169,75,0.25), 0 18px 34px rgba(0,0,0,0.4);
  }

  .selected-badge{
    position:absolute; top:10px; left:10px; z-index:3;
    background:var(--gold); color:var(--ink); font-family:'Space Grotesk',sans-serif;
    font-size:9.5px; font-weight:800; letter-spacing:.04em;
    padding:4px 9px; border-radius:999px;
    opacity:0; transform:scale(0.6) translateY(-4px);
    transition:opacity .25s ease, transform .25s cubic-bezier(.34,1.9,.55,1);
  }
  .tribe-card.selected .selected-badge{opacity:1; transform:scale(1) translateY(0);}

  /* overflow left visible here on purpose — the round icon badge below is
     meant to hang half outside this box. The outer .tribe-card already
     clips everything to its rounded corners, so nothing leaks past the card. */
  .tribe-card-photo{position:relative; aspect-ratio:5/5.3; overflow:visible;}
  .tribe-card-photo img{
    width:100%; height:100%; object-fit:cover; display:block; border-radius:16px 16px 0 0;
    transform:scale(1.04); transition:transform .6s cubic-bezier(.22,1,.36,1);
  }
  .tribe-card:hover .tribe-card-photo img{transform:scale(1.14);}
  .tribe-card-photo::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, transparent 55%, rgba(13,27,66,0.85) 100%);
  }
  .tribe-icon-badge{
    position:absolute; left:12px; bottom:-18px; z-index:2;
    width:38px; height:38px; border-radius:50%;
    background:var(--ink); border:2px solid var(--accent);
    display:flex; align-items:center; justify-content:center; font-size:17px;
    box-shadow:0 6px 14px rgba(0,0,0,0.4);
    transition:transform .35s cubic-bezier(.34,1.9,.55,1);
  }
  .tribe-card:hover .tribe-icon-badge{transform:scale(1.15) rotate(-8deg);}

  .tribe-card-info{padding:22px 14px 14px;}
  .tribe-card-title{
    font-family:'Archivo Black',sans-serif; font-size:16.5px; color:var(--white); letter-spacing:.01em;
  }
  .tribe-card-desc{
    font-size:11.5px; color:rgba(255,255,255,0.6); line-height:1.4; margin-top:6px; min-height:32px;
  }
  .tribe-trait-row{display:flex; flex-wrap:wrap; gap:5px; margin-top:10px;}
  .trait-pill{
    font-size:9.5px; font-weight:700; color:var(--accent);
    border:1.3px solid var(--accent); border-radius:999px; padding:2px 8px;
  }

  @media(max-width:560px){
    .tribe-carousel{gap:10px;}
    .tribe-card{flex:0 0 30vw; min-width:112px; max-width:150px;}
    .tribe-card-info{padding:14px 10px 10px;}
    .tribe-card-title{font-size:13px;}
    .tribe-card-desc{
      font-size:9.5px; min-height:0; margin-top:4px;
      display:-webkit-box; line-clamp:2; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
    }
    .tribe-trait-row{gap:3px; margin-top:6px;}
    .trait-pill{font-size:7.5px; padding:1px 6px; border-width:1px;}
    .tribe-icon-badge{width:28px; height:28px; font-size:13px; left:8px; bottom:-14px;}
  }
  @media(max-width:400px){
    .tribe-card{flex:0 0 27vw; min-width:94px; max-width:124px;}
    .tribe-trait-row{display:none;}
    .tribe-card-title{font-size:11.5px;}
    .tribe-card-desc{font-size:8.5px;}
  }

  .tribe-dots{display:flex; justify-content:center; gap:8px; margin-top:20px; position:relative; z-index:1;}
  .tribe-dot{
    width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,0.2);
    cursor:pointer; transition:background .2s ease, transform .2s ease;
  }
  .tribe-dot:hover{transform:scale(1.3);}
  .tribe-dot.active{background:var(--gold); width:22px; border-radius:5px;}

  .tribe-hint{
    text-align:center; margin-top:10px; font-size:12px; color:rgba(255,255,255,0.4);
    font-family:'Special Elite',monospace; position:relative; z-index:1;
  }

  .tribe-selected-banner{
    display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap;
    max-width:420px; margin:16px auto 0; padding:0; height:0; overflow:hidden;
    background:rgba(212,169,75,0.12); border:1.5px solid transparent; border-radius:999px;
    font-size:13px; color:var(--white); position:relative; z-index:1;
    opacity:0; transition:opacity .35s ease, height .35s ease, padding .35s ease, border-color .35s ease;
  }
  .tribe-selected-banner.show{
    opacity:1; height:auto; padding:10px 20px; border-color:rgba(212,169,75,0.4);
  }
  .tribe-selected-banner .tsb-icon{font-size:16px;}
  .tribe-selected-banner strong{color:var(--gold);}
  .tribe-selected-banner .tsb-note{font-size:11px; color:rgba(255,255,255,0.5); font-family:'Special Elite',monospace;}

  .tribe-info-bar{
    position:relative; z-index:1; margin:26px auto 0; max-width:1000px;
    background:rgba(255,255,255,0.04); border:1.5px solid rgba(255,255,255,0.12);
    border-radius:18px; padding:20px 26px;
    display:flex; flex-wrap:wrap; gap:22px 30px; justify-content:space-between;
  }
  .tribe-info-item{
    display:flex; align-items:flex-start; gap:10px; flex:1 1 160px;
    font-size:12.5px; color:rgba(255,255,255,0.7); line-height:1.45;
  }
  .tribe-info-item strong{color:var(--gold);}
  .tribe-info-icon{font-size:19px; flex-shrink:0;}

  @keyframes wiggleIn{
    0%{transform:scale(0.5) rotate(-8deg); opacity:0;}
    60%{transform:scale(1.15) rotate(4deg); opacity:1;}
    100%{transform:scale(1) rotate(0deg); opacity:1;}
  }
  .tribe-pick label.just-picked{
    animation:wiggleIn .5s cubic-bezier(.34,1.9,.55,1);
    border-color:var(--coral) !important; background:rgba(234,75,92,0.08) !important;
  }

  .schedule{background:var(--ink); color:var(--white); padding:70px 0; position:relative; overflow:hidden;}
  .schedule::before{
    content:""; position:absolute; inset:-25%; pointer-events:none; opacity:.8; z-index:0;
    background-image:radial-gradient(circle at 15% 20%, rgba(234,75,92,0.22), transparent 42%),
      radial-gradient(circle at 85% 80%, rgba(31,174,142,0.2), transparent 42%);
    animation:auroraShiftSchedule 22s ease-in-out infinite;
    will-change:transform;
  }
  @keyframes auroraShiftSchedule{
    0%,100%{transform:translate(0,0) scale(1);}
    50%{transform:translate(4%,-3%) scale(1.07);}
  }
  .schedule .wrap{position:relative; z-index:1;}
  .schedule .page-tab{color:var(--gold); text-align:center;}
  .schedule h2{text-align:center;}
  .journey-sub{
    text-align:center; max-width:460px; margin:14px auto 0; color:rgba(255,255,255,0.65); font-size:15px;
  }

  /* ambient floating decorations behind the map */
  .journey-decor{
    position:absolute; font-size:30px; opacity:.4; pointer-events:none; z-index:0;
  }
  .journey-decor.jd1{top:6%; left:5%; animation:journeyDriftA 11s ease-in-out infinite;}
  .journey-decor.jd2{top:80%; right:7%; animation:journeyDriftB 13s ease-in-out infinite; animation-delay:-4s;}
  .journey-decor.jd3{top:45%; right:10%; font-size:24px; opacity:.35; animation:journeyDriftA 15s ease-in-out infinite; animation-delay:-8s;}
  @keyframes journeyDriftA{
    0%,100%{transform:translateY(0) rotate(-6deg);}
    50%{transform:translateY(-20px) rotate(6deg);}
  }
  @keyframes journeyDriftB{
    0%,100%{transform:translateY(0) rotate(5deg);}
    50%{transform:translateY(18px) rotate(-5deg);}
  }

  /* ---------- ADVENTURE MAP ---------- */
  .adventure-map{
    position:relative; max-width:640px; margin:36px auto 0;
    overflow-x:auto; overflow-y:visible;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
  }
  .map-svg-journey{width:100%; min-width:520px; height:auto; display:block; overflow:visible;}
  .map-scroll-hint{
    text-align:center; font-size:11.5px; color:rgba(255,255,255,0.4);
    font-family:'Special Elite',monospace; margin-top:2px; display:none;
  }
  @media(max-width:560px){
    .map-scroll-hint{display:block;}
  }

  .trail-base{
    fill:none; stroke:rgba(255,255,255,0.15); stroke-width:5; stroke-linecap:round;
    stroke-dasharray:2 14;
  }
  .trail-lit{
    fill:none; stroke:var(--gold); stroke-width:5; stroke-linecap:round;
    transition:stroke-dashoffset 1s cubic-bezier(.4,0,.2,1);
    filter:drop-shadow(0 0 5px rgba(212,169,75,0.6));
  }
  .map-traveler{font-size:20px;}
  .terrain{font-size:22px; opacity:.5;}
  .terrain.small{font-size:15px; opacity:.4;}

  .day-pills{
    display:flex; justify-content:center; gap:8px; margin:22px auto 0; flex-wrap:wrap; max-width:460px;
  }
  .day-pill{
    background:rgba(255,255,255,0.06); border:1.5px solid rgba(255,255,255,0.15);
    color:rgba(255,255,255,0.7); font-family:'Space Grotesk',sans-serif; font-weight:700;
    font-size:13px; padding:8px 16px; border-radius:999px; cursor:pointer;
    transition:transform .25s cubic-bezier(.34,1.7,.5,1), border-color .2s ease, background .2s ease, color .2s ease;
  }
  .day-pill:hover{transform:translateY(-2px) scale(1.05);}
  .day-pill:active{transform:translateY(0) scale(0.95);}
  .day-pill.active[data-color="coral"]{border-color:var(--coral); background:rgba(234,75,92,0.18); color:var(--white);}
  .day-pill.active[data-color="teal"]{border-color:var(--teal); background:rgba(31,174,142,0.18); color:var(--white);}
  .day-pill.active[data-color="gold"]{border-color:var(--gold); background:rgba(212,169,75,0.18); color:var(--white);}
  .day-pill.active[data-color="sydney"]{border-color:var(--sydney); background:rgba(59,130,246,0.18); color:var(--white);}

  .map-stop{cursor:pointer;}
  .map-stop .stop-bg{
    fill:var(--ink); stroke-width:3;
    transform-box:fill-box; transform-origin:center;
    transition:transform .35s cubic-bezier(.34,1.9,.55,1);
  }
  .map-stop .stop-icon{
    font-size:20px;
    transform-box:fill-box; transform-origin:center;
    transition:transform .35s cubic-bezier(.34,1.9,.55,1);
  }
  .map-stop .stop-label{
    font-family:'Special Elite',monospace; font-size:11px; fill:rgba(255,255,255,0.55);
    letter-spacing:.08em; text-transform:uppercase;
  }
  .map-stop .stop-ping{
    fill:none; stroke-width:2.5; opacity:0;
    transform-box:fill-box; transform-origin:center;
  }
  .map-stop:hover .stop-ping{animation:mapRadarPing 1.1s ease-out infinite;}
  @keyframes mapRadarPing{
    0%{transform:scale(1); opacity:.8;} 100%{transform:scale(2.2); opacity:0;}
  }
  .map-stop:hover .stop-bg, .map-stop.active .stop-bg{transform:scale(1.18);}
  .map-stop:hover .stop-icon, .map-stop.active .stop-icon{transform:scale(1.25) rotate(-6deg);}
  .map-stop.active .stop-label{fill:var(--white); font-weight:700;}
  .map-stop.visited:not(.active) .stop-bg{opacity:.75;}
  .map-stop .stop-check{
    font-size:13px; opacity:0; transition:opacity .3s ease;
  }
  .map-stop.visited .stop-check{opacity:1;}

  .map-stop[data-color="coral"] .stop-bg, .map-stop[data-color="coral"] .stop-ping{stroke:var(--coral);}
  .map-stop[data-color="teal"] .stop-bg, .map-stop[data-color="teal"] .stop-ping{stroke:var(--teal);}
  .map-stop[data-color="gold"] .stop-bg, .map-stop[data-color="gold"] .stop-ping{stroke:var(--gold);}
  .map-stop[data-color="sydney"] .stop-bg, .map-stop[data-color="sydney"] .stop-ping{stroke:var(--sydney);}

  .day-detail-panel{
    max-width:460px; margin:18px auto 0;
    background:rgba(255,255,255,0.05); border:1.5px solid rgba(255,255,255,0.12);
    border-radius:var(--radius); padding:20px 22px 18px;
    transition:border-color .3s ease, box-shadow .3s ease;
  }
  .day-detail-panel[data-color="coral"]{--accent:var(--coral);}
  .day-detail-panel[data-color="teal"]{--accent:var(--teal);}
  .day-detail-panel[data-color="gold"]{--accent:var(--gold);}
  .day-detail-panel[data-color="sydney"]{--accent:var(--sydney);}
  .day-detail-panel{border-color:var(--accent, rgba(255,255,255,0.12));}

  .panel-eyebrow{
    font-family:'Special Elite',monospace; font-size:12px; letter-spacing:.1em; text-transform:uppercase;
    color:var(--accent); margin-bottom:6px;
  }
  .panel-tagline{
    font-family:'Archivo Black',sans-serif; font-size:20px; margin-bottom:16px;
    animation:panelFadeIn .4s ease;
  }
  .panel-activities{list-style:none; margin:0 0 20px; padding:0;}
  .panel-activities li{
    display:flex; align-items:center; gap:12px;
    font-size:14.5px; color:rgba(255,255,255,0.85); padding:8px 0;
    opacity:0; transform:translateX(-12px);
    animation:panelItemIn .45s cubic-bezier(.22,1,.36,1) forwards;
  }
  .panel-activities li:nth-child(1){animation-delay:.05s;}
  .panel-activities li:nth-child(2){animation-delay:.15s;}
  .panel-activities li:nth-child(3){animation-delay:.25s;}
  .panel-activities li:nth-child(4){animation-delay:.35s;}
  @keyframes panelItemIn{to{opacity:1; transform:translateX(0);}}
  @keyframes panelFadeIn{from{opacity:0; transform:translateY(-6px);} to{opacity:1; transform:translateY(0);}}
  .panel-activities li:hover{color:var(--white); padding-left:4px;}
  .panel-activities .ic{
    font-size:19px; flex-shrink:0; display:inline-block;
    animation:iconIdle 2.6s ease-in-out infinite;
  }
  .panel-activities li:nth-child(1) .ic{animation-delay:0s;}
  .panel-activities li:nth-child(2) .ic{animation-delay:.3s;}
  .panel-activities li:nth-child(3) .ic{animation-delay:.6s;}
  .panel-activities li:nth-child(4) .ic{animation-delay:.9s;}
  @keyframes iconIdle{
    0%,100%{transform:translateY(0) rotate(0deg);}
    50%{transform:translateY(-3px) rotate(-8deg);}
  }
  .panel-activities li:hover .ic{animation:iconHoverSpin .5s ease;}
  @keyframes iconHoverSpin{
    0%{transform:scale(1) rotate(0deg);}
    40%{transform:scale(1.5) rotate(20deg);}
    70%{transform:scale(0.9) rotate(-12deg);}
    100%{transform:scale(1.15) rotate(0deg);}
  }

  .panel-nav{display:flex; justify-content:space-between; align-items:center; gap:12px;}
  .panel-nav-btn{
    background:var(--accent, var(--coral)); color:var(--ink); border:none; font-weight:700;
    font-family:'Space Grotesk',sans-serif; font-size:13.5px; padding:10px 18px; border-radius:10px;
    cursor:pointer; transition:transform .2s cubic-bezier(.34,1.7,.5,1);
  }
  .panel-nav-btn:hover{transform:translateY(-2px) scale(1.04);}
  .panel-nav-btn:active{transform:translateY(0) scale(0.95);}
  .panel-nav-btn:disabled{opacity:.35; cursor:default; transform:none;}
  .panel-progress{font-family:'Special Elite',monospace; font-size:12px; color:rgba(255,255,255,0.5);}

  .journey-confetti-svg{pointer-events:none;}
  @keyframes confettiPopSvg{
    0%{transform:translate(0,0) scale(.6) rotate(0deg); opacity:1;}
    100%{transform:translate(var(--dx), var(--dy)) scale(1) rotate(var(--rot)); opacity:0;}
  }

  /* ---------- GALLERY / FIELD NOTES ---------- */
  .gallery-section{padding:80px 0; background:var(--white); position:relative; overflow:hidden;}
  .gallery-section::before{
    content:""; position:absolute; inset:-25%; pointer-events:none; opacity:.85; z-index:0;
    background-image:radial-gradient(circle at 85% 15%, rgba(31,174,142,0.22), transparent 45%),
      radial-gradient(circle at 12% 30%, rgba(139,92,246,0.2), transparent 45%),
      radial-gradient(circle at 60% 95%, rgba(234,75,92,0.16), transparent 42%);
    animation:auroraShiftGallery 20s ease-in-out infinite;
    will-change:transform;
  }
  @keyframes auroraShiftGallery{
    0%,100%{transform:translate(0,0) scale(1);}
    50%{transform:translate(-4%,3%) scale(1.07);}
  }
  .gallery-section .wrap{position:relative; z-index:1;}
  .gallery-section .page-decor.pd1{top:8%; left:5%;}
  .gallery-section .page-decor.pd2{top:85%; right:6%;}
  .gallery-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:44px;
  }
  @media(max-width:860px){.gallery-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:480px){.gallery-grid{grid-template-columns:1fr;}}
  .photo-card{
    background:var(--white); border:1px solid var(--paper-line); border-radius:10px;
    padding:10px 10px 16px; box-shadow:0 10px 22px rgba(13,27,66,0.08);
    position:relative; cursor:pointer;
    transition:transform .3s cubic-bezier(.34,1.7,.5,1), box-shadow .25s ease;
    content-visibility:auto; contain-intrinsic-size:0 320px;
  }
  .photo-card:hover{
    transform:translateY(-6px) scale(1.04) rotate(0deg) !important;
    box-shadow:0 20px 34px rgba(13,27,66,0.18); z-index:2;
  }
  .photo-card:active{transform:translateY(-2px) scale(0.98) rotate(0deg) !important;}
  .photo-card:nth-child(4n+1){transform:rotate(-2.5deg);}
  .photo-card:nth-child(4n+2){transform:rotate(1.8deg);}
  .photo-card:nth-child(4n+3){transform:rotate(-1.2deg);}
  .photo-card:nth-child(4n+4){transform:rotate(2.4deg);}
  .photo-card img{width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:6px; display:block; background:var(--paper);}
  .photo-card .cap{
    display:flex; justify-content:space-between; align-items:center;
    margin-top:10px; font-family:'Special Elite',monospace; font-size:11px; color:#767c92;
  }
  .photo-card .cap .loc{color:var(--coral); font-weight:600;}
  .video-card{
    grid-column:span 2; background:var(--ink) center/cover no-repeat; border-radius:14px; overflow:hidden; position:relative;
    aspect-ratio:16/9; display:flex; align-items:center; justify-content:center; cursor:pointer;
    transition:transform .3s cubic-bezier(.34,1.7,.5,1), box-shadow .25s ease;
    border:2px solid transparent;
  }
  .video-card::before{
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(13,27,66,0.15), rgba(13,27,66,0.65));
    pointer-events:none;
  }
  .video-card:hover{
    transform:scale(1.015); box-shadow:0 18px 32px rgba(234,75,92,0.25); border-color:var(--coral);
  }
  .video-card:active{transform:scale(0.99);}
  @media(max-width:860px){.video-card{grid-column:span 2;}}
  @media(max-width:480px){.video-card{grid-column:span 1;}}
  .video-card .play-badge{
    text-align:center; color:var(--white); position:relative; z-index:1;
  }
  .video-card .play-badge .circle{
    width:64px; height:64px; border-radius:50%; background:var(--coral);
    display:flex; align-items:center; justify-content:center; margin:0 auto 12px; font-size:22px;
    transition:transform .3s cubic-bezier(.34,1.9,.55,1), box-shadow .3s ease;
    box-shadow:0 0 0 0 rgba(234,75,92,0.5);
  }
  .video-card:hover .play-badge .circle{
    transform:scale(1.15); box-shadow:0 0 0 14px rgba(234,75,92,0);
  }
  .video-card .play-badge .lbl{font-family:'Special Elite',monospace; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,0.9); text-shadow:0 2px 6px rgba(0,0,0,0.4);}

  .video-modal{
    position:fixed; inset:0; background:rgba(13,27,66,0.92); display:none;
    align-items:center; justify-content:center; z-index:999; padding:24px;
  }
  .video-modal.open{display:flex;}
  .video-modal-inner{width:100%; max-width:900px; aspect-ratio:16/9; border-radius:14px; overflow:hidden; box-shadow:0 30px 60px rgba(0,0,0,0.5);}
  .video-modal-inner iframe{width:100%; height:100%; border:0; display:block;}
  .video-modal .close{
    position:absolute; top:24px; right:28px; color:var(--white); font-size:28px;
    cursor:pointer; background:none; border:none;
    transition:transform .3s cubic-bezier(.34,1.9,.55,1), color .2s ease;
  }
  .video-modal .close:hover{transform:rotate(90deg) scale(1.25); color:var(--coral);}
  .video-modal .close:active{transform:rotate(90deg) scale(0.95);}

  .lightbox{
    position:fixed; inset:0; background:rgba(13,27,66,0.92); display:none;
    align-items:center; justify-content:center; z-index:999; padding:24px;
  }
  .lightbox.open{display:flex;}
  .lightbox img{max-width:90vw; max-height:80vh; border-radius:10px;}
  .lightbox .close{
    position:absolute; top:24px; right:28px; color:var(--white); font-size:28px;
    cursor:pointer; background:none; border:none;
    transition:transform .3s cubic-bezier(.34,1.9,.55,1), color .2s ease;
  }
  .lightbox .close:hover{transform:rotate(90deg) scale(1.25); color:var(--coral);}
  .lightbox .close:active{transform:rotate(90deg) scale(0.95);}

  .price-section{padding:80px 0; text-align:center; position:relative; overflow:hidden;}
  .price-section::before{
    content:""; position:absolute; inset:-25%; pointer-events:none; opacity:.85; z-index:0;
    background-image:radial-gradient(circle at 20% 20%, rgba(212,169,75,0.26), transparent 45%),
      radial-gradient(circle at 80% 30%, rgba(234,75,92,0.22), transparent 45%),
      radial-gradient(circle at 50% 95%, rgba(31,174,142,0.16), transparent 42%);
    animation:auroraShiftPrice 19s ease-in-out infinite;
    will-change:transform;
  }
  @keyframes auroraShiftPrice{
    0%,100%{transform:translate(0,0) scale(1);}
    50%{transform:translate(4%,4%) scale(1.07);}
  }
  .price-section .wrap{position:relative; z-index:1;}
  .countdown{
    display:flex; justify-content:center; gap:14px; margin:28px 0 40px; flex-wrap:wrap;
  }
  .countdown .box{
    background:var(--ink); color:var(--white); border-radius:14px; padding:16px 20px; min-width:78px;
  }
  .countdown .box .n{font-family:'Archivo Black',sans-serif; font-size:26px; color:var(--gold);}
  .countdown .box .l{font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,0.6);}
  .price-cards{display:flex; gap:22px; justify-content:center; flex-wrap:wrap; margin-top:10px;}
  .price-card{
    background:var(--white); border:2px solid var(--paper-line); border-radius:var(--radius);
    padding:32px; width:280px; position:relative;
  }
  .price-card.active{border-color:var(--coral); box-shadow:0 16px 30px rgba(234,75,92,0.18);}
  .price-card .tag{
    font-family:'Special Elite',monospace; font-size:12px; letter-spacing:.1em; text-transform:uppercase;
    color:var(--coral); margin-bottom:12px;
  }
  .price-card .amt{font-family:'Archivo Black',sans-serif; font-size:34px; margin-bottom:4px;}
  .price-card .per{font-size:13px; color:#767c92; margin-bottom:18px;}

  .form-section{background:var(--white); padding:80px 0 100px; position:relative; overflow:hidden;}
  .form-section::before{
    content:""; position:absolute; inset:-25%; pointer-events:none; opacity:.8; z-index:0;
    background-image:radial-gradient(circle at 85% 10%, rgba(234,75,92,0.2), transparent 45%),
      radial-gradient(circle at 10% 40%, rgba(212,169,75,0.22), transparent 45%),
      radial-gradient(circle at 55% 95%, rgba(31,174,142,0.18), transparent 42%);
    animation:auroraShiftForm 21s ease-in-out infinite;
    will-change:transform;
  }
  @keyframes auroraShiftForm{
    0%,100%{transform:translate(0,0) scale(1);}
    50%{transform:translate(-4%,-3%) scale(1.07);}
  }
  .form-section .wrap{position:relative; z-index:1;}
  .passport-box{
    max-width:680px; margin:0 auto;
    background:var(--paper);
    border:1.5px solid var(--paper-line);
    border-radius:24px;
    padding:8px;
    box-shadow:var(--shadow);
  }
  .passport-inner{
    background:var(--white); border-radius:18px; padding:40px;
    border:1px dashed var(--paper-line);
  }
  .steps{display:flex; gap:8px; margin-bottom:30px;}
  .steps .dot{flex:1; height:5px; border-radius:4px; background:var(--paper-line); transition:background .2s;}
  .steps .dot.active{background:var(--coral);}
  .step-label{font-family:'Special Elite',monospace; font-size:12.5px; color:var(--coral); letter-spacing:.1em; text-transform:uppercase; margin-bottom:6px;}
  .form-step{display:none;}
  .form-step.visible{display:block; animation:fadeIn .3s ease;}
  @keyframes fadeIn{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);}}
  label{display:block; font-size:13.5px; font-weight:600; margin-bottom:6px; color:var(--ink);}
  .field{margin-bottom:18px;}
  input,select,textarea{
    width:100%; padding:13px 14px; border-radius:10px; border:1.5px solid var(--paper-line);
    font-family:'Space Grotesk',sans-serif; font-size:14.5px; background:var(--paper); color:var(--ink);
  }
  input:focus,select:focus,textarea:focus{outline:2px solid var(--coral); outline-offset:1px; background:var(--white);}
  .row2{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
  @media(max-width:520px){.row2{grid-template-columns:1fr;}}
  .form-nav{display:flex; justify-content:space-between; margin-top:28px; gap:12px;}
  .form-nav .btn{white-space:nowrap;}
  @media(max-width:480px){
    .form-nav{gap:8px;}
    .form-nav .btn{flex:1; padding:12px 10px; gap:6px; font-size:13.5px;}
  }
  .btn.small{padding:12px 22px; font-size:14.5px;}
  .btn.outline{background:transparent; color:var(--ink); border:1.5px solid var(--paper-line); box-shadow:none;}
  .btn.outline:hover{
    border-color:var(--coral); color:var(--coral); background:rgba(234,75,92,0.05);
    box-shadow:0 10px 18px rgba(13,27,66,0.08);
  }
  .btn.outline:active{background:rgba(234,75,92,0.1); transform:translateY(0) scale(0.96);}
  .tribe-pick{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:8px;}
  @media(max-width:520px){.tribe-pick{grid-template-columns:repeat(2,1fr);}}
  .tribe-pick label{
    display:flex; align-items:center; justify-content:center; text-align:center;
    border:1.5px solid var(--paper-line); border-radius:12px; padding:12px 8px; cursor:pointer;
    font-size:13.5px; font-weight:600; margin:0;
    transition:transform .25s cubic-bezier(.34,1.7,.5,1), border-color .2s ease, background .2s ease, box-shadow .2s ease;
  }
  .tribe-pick label:hover{
    transform:translateY(-3px) scale(1.05) rotate(-1deg);
    border-color:var(--coral); box-shadow:0 10px 18px rgba(234,75,92,0.15);
  }
  .tribe-pick label:active{transform:translateY(0) scale(0.95);}
  .tribe-pick input{display:none;}
  .tribe-pick input:checked + span{color:var(--coral);}
  .tribe-pick label:has(input:checked){border-color:var(--coral); background:rgba(234,75,92,0.06);}

  #successView{display:none; text-align:center; padding:20px 0;}
  .approved-stamp{
    width:130px; height:130px; margin:0 auto 20px; border:3px solid var(--teal); border-radius:50%;
    display:flex; align-items:center; justify-content:center; transform:rotate(-10deg);
    font-family:'Special Elite',monospace; color:var(--teal); font-size:15px; letter-spacing:.08em;
    animation:stamp .45s cubic-bezier(.2,1.4,.4,1);
  }
  @keyframes stamp{from{transform:scale(2.4) rotate(-10deg); opacity:0;} to{transform:scale(1) rotate(-10deg); opacity:1;}}
  .error-msg{color:var(--coral); font-size:13px; margin-top:10px; display:none;}

  footer{background:var(--ink); color:rgba(255,255,255,0.6); padding:30px 0; text-align:center; font-size:13px;}
  footer strong{color:var(--white);}

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

  /* ---------- MOBILE / TABLET SAFETY ---------- */
  .tribe-card, .tribe-nav, .tribe-dot, .map-stop, .hit-area, .photo-card, .video-card, .btn{
    -webkit-tap-highlight-color: transparent;
  }
  @media (max-width:700px){
    .cover{padding:56px 0 70px;}
    .stamp{
      width:78px; height:78px; top:16px; right:16px; font-size:8.5px;
    }
    .compass-watermark{width:240px; height:240px; left:-90px; bottom:-100px;}
    .plane.p3{display:none;}
    .plane{font-size:16px; opacity:.35;}
    .cover-meta{gap:12px 18px; font-size:13px;}
    .eyebrow{border-radius:14px; text-align:center;}
  }
  @media (max-width:480px){
    .stamp{display:none;}
    .compass-watermark{opacity:.08;}
    .price-cards{flex-direction:column; align-items:center;}
    .price-card{width:100%; max-width:320px;}
    .countdown .box{min-width:66px; padding:12px 10px;}
  }

/* ---------- SITE NAV (shared across pages) ---------- */
.site-nav{
  position:sticky; top:0; z-index:100;
  background:rgba(13,27,66,0.92); backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(212,169,75,0.25);
  /* backdrop-filter is the priciest effect in the sheet — contain keeps its
     per-frame repaint from bleeding into layout/paint of the rest of the page */
  contain:layout style paint;
  transform:translateZ(0);
}
.site-nav .wrap{
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; row-gap:10px;
  padding:14px 24px; max-width:1080px;
}
.site-nav .brand{
  display:flex; align-items:center; gap:8px;
  font-family:'Archivo Black',sans-serif; color:var(--white); font-size:15px; text-decoration:none;
}
.site-nav .brand .flag{font-size:18px;}
.site-nav .brand-logo{height:22px; width:auto; display:block;}
.site-nav .links{display:flex; align-items:center; gap:26px;}
.site-nav .links a{
  color:rgba(255,255,255,0.75); text-decoration:none; font-size:14px; font-weight:600;
  transition:color .2s ease; position:relative; padding-bottom:2px;
}
.site-nav .links a::after{
  content:""; position:absolute; left:0; bottom:-2px; width:0; height:2px;
  background:var(--gold); transition:width .25s ease;
}
.site-nav .links a:hover::after, .site-nav .links a.current::after{width:100%;}
.site-nav .links a:hover, .site-nav .links a.current{color:var(--gold);}
.site-nav .links .btn{padding:9px 18px; font-size:13.5px;}
@media (max-width:640px){
  .site-nav .links{gap:14px;}
  .site-nav .links span.hide-mobile{display:none;}
}
@media (max-width:480px){
  .site-nav .wrap{padding:12px 16px;}
  .site-nav .brand{font-size:13px; gap:6px;}
  .site-nav .brand-logo{height:20px;}
  .site-nav .links{gap:10px;}
  .site-nav .links a:not(.btn){font-size:13px;}
  .site-nav .links .btn{padding:8px 12px; font-size:12.5px;}
}
/* ---------- SCROLL REVEAL (whole page, performant) ---------- */
.reveal-up{
  opacity:0; transform:translateY(32px);
  transition:opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1);
  will-change:opacity, transform;
}
.reveal-up.in-view{opacity:1; transform:translateY(0);}

.reveal-stagger > *{
  opacity:0; transform:translateY(24px);
  transition:opacity .6s cubic-bezier(.22,1,.36,1), transform .6s cubic-bezier(.22,1,.36,1);
}
.reveal-stagger.in-view > *{opacity:1; transform:translateY(0);}
.reveal-stagger.in-view > *:nth-child(1){transition-delay:.05s;}
.reveal-stagger.in-view > *:nth-child(2){transition-delay:.15s;}
.reveal-stagger.in-view > *:nth-child(3){transition-delay:.25s;}
.reveal-stagger.in-view > *:nth-child(4){transition-delay:.35s;}
.reveal-stagger.in-view > *:nth-child(5){transition-delay:.45s;}
.reveal-stagger.in-view > *:nth-child(6){transition-delay:.55s;}

@media (prefers-reduced-motion: reduce){
  .reveal-up, .reveal-stagger > *{transition:none !important; opacity:1 !important; transform:none !important;}
}

/* ---------- RESPONSIVE TIGHTENING (all-device pass) ---------- */
@media (max-width:400px){
  .tribe-heading .tw, .tribe-heading .tg{font-size:32px;}
  .tribe-nav{width:32px; height:32px; font-size:13px;}
  .tribe-carousel-wrap{gap:6px;}
  .tribe-info-bar{padding:16px 18px; gap:16px 20px;}
  .tribe-info-item{font-size:11.5px;}
}
@media (min-width:1400px){
  .wrap{max-width:1180px;}
}