  /*
    Brand palette sourced directly from the Visit Peru Tours corporate
    identity manual: red, maroon, yellow and a blue-grey complementary tone.
    Typeface note: the manual's corporate font "Macho" is a rounded,
    geometric, warm display face not available on Google Fonts â€” "Fredoka"
    is used here as the closest open equivalent for headings, matched with
    Work Sans for body copy and Space Mono for eyebrows/labels.
  */
  :root{
    --maroon-deep:#561313;   /* manual intro-page background */
    --maroon:#772525;        /* brand maroon â€” PANTONE 202 C */
    --red:#E42728;           /* brand red â€” PANTONE 485 C */
    --red-dark:#B81714;
    --yellow:#E3E027;        /* brand yellow â€” PANTONE 396 C */
    --slate:#435763;         /* brand blue-grey â€” PANTONE 432 C */
    --cream:#F7F0E3;
    --sand:#EEE2C9;
    --ink:#241A17;
    --line:rgba(36,26,23,0.14);
    --line-cream:rgba(247,240,227,0.28);
    --radius:2px;
    --max:1180px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
  }
  body{
    margin:0;
    background:var(--cream);
    color:var(--ink);
    font-family:'Work Sans',sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{
    font-family:'Fredoka',sans-serif;
    font-weight:700;
    letter-spacing:0.005em;
    margin:0;
  }
  .mono{
    font-family:'Space Mono',monospace;
    text-transform:uppercase;
    letter-spacing:0.14em;
    font-size:12px;
  }
  a{color:inherit;}
  img{display:block;max-width:100%;}
  .wrap{max-width:var(--max);margin:0 auto;padding:0 28px;}
  button{font-family:inherit;cursor:pointer;}

  /* ---------- Focus ---------- */
  a:focus-visible, button:focus-visible{
    outline:3px solid var(--yellow);
    outline-offset:3px;
  }

  /* ---------- Nav ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(247,240,227,0.92);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  .nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 28px;
    max-width:var(--max); margin:0 auto;
    gap:20px;
  }
  .brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0;}
  .brand img{height:64px;width:auto;}
  nav ul{list-style:none;display:flex;gap:30px;margin:0;padding:0;}
  nav ul a{text-decoration:none;font-size:14px;font-weight:600;letter-spacing:0.03em;text-transform:uppercase;color:var(--ink);position:relative;padding-bottom:4px;}
  nav ul a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--red);transition:width .25s ease;}
  nav ul a:hover::after{width:100%;}
  .nav-right{display:flex;align-items:center;gap:16px;}
  .btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:12px 22px;
    background:var(--red);
    color:var(--cream);
    text-decoration:none;
    font-weight:700;
    font-size:13px;
    letter-spacing:0.05em;
    text-transform:uppercase;
    border:1.5px solid var(--red);
    border-radius:var(--radius);
    transition:background .2s ease, color .2s ease, transform .15s ease;
  }
  .btn:hover{background:var(--red-dark);border-color:var(--red-dark);transform:translateY(-1px);}
  .btn-outline{background:transparent;color:var(--ink);border-color:var(--ink);}
  .btn-outline:hover{background:var(--ink);color:var(--cream);}
  .btn-cream{background:var(--cream);color:var(--maroon-deep);border-color:var(--cream);}
  .btn-cream:hover{background:transparent;color:var(--cream);border-color:var(--cream);}
  .menu-toggle{display:none;background:none;border:none;padding:6px;}
  .menu-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0;transition:transform .2s ease, opacity .2s ease;}
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .mobile-nav{display:none;}

  /* ---------- Language toggle ---------- */
  .lang-switch{
    display:flex; align-items:center; border:1.5px solid var(--maroon); border-radius:20px; overflow:hidden;
    font-family:'Space Mono'; font-size:11px; letter-spacing:0.06em;
  }
  .lang-switch button{
    background:transparent; border:none; padding:7px 12px; color:var(--maroon); font-weight:700;
    transition:background .18s ease, color .18s ease;
  }
  .lang-switch button.active{background:var(--maroon); color:var(--cream);}
  .lang-switch button:not(.active):hover{background:rgba(119,37,37,0.1);}

  /* ---------- Hero ---------- */
  .hero{
    position:relative;
    background:var(--maroon-deep);
    overflow:hidden;
    height:72vh; min-height:460px; max-height:760px;
  }
  .hero-slider{position:absolute; inset:0; z-index:0; overflow:hidden;}
  .hero-slide{
    position:absolute; inset:0;
    background-size:cover; background-position:center;
    opacity:0; transition:opacity 1.4s ease;
  }
  .hero-slide.is-active{opacity:1;}
  .hero-slide-caption{
    position:absolute; left:40px; bottom:34px; z-index:1;
    max-width:340px;
    opacity:0; transform:translateY(14px);
    transition:opacity .9s ease .3s, transform .9s ease .3s;
  }
  .hero-slide.is-active .hero-slide-caption{opacity:1; transform:translateY(0);}
  .hsc-word{
    display:block; font-family:'Fredoka'; font-weight:600;
    font-size:clamp(22px,2.6vw,30px); letter-spacing:1px;
    color:var(--yellow); text-transform:uppercase; line-height:1.1;
  }
  .hsc-phrase{display:block; font-size:14px; color:var(--cream); margin-top:6px; opacity:0.9;}
  @media (max-width:640px){
    .hero-slide-caption{left:20px; right:20px; bottom:20px; max-width:none;}
  }
  .hero-overlay{
    position:absolute; inset:0; z-index:0; pointer-events:none;
    background:linear-gradient(180deg, rgba(58,20,20,0) 55%, rgba(58,20,20,0.9) 100%);
  }

  /* ---------- Brand intro (below the hero display) ---------- */
  .brand-intro{
    position:relative; background:var(--maroon-deep); color:var(--cream);
    padding:56px 0 70px; overflow:hidden;
  }
  .brand-intro-inner{
    position:relative; z-index:2; max-width:640px; margin:0 auto; text-align:center;
  }
  .brand-intro-mark{display:flex; justify-content:center; margin-bottom:18px;}
  .brand-intro-mark img{width:100%; max-width:150px;}
  .brand-intro .eyebrow{justify-content:center;}
  .brand-intro .hero-ctas{justify-content:center;}
  .brand-intro .trust-line{justify-content:center;}
  .brand-watermark{
    position:absolute; z-index:0; pointer-events:none;
    top:50%; right:-8%; width:640px; max-width:56vw;
    transform:translateY(-50%);
    opacity:0.07;
  }
  .brand-watermark img{width:100%; height:auto; display:block;}
  .cta-band{position:relative; overflow:hidden;}
  .cta-band .brand-watermark{
    right:auto; left:50%; top:50%;
    transform:translate(-50%,-50%);
    width:900px; max-width:80vw;
    opacity:0.08;
  }
  .cta-band .wrap{position:relative; z-index:2;}
  .eyebrow{
    display:inline-flex; align-items:center; gap:10px;
    font-family:'Space Mono'; font-size:12px; letter-spacing:0.24em; text-transform:uppercase;
    color:var(--sand); margin-bottom:22px;
  }
  .eyebrow::before{content:"";width:28px;height:1px;background:var(--yellow);}
  .brand-intro h1{
    font-size:clamp(36px,5vw,58px);
    line-height:1.04;
    color:var(--cream);
    text-transform:none;
  }
  .brand-intro h1 em{
    font-style:normal;
    color:var(--red);
  }
  .brand-intro p.lede{
    font-size:17px; max-width:480px; margin:22px auto 30px; color:var(--sand); line-height:1.65;
  }
  .hero-ctas{display:flex; gap:16px; flex-wrap:wrap;}
  .trust-line{
    margin-top:44px; display:flex; gap:38px; flex-wrap:wrap;
    border-top:1px solid var(--line-cream); padding-top:22px;
  }
  .trust-line div{display:flex; flex-direction:column; gap:2px;}
  .trust-num{font-family:'Fredoka'; font-weight:700; font-size:26px; color:var(--yellow);}
  .trust-label{font-family:'Space Mono'; font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--sand);}

  /* ---------- Booking bar ---------- */
  .booking-bar{
    position:relative; z-index:3;
    padding:0;
    margin-top:-54px;
  }
  .booking-card{
    background:var(--cream);
    border:1.5px solid var(--line);
    border-radius:6px;
    box-shadow:0 22px 50px rgba(36,26,23,0.22);
    padding:28px 30px 24px;
  }
  .booking-head{display:flex; align-items:baseline; gap:16px; flex-wrap:wrap; margin-bottom:20px;}
  .booking-eyebrow{
    font-family:'Space Mono'; font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--maroon);
    display:inline-flex; align-items:center; gap:8px;
  }
  .booking-eyebrow::before{content:"";width:20px;height:1px;background:var(--red);}
  .booking-head h2{font-size:22px; color:var(--ink); text-transform:none;}
  .booking-grid{
    display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:16px; margin-bottom:20px;
  }
  .booking-field{display:flex; flex-direction:column; gap:6px;}
  .booking-field > span{
    font-family:'Space Mono'; font-size:10px; letter-spacing:0.12em; text-transform:uppercase; color:var(--maroon);
  }
  .booking-field select,
  .booking-field input[type="date"]{
    font-family:'Work Sans',sans-serif; font-size:15px; font-weight:600; color:var(--ink);
    background:#fff; border:1.5px solid var(--line); border-radius:var(--radius);
    padding:12px 12px; width:100%;
  }
  .booking-field select:focus,
  .booking-field input:focus{outline:2px solid var(--yellow); outline-offset:1px;}
  .qty-stepper{
    display:flex; align-items:stretch; border:1.5px solid var(--line); border-radius:var(--radius); background:#fff; overflow:hidden;
  }
  .qty-stepper input{
    border:none; width:100%; text-align:center; font-family:'Work Sans',sans-serif; font-weight:700; font-size:15px; color:var(--ink);
    -moz-appearance:textfield;
  }
  .qty-stepper input::-webkit-outer-spin-button,
  .qty-stepper input::-webkit-inner-spin-button{-webkit-appearance:none; margin:0;}
  .qty-stepper input:focus{outline:none;}
  .qty-btn{
    background:var(--sand); border:none; width:38px; flex-shrink:0; font-size:18px; font-weight:700; color:var(--maroon-deep);
    cursor:pointer; transition:background .15s ease;
  }
  .qty-btn:hover{background:var(--yellow);}
  .booking-footer{
    display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
    padding-top:18px; border-top:1px solid var(--line);
  }
  .booking-price{display:flex; align-items:baseline; gap:8px;}
  .booking-price-num{font-family:'Fredoka'; font-weight:700; font-size:28px; color:var(--red);}
  .booking-price-label{font-family:'Space Mono'; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:#5a4d47;}
  .booking-ctas{display:flex; gap:12px; flex-wrap:wrap;}
  .booking-ctas .btn{padding:12px 18px;}
  .booking-paypal-row{
    display:flex; align-items:center; gap:14px;
    margin-top:16px; padding-top:16px; border-top:1px dashed var(--line);
  }
  .booking-paypal-divider{
    font-family:'Space Mono'; font-size:11px; letter-spacing:0.06em; text-transform:uppercase;
    color:#8a7a70; white-space:nowrap;
  }
  .paypal-pay-btn{
    display:inline-flex; align-items:center; justify-content:center; gap:9px;
    width:100%; max-width:280px;
    padding:13px 22px;
    background:#ffc439;
    border:none; border-radius:8px;
    font-family:'Work Sans', sans-serif; font-weight:700; font-size:15px;
    color:#003087;
    cursor:pointer;
    box-shadow:0 2px 0 rgba(0,0,0,0.08);
    transition:background .15s ease, transform .1s ease, box-shadow .15s ease;
  }
  .paypal-pay-btn:hover{background:#f4bb35; box-shadow:0 3px 8px rgba(0,0,0,0.18);}
  .paypal-pay-btn:active{transform:translateY(1px); box-shadow:0 1px 0 rgba(0,0,0,0.08);}
  .paypal-mark{width:26px; height:26px; flex-shrink:0;}
  .paypal-pay-text{letter-spacing:0.01em;}
  .booking-note{margin:14px 0 0; font-size:12.5px; color:#5a4d47; text-align:center;}
  @media (max-width:640px){
    .booking-paypal-row{flex-direction:column; align-items:stretch; text-align:center;}
    .paypal-pay-btn{max-width:none;}
  }

  /* ---------- textile divider ---------- */
  .divider{
    height:14px;
    background:
      linear-gradient(135deg, var(--yellow) 25%, transparent 25%) -7px 0/14px 14px,
      linear-gradient(225deg, var(--yellow) 25%, transparent 25%) -7px 0/14px 14px,
      linear-gradient(315deg, var(--yellow) 25%, transparent 25%) 0 0/14px 14px,
      linear-gradient(45deg, var(--yellow) 25%, var(--red) 25%) 0 0/14px 14px;
    background-color: var(--maroon);
  }

  /* ---------- Brand pattern band ---------- */
  .pattern-band{
    height:56px;
    background-image:url("data:image/png;base64,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");
    background-size:190px; background-repeat:repeat;
    background-color:var(--red);
  }

  /* ---------- Section shell ---------- */
  section{padding:100px 0;}
  .section-head{max-width:640px; margin-bottom:60px;}
  .section-head .eyebrow{color:var(--maroon); }
  .section-head .eyebrow::before{background:var(--red);}
  .section-head h2{font-size:clamp(30px,4vw,44px); color:var(--ink); line-height:1.06; text-transform:none;}
  .section-head p{font-size:17px; color:#5a4d47; margin-top:18px; max-width:520px;}

  /* ---------- Experiences (tickets) ---------- */
  .tickets{
    display:grid; grid-template-columns:repeat(auto-fit, minmax(330px,1fr)); gap:36px;
  }

  /* Square preview cards */
  .exp-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-bottom:8px;
  }
  .exp-card{
    position:relative; aspect-ratio:1/1; border-radius:16px; overflow:hidden;
    border:none; padding:0; cursor:pointer; background-color:var(--maroon-deep);
    background-size:cover; background-position:center;
    transition:transform .25s ease, box-shadow .25s ease;
    display:flex; flex-direction:column; justify-content:flex-end;
    box-shadow:0 14px 30px -16px rgba(36,20,17,0.45);
  }
  .exp-card:hover{transform:translateY(-4px) scale(1.015); box-shadow:0 20px 40px -14px rgba(36,20,17,0.55);}
  .exp-card-overlay{
    position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(20,10,8,0.85) 100%);
  }
  .exp-card-info{position:relative; z-index:1; padding:16px; text-align:left;}
  .exp-card-title{display:block; font-family:'Fredoka'; font-weight:600; font-size:17px; color:#fff; line-height:1.15;}
  .exp-card-price{display:block; font-family:'Space Mono'; font-size:12px; color:var(--yellow); margin-top:4px;}
  .exp-card.has-photo .exp-card-title,
  .exp-card.has-photo .exp-card-price{text-align:left;}
  @media (max-width:900px){ .exp-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:480px){ .exp-grid{grid-template-columns:1fr 1fr; gap:14px;} .exp-card-title{font-size:15px;} }

  .ticket-photo{
    margin:-34px -30px 20px; border-radius:0;
    overflow:hidden; aspect-ratio:16/9;
  }
  .ticket-photo img{width:100%; height:100%; object-fit:cover; display:block;}

  /* Modal overlay + detail popup */
  .exp-overlay{display:none; position:fixed; inset:0; background:rgba(20,10,8,0.72); z-index:1000;}
  .exp-overlay.is-visible{display:block;}
  .tickets .ticket.exp-modal{display:none;}
  .tickets .ticket.exp-modal.is-open{
    display:grid;
    position:fixed; top:50%; left:50%; transform:translate(-50%,-50%);
    width:92%; max-width:840px; max-height:88vh; overflow-y:auto;
    z-index:1001; box-shadow:0 30px 90px rgba(0,0,0,0.55);
  }
  .exp-modal-close{
    position:absolute; top:14px; right:14px; z-index:2;
    width:34px; height:34px; border-radius:50%; border:none;
    background:rgba(255,255,255,0.14); color:var(--cream);
    font-size:20px; line-height:1; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    transition:background .2s ease;
  }
  .exp-modal-close:hover{background:rgba(255,255,255,0.28);}
  @media (max-width:640px){
    .tickets .ticket.exp-modal.is-open{grid-template-columns:1fr; width:94%; max-height:92vh;}
  }
  .ticket{
    position:relative;
    display:grid; grid-template-columns:1fr 118px;
    border-radius:6px;
    overflow:hidden;
    box-shadow:0 18px 40px -18px rgba(36,20,17,0.35);
  }
  .ticket-main{
    position:relative;
    background:var(--maroon-deep);
    color:var(--cream);
    padding:34px 30px 30px;
    display:flex; flex-direction:column;
  }
  .ticket.gold .ticket-main{background:#5C2A16;}
  .ticket-code{font-family:'Space Mono'; font-size:11px; letter-spacing:0.18em; color:var(--yellow); margin-bottom:14px;}
  .ticket-main h3{font-size:28px; color:var(--cream); line-height:1.05; margin-bottom:14px; text-transform:none;}
  .ticket-main p{color:var(--sand); font-size:15px; margin:0 0 20px; flex-grow:0;}
  .ticket-facts{
    display:grid; grid-template-columns:1fr 1fr; gap:14px 18px;
    margin:auto 0 22px;
    border-top:1px dashed var(--line-cream);
    border-bottom:1px dashed var(--line-cream);
    padding:18px 0;
  }
  .ticket-facts div{display:flex; flex-direction:column; gap:3px;}
  .ticket-facts .k{font-family:'Space Mono'; font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--yellow);}
  .ticket-facts .v{font-family:'Fredoka'; font-weight:600; font-size:17px; color:var(--cream);}
  .ticket-list{list-style:none; margin:0 0 24px; padding:0; display:flex; flex-direction:column; gap:8px;}
  .ticket-list li{font-size:14px; color:var(--sand); padding-left:18px; position:relative;}
  .ticket-list li::before{content:"â€”"; position:absolute; left:0; color:var(--red);}
  .ticket-itinerary{border-top:1px solid rgba(247,240,227,0.18); margin:0 0 20px; padding-top:16px;}
  .ticket-itinerary summary{
    display:inline-flex; align-items:center; gap:8px;
    font-family:'Space Mono'; font-size:12px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase;
    color:var(--maroon-deep); cursor:pointer; list-style:none;
    background:var(--yellow);
    border:1.5px solid var(--yellow);
    border-radius:999px;
    padding:10px 18px;
    transition:background .2s ease, border-color .2s ease, transform .15s ease;
  }
  .ticket-itinerary summary:hover{background:transparent; border-color:var(--yellow); color:var(--yellow); transform:translateY(-1px);}
  .ticket-itinerary summary::-webkit-details-marker{display:none;}
  .ticket-itinerary summary::after{content:"â–¾"; font-size:13px; transition:transform .2s ease;}
  .ticket-itinerary[open] summary::after{transform:rotate(180deg);}
  .ticket-itinerary[open] summary{background:transparent; color:var(--yellow);}
  .ticket-itinerary .itin-meeting{font-size:13px; color:var(--yellow); margin:16px 0 10px; font-family:'Space Mono'; letter-spacing:0.02em;}
  .ticket-itinerary ol{margin:0; padding-left:18px; display:flex; flex-direction:column; gap:8px;}
  .ticket-itinerary ol li{font-size:14px; color:var(--sand); line-height:1.4;}
  .ticket-itinerary .itin-soon{font-size:13px; color:var(--sand); font-style:italic; margin:10px 0 0;}
  .transport-select{margin:0 0 22px;}
  .transport-label{font-family:'Space Mono'; font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--yellow); margin-bottom:10px;}
  .transport-options{display:flex; flex-wrap:wrap; gap:8px;}
  .transport-option{
    display:flex; align-items:center; gap:6px;
    border:1px solid var(--line-cream); border-radius:999px;
    padding:7px 14px; cursor:pointer;
    font-family:'Space Mono'; font-size:12px; color:var(--sand);
    transition:background .15s ease, border-color .15s ease, color .15s ease;
  }
  .transport-option input{accent-color:var(--yellow); margin:0;}
  .transport-option:has(input:checked){
    background:var(--yellow); border-color:var(--yellow); color:var(--maroon-deep); font-weight:700;
  }
  .ticket-main .btn{align-self:flex-start;}
  .policy-note{
    display:flex; gap:8px; align-items:flex-start;
    font-size:12.5px; line-height:1.55; color:var(--sand);
    margin:16px 0 0; padding-top:14px;
    border-top:1px solid rgba(247,240,227,0.18);
  }
  .policy-note .icon{flex-shrink:0; opacity:0.85;}
  .policy-note a{color:var(--yellow); text-decoration:underline;}
  .ticket-stub{
    background:var(--red);
    color:var(--cream);
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:10px;
    padding:20px 10px;
    position:relative;
  }
  .ticket.gold .ticket-stub{background:var(--yellow); color:var(--ink);}
  .ticket.clay .ticket-main{background:#4A2A1A;}
  .ticket.clay .ticket-stub{background:var(--slate);}
  .ticket.amber .ticket-main{background:#33291C;}
  .ticket.amber .ticket-stub{background:#C9A227; color:var(--ink);}
  .ticket-stub::before{
    content:"";
    position:absolute; left:0; top:0; bottom:0; width:0;
    border-left:2px dashed rgba(247,240,227,0.55);
  }
  .stub-vert{
    writing-mode:vertical-rl; transform:rotate(180deg);
    font-family:'Space Mono'; letter-spacing:0.22em; font-size:11px; text-transform:uppercase;
  }
  .punch{width:16px;height:16px;border-radius:50%;background:var(--cream);}

  /* ---------- Why us ---------- */
  .why{background:var(--ink); color:var(--cream);}
  .why .section-head h2{color:var(--cream);}
  .why .section-head .eyebrow{color:var(--sand);}
  .why .section-head .eyebrow::before{background:var(--yellow);}
  .why .section-head p{color:#c9beb6;}
  .why-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:40px;}
  .why-card{border-top:2px solid var(--red); padding-top:20px;}
  .why-card h3{font-family:'Fredoka'; font-weight:600; font-size:21px; color:var(--cream); margin:10px 0 12px; text-transform:none;}
  .why-card p{color:#c9beb6; font-size:15px; margin:0;}

  /* ---------- Social Feed ---------- */
  .social-feed{background:var(--sand);}
  .social-embed-grid{display:grid; grid-template-columns:1fr 0.7fr; gap:32px; align-items:stretch;}
  .social-embed-col{display:flex; justify-content:center; overflow:hidden; border-radius:16px;}
  .ig-follow-card{
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
    background:linear-gradient(135deg, #F58529, #DD2A7B 45%, #8134AF 75%, #515BD4);
    border-radius:16px; padding:36px 24px; text-decoration:none; text-align:center;
    transition:transform .2s ease;
  }
  .ig-follow-card:hover{transform:translateY(-3px);}
  .ig-icon{font-size:40px;}
  .ig-follow-title{font-family:'Fredoka'; font-weight:600; font-size:19px; color:#fff;}
  .ig-follow-sub{font-size:14px; color:rgba(255,255,255,0.9); max-width:220px;}
  @media (max-width:800px){
    .social-embed-grid{grid-template-columns:1fr;}
  }

  /* ---------- Meet Your Guide ---------- */
  .guide-block{margin-top:56px; padding-top:48px; border-top:1px solid rgba(240,232,220,0.15);}
  .guide-grid{display:grid; grid-template-columns:0.6fr 1.4fr; gap:48px; align-items:center;}
  .guide-photo-wrap{
    position:relative; border-radius:16px; overflow:hidden;
    border:2px solid var(--red); max-width:260px;
  }
  .guide-photo{width:100%; height:100%; display:block; object-fit:cover; aspect-ratio:4/5;}
  .guide-copy h3{font-family:'Fredoka'; font-weight:600; font-size:clamp(22px,2.6vw,30px); color:var(--cream); margin:6px 0 16px; text-transform:none;}
  .guide-copy p{color:#c9beb6; font-size:16px; line-height:1.7; margin:0; max-width:600px;}
  @media (max-width:720px){
    .guide-grid{grid-template-columns:1fr; text-align:center; justify-items:center;}
    .guide-copy p{margin-left:auto; margin-right:auto;}
  }

  /* ---------- Identity (brand story) ---------- */
  .identity{background:var(--sand);}
  .identity-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:60px; align-items:center;}
  .identity-mark-wrap{
    position:relative; display:flex; align-items:center; justify-content:center;
    padding:36px;
  }
  .identity-mark-wrap::before{
    content:"";
    position:absolute; inset:0;
    background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPUAAAC8CAIAAAAvhH+WAAAdZ0lEQVR42u2d2VLjyrKGK7M0S56BXjvOzY447/9W52I14FHzUJnnooyBbsBlS4yuvOjo7gBboE/pv3KE//vf/wpr1n6oof0VWLN8W7P2Lc2xvwJrfYyZBbMAAADLt7UfRDYxSnQ9VzqO6rqu7UgpQLR8W/sBdIt4nIymY5QSAJhZKZWut0WWfylHbvW3tXM893g+nd0spOPsJYoQjuPMb64m86n+p+Xb2jeFm8IkSiZjUvQUZWYmRclkHETh10Hc8m3tRAOIkvhlDQJCgEjGifXf1r6p6hZSSsdziei1r5COi1/mlGn5tnYS4AwAb+ML+IVihZZvaydpE1BKtU37BsGk1Kve3fJt7YsbETVV/SrfAFVRWr6tfbrQ2Js4MdaBANlu19TNXqWwOPyJiG3dZNvU6hNrn4Q1MRMBgHQc1/Ncz0UptVc2DeoBkKL17X1dVoCIEgEBJSJiVZSr23si6ss3CDHQA2LzlxfksIUQYRz6UeCHIQIITSELpbq6rKuiqMvKpJIEANq2vf/3Nkpi1/cQkYjauinSjIXoCTcTs2D9Lv0/B8DWf1+IaPYCfzydBFGo0+lPvbUmiYiKvEjXW9V2gGD4svrb9av1DAvqghYv8F3PFUI0ddPUNRP3odz674vw3MkoGS9mKCUTMfEfn/7MzEQCIBklQRCs7u7rsjKB9fA1/R0tM/tRMJ5PPc/Tr8ZMTd1ul6umagyfN6u/L9Rc35OOZEV7dfuS5tD+WDpy8evaC4KPzLETURAGV//ceJ7HzKQUKcUsPN+7+s8vL/T53ICM5fvnGwBslut8l5l4QSZGxPnNQkr5YVcopRwvZodDgng4GzAzAEzns7PLbi3fF4P4/aquDFQHCGZ2XXc0m/wZxn6fqB8R+WHguu6LnxjM7PqeF5zpwi3fF6TC13fLru1MKCWiMI5cz9OBbS3QqVMnhBFNn7y9fHpVwTMDgOd5LM4JGlq+L8iFd223Wa6MMGEhpQzCQCkFAJ7vhUk8mk3iUeIFPiDsj6RDQv6QKnrrK2z8xNqb4Y4qL4o0i8ajI3SCYOYwidCRYRwhIiICAtPelddlXWRZXVQC+gVPWAgh2qZl5tcOvszcNi28/QBYvq1pL75bb/0oRIlv48LMnu/7QXDI5FO3T0yilPEojpKozIvtaqPatk/bJSLWZdV1nXTk35cECG3d1FV93ltYfXJxgHddl212CMdvvW7JOQjuRz/98P9REl/958b1vF6iHETXdbvVBgHhIaUq+OEdWWxXm31k0/JtzcRf5mnW1I2RroC3/p+IHNdd/HMtHed8xFkgYpkXq993Xdftq1kkAmLXtst/7+qiOju/Y/XJJRoR5Wk6u1r0D4YwkXTd2dV8+fuup3AqsqKuaj8MXN8TQjRVXVcVdXQ23Jbvy3XhZV4kk7F0HDEE4kEURkmc79JHlQxC8MOfhogjEFGRZpzuXwAQ+8Bt9cnFqnChOlXmBQ6UsmHmeJSgxL1qJyJF+s9Tw4i65lbrk/4XZv33RRoLAKiKcjQZD8W347mO6zVV7fqu53uAEoQgZtV1Td2QUsK8DGu4DJLl+2LjKNDWTVPVXuAPkpIEgNF0LITwAl9KedAnRExK1WWV77Kmqj54gJvl+3IlCinS57lB+GbmIAoP+kTwg/oGkFLGoySMoyLNtquNrpr6oJOGvdGXLFHqqhqwnuRZ2wSAAHEoA9SlWslkvPh1LaX8sOJby/dFW9e2SnUf9nZEFETh7Hph/be1j5Dg1FFbt4gf1+5OSgVR+ELxreXb2vC0MSmlButWN3uqiCgeJZ7vf4BKsXxfurVNw+Jjx72ykFLGo3hftkVEREzM9PD34bi38ZNLlyiq7T4YbwGCmP0oREQppRf40nEQQYAgpePlddd2Yoi2Zcv3xUsU+oxZ3cyIuPh17Xiu4zjPnbvQ8fJsu2vOLYu1fFt7lOA99cBh/smp3+WHAQsdLH84ArDQDRNREgdRmG136WbXJ15u9fdl6xMhWJFuQjvXEXNdVmd/714awZML2n+qkBBiPJvOrhcg4Oznz/J96caHqQxnee62brLdew3UJKWiUTxZzMRr3WuWb2tvE8pEdF53DAtAKLJcr1B7p8sjRclkFI/i8y7S8m3tfHGjOlUWpXTedxIQMyeT8Xnzhizf1s6VtohVUXZt62i+3y0Mw0SO5wVxeEbK0/L95fXxQ8qDh859HNzweeqCmcu8gH0h1XvmQAFACD8IzrhOGx/8ymQzIARx5DiO4zpKkeq6pqrbth1sQRkzotR9NyefLJu2LivdaPPeIXRm9sMAEU99vC3fX9dt+2EwXsz0vOBDgLjrunyXZtv0s8+lUOYFEUkpUUrxzpUkLBh0oJ3opDGIlu+vaEQUj+Lp9QIA9EYRAcBCCBYo5WQxdxx3fb8cYOq2ECjxjIJspVRVFLoF2HFNh0MAAIvzq13O+Hmt/v66cAsBTA/zgh+0smAmpeJxkkzGA5WYnrwGBBHrqm6bVgAgouG3g55T1bSiRy7J8v0D4E6m1wudd3n9TlM8TgYZ0X1y8TezYC6zXNMmHaPgtx59uFmu5VliBgSQbg469VG0SH09uOdHP8GZhes4XuD3deEs8MSHBBDbtqurGhEFs+t7RyMniFhX1f2/t1ESSfcsSQzQVLWND14E3IdbLh3ZU4CzYMd1TwvtAVRlSUrpU6/jOPDm9wNCU9fL33fSkdEoOa9cEYSoy8rqk28Md3QS3HvShpiA4x4B9G9pVOWFVsO6gPuNAyMgdk27/H2n2i4Zj52zxmUBQF3VVVGeERW1fH8Vzz07EW4hBCnVMywHAChPiF7vp6bUja6JRSldz+VXXDIAqLZd3d6rtnM8L0piOiuMCADZdqeUsvsbvvmB8kS426btGSJEKU/wqbyfgnnYUCylfK3/QC/UXN0u26YVQsSj2HHPcd6ImG62ZV4g4hmBRcv3Z8OdaLhPu3UAUNdN2zR9+GZmKaXjuMabuYVSqi7Lhynd7AWv7s1hIdZ3y7qqAMBx3Xg8Oud0iFhk+W61sf0N39Zz3yzOSf4BlFnWP2vouI75h74uqNIfGiyYhXA9/0XyAGFzvyzzQkrJxKPpREp5qvfVcK/vltyjtMXy/emy5JzzVts0VdF3lh8ze75nHlHWBVUH/yyldLwXMpeAuFttil0mpdS7/6JRTEQnUarhXt0tmbmPBLN8fzO4Nd9Fmiulel6GVg5wwkPVNg97u/eHy7+WViJivtulmx0gMjMIMZ5NTvW/B88tek8qtHx/AtyRhvu8OgyAruvKPO9ffLKPfhiXjlR5oQ4amtkP/hQnWsBsl3u5TIriycgPAz4l5j0g3Jbvz4F7puE+C28EKNK8a7ue956ZHccx35ujlCqLYv+mIFgI7znfgNjU9er2Xr+g3js8mp42h+0p3IOsS7Z8fzDccR+4NWdFNoDzFsx+6BsqB0BsqvoxHMlCSun63tNpsdR1q9vlIXQohJgspicl/xGxHBRuy/cHwq003Fd94EbEIs17hgUP5noemO0yhn1B1RPf77rOU9/PvLpbdg8XRoricRJGkflyEkQssmI1KNyW7w+Ee9wXbu288zQbBG7puJ5vtLcSENq2rcrqUGnIzEEUHKI3gLhdrqqihIejp+d749mUToR7fXc/LNyW74+De94bbl1i2g3hvJnZ8V1D8Q0AZV4+DdcgoOf7ep69zi/maXYoDgEQ06u5uTJBxCJ/F7gt3x8H9+Osph4vle+yQQhg5iA0bdclUmVeHL6YmaXreIHHxFLKh/wiHs4Yo+nECwNDZbKH+/Zd4LZ8vzvcsYa79/AEvbGyGUh5I6LneSZXhYh1WT9T/FqcAAJAXdeb+9VBxBNREEej6eSLwG35fne4Zxru3t23euPwIBemd/m5gXc8LM37nOUzGQPghyEAKKXWt8vHxCQL13Vni/lpsuQ94bZ8v3u0ZBC4EbHMCtON8cOJE0Do2vZp4bWOnPiBx8zb+/VTv86CJ1czw15jRCzy/L3htny/I9zzm2Hg1i+YpYMNhEAAPwxNvhIAyuLZyZKZwyhEx0nX2zLP99yDIKLJfBpGkUnM5AHu5XvDbfn+BnADYlUW7XDO2/E8z/dMcuaKqMyKP943iMOmqHab7SE+qKPdyXT81eAWdv7JO8CdzG8WR+Heh4oNgGCibJcNdYUPoWs4yjcg1Hn5Ry4JETf3a3rq0Yn8IJguZiYPjD4lfxjc1n9/EtwAVV4UWW6igKuiaKp6qAHEYChOmAWL4mEIxFNrm+aQhGdi1/Pmv65MOkF1+n31/prb+u/PhFsAbFfrbJMy89V/boL4zSQ2izzNh1porTOLJuIEEPfjBf8qMX88UBI7rjP/x2gf8R7uu+VHwm3993Bwj5P5zeJIEgeEANjcLtPNDiQiIiC+UQIOAHVZNS9B1kOcRCavBgBl/laJOTNLR85vrhyDJOiD5/5ouC3fQ8Edz64XBnExWN/e51kmpSSl9rXRb35XtktpuNGVUsogCo9fJ0Cn1N8ny2dwSzn/deUGvgnchYZbfDTclu9hoiWz66ujnTiAsLlbFulj19Z4Pn1DmeihH/WgztsLfJOGBn086NqXm/N14fj817UXHE/C7+u5Pwluy/cAcM9vTODG3WpTpBlKycyIMF3M4RhkRZrxgEvamcM4MqqHJSrS/EUcmchx3cV/brzAN4G71BnKT4Lb8t0bbl04dQzufJemOmAMwESj2dR9szYVAJq6Lh8qTgdx3o7rBlF4/GQJUJVVU78QsSEiN/Cv/rl2XNcQ7tXvO/2in3WbLN/94BbHcanLartc6wgaK/KjMB6PjvABkKc59+4gfnayjEPDebNFmv397GlNdfXPjXSc7wK35ft94RYAimhzvzzgAgjj2fTtO653wld5Mch4wQNwURKbKO+6quq/Jv0RURiFi1/XJhtCvg7clu/THaE53EIAwHa5PrQtMlE8TrzAf1skAECRZarrhtrYxMx+6LueQbcOiGz7Z8SGiMI4mv9zcwLct18CbmHzO6fCHZrDLbHYpmWaHwaGSNdNJuOjh1GlVJEVQ8LBIkqSo1vitZT6Y0wrE8fjZLqYC4P1CY9w85eA2/rv0+HWGUoDPVDl5Wa5BnxsC0gmo6MtYaCXSvYenPnUebu+G0RGyyOzbfr08pgoniSzq4V+oW8Ht+X7dLgNki2IWJXVvrj5ETI/HiXH433MRZoPeeXMYRIfDaL/7by1mpou5ob13F8Qbsv3O8FdLn/fPdtkx5xMRkeDfYDQVHVT1YCDIeI4ThRHJoymm93TBzKIo+mV6YdVmRer2/uvBrfl2xTumRncgFjkxer3vXgCt3beYWwyDATyLGceLKfDREEcOe6RnKXOMtZVdRjw4Lju7FrLkuNwF3u4+avBbfk2hdukUwElFlm++n3/5w5SQ+cNoNq2Koqhcjr6eYtGx523UirdbJ/+z2QxQ8OqwPfvobR8fz7cgJBt083tEuDZZzQzu4GZ8wYo85K64XI6xEEUep5/1Hlnm90hiElE49kkiELTJM4XhtvyPRTcmG/Tzd3yhYg1c5TEJi6Zico8HxIUEPEoefsFdUIn26X40E8Umg14gH0S50vDLWz8+3W4k9mN0cInANitNul6+zfEehJDlMQGuEBdVEN1yOu39gPfD49UQTHzdrlhZkBkpVzf28tuA7jXv+/1z/+Vb6X136/AfW0qS3arTbrevBzx0LE5o6oPKLJcDFfqLQTHo9HbGX5ETNfbuqoQkZWSrju/OZ6BB8RSj3YQQsBXv5vWf78Ct1n6fXO3ynfpa/IDpYziSBhUfXRtW5fVUAUnzOz5fhC/ldMBgLIo0u0OJTKRdJz5zeLo9JIHuJeCvwHc1n/3gVus75bZ63AzURCHjlHVB9RlNWzBSTRK3sjpgACl1PZ+DQCCGCXOf115QXA8t5odRjt8j3tq+X7EMRzFs+u5EdwIm+Um32Vv5QUB4iQ2eTVmrg57m4aA2/XcMH5r1A4gZLu0bRq9Rmf+69o/1oyj4V7dLb9gEsfqEwO4k9jkaLXX3MtNvt2hxNdfkP3Q94LApJ+gbZq6rgdsZYhHCUr5Bq8s2Pf90nUdx5lezx3PpaNw5we4v9OdtXyfCjemm+1us306kk88mZpweNVoFAsAYSBOqqJkRYPwrZ13NDoSsdGh8ev/+YUoAY7M+tnDffv94Lb65GS4yzTfrTZPipA4HiXJePQ0qa4nZPthaBIPYaa6rIYC58F5OyZfqb/suObOi9Xtkr8h3JfON50EN0BT1Zv75WHcNRP7UTC7uZKu80xmM4dxZLIdAQC6um3qZpCCKt3ZHsax6b5tg87RKi9Wt/dfO4dj+X4F7sgYbgFAitZ3SzqEDpilI6dXcyYqn3ebA2IYx0bBbIC6qoZqkmfmaBRL1xkkjv4D4L5cvjXcc0O4hQAhNsvV07YDFmJyNXc9r66qZ2OwifzAd81WNzFRVZSDfPBr5x2PRjwo3OI7w32hfB88tyEIiJhtd0WWH1QEE49nkzAKmagu6+dIQZjERtPjAbq2bZrBxMlQzvsJ3Czge99rvFi4jW82VGW5Wz+eKfWa1tF0wsxMVJfl01Jvx3OCMDSq4Qaoq5oVDQL3UM77Odzw3W83WriPfEunNvfrxz2mxEEYTBYzPdO1bdtnk+eZgyiUjjScbF+X1UBhIA6TyOntvH8Y3JfF9xlwA+ButT3Ia2Z2XGd2cwWIOo33hzjRJ0vDpZKqbdumGaTmBKWMRwlbuC+W7zPgRsQiyx43l7IAgNn1QjrOXpgyPw1dM5EX+IZLgQVA27aqVf0FLhNFo9hovMmFwX0pfJ/luaFru91q83Q/2Ox6cdhcqk+Hbfv0dAhRHJvDUReVGGJDT3/n/SQU+KPgvgi+z4Bb23a1Vt3evzLxeDZ91qkA0NStemgn0ye8IApMFTCLtm0HEN5EYRL1cd5P4YafBffP53sP981pcOt+8jIrtG8monicjP/aD1ZX1dNGSz8KzTe6d03TNU3/mhNAjJLEwn2JfD/CfdLdB1Bdl663ep0IEwVROF3M/pzKp1Rb14dPcwCMksiUMwCllOrdSszEQRSZKv7Lg/sn830m3EIAQLrddW2LiEzk+v785orhBXXetd3jGrHAc0/hrK7q/j8jIMTjxHrui+P7CdxwKjFNVeW7DBCJSDpy/usKJf75kAB0XfdErnAYRyeJjbZp+jtvL/D0qmwL9wXxzY+aG04OULBI11tNDCLOb65c132pPJrrsgKxfwd0nCAKzXMrpMVJX7A4SpIzwueXA/cP5JuJ/CjcHyhPdGyIWBZFVVYAIFjMrhd+ELzc2MKia1shAAQwUxAGR2egPdU2qutU22tCrF6zHYRGU2EvFu6fxreeNzI3G5z3oqrJNjv9OtOr+WstjFp8q7bbT9QGCOPohPcDIEXUsyaWhed5bzTIWbh/pv8ez6bSccTp8OhpY03dCCEm81k0Tl5FEECpTiklEJjZ9TzfoM/ymfjuHflmwV7on6RwLhDuH8U3M/tBsHe6p98+Isp3KRONp5NkcmT/U9d2zKxLUoI4PNWPtvUAmR0pJVi4L4rvKInOu3mIWBZlVVSj6WQ8nx5T0tzUDQhgZpAyjKJTIxhEfSPfoJ8xC/fl8C2l9AzWRb8MHFO22caTZLKYHVfGLPQsHib2fM9kI/AfDyIR9e7ZgaauTQ7Qlwz3z+GbmaUjTUZWv+i866JyPM9kWasQgolJNyWAiJLoVFBVp6jrWzYICHVZdceCMBcO90/z3+c1ehGR63uzq7lp6UjXkVJCCOnoVp1TuAQgIiLqTxsRbVfbt5/bC4db2PknBxTMCSWliEiwCMJgXwt+4kfNMC3AAFVebO7XAACI8FgJA4CAEvM0u3C4xU+aX0VETO9+L3VGlIgQMUxOPlnqroiheggAId+lbduMJmPHc6WUDx8vlKep3sN2yXD/HL4BoOsUETlmFarnC30hqOuY2A09z/ff9b0MEW+qelndIaLjuQDQNS0ppUfW20/mH+S/leqa1vljlNQ7EN61nRAijCNEPD0NCVqfDOhWD72hTVULFoAgAC7cbf9A/c3MRVa8//uAUkpKGUThpzvvv0EfcHGm5fvLnRGrohhwhc1rpjrlR4HrOl+Nb2s/PH7CxOl6+95voleiCWE9peX7ww9bVV5sV2t8t49pJnZ9zw/8cwsAGaw4tufLHohjtt0JISaLmWDxHhJiNJ2cL3P1FG3Lt+W7xzELs03aNe1oNvUfKlKeTZkC0KXb57blQs/L2xeOW7N8ny1UyqJs6iaIwjCOdO5j70CZlVJVUVBHo9nko08IzIiIiF3XWZVi+e5xsEBk5iLNiixHiY7jHib1qK5TSknEeJyYLV8d0qTjSFd2bWtViuV7ADmumW7q+qk+0amZsihHkzENtD7B+JoEgrTkfZCbu5CfE57Y4X/yXao69fGBPsdzLXmW73dHvm3ap5v+Psw837PkWb4/QqPn2zTd7E5toOx5xnQcB6UUNoJi+X5/gQ7b5Xq32uKTEup3xpul57qeZ7TDxJrlu7803602y39v9R5KDfqedf23odEHANdKlI856thfgfbiZV5WZRVEYRCFnu8BgADQGdC2acss84JgNB0o2MIcRGG+29nfvOX74xAXQpRZXuaFDiACIjORImZmRUScTEZDSRQv8F3Pa6radiFYfdIHpVMp30sRUtS1+/UMAICObOp6wOJbAAiiyPJn+T7TiIiZUSIAMNFJ89OEEGLfBPNkQQNRtt0NlnRkjpIIHVtEbvXJ6egIgNFk7IWB67rM3LVtkedVVvYpjQLEMi/yXZpMRtR7KSszS9cNkyjf7Gyi3vJ9CjdSzq4XQRSKh7JBz/fCOMqDdLva9I20LDfSccI47I+4YE7GozLNBxmHYu1S9Ml4Pg3iUM8g1kWw+i/JdBKPkp4BEGJa/77TCx5ehZJNH0XHdZNxIshKFMu3meYOwjBKYupeGCFLSo1mE/NB9K+5cBZifbdc3y27tgPEQ7z8YCjRsLicieLJ2PFcq8KtPjE5EwrXcwGA4WVcENF1XdV1/aMfxS6t8iKIAs/3vSAA3Dvztmmbuq6KcrqYe6F/9FyLUk4Ws+W/t1aFW76Pc+e4Dr+pD6QrRTFAczAgMnOe5kVaAMJhCMneczNXRemFwVGxwkRBHMWTUb5NbSzc6pMjirbrOhDwBlSq7QYsiEVEHZM5CJJDbqgsClJGxbdMNJnP/IfN39Ys369a17RvPwD9t6oaCpiuafNtalh8CwDT64V8eVebNcv3gzetyqrMC3Tki0o326Vt03xMMA4Q0+2uLioTxHUsZX5z5diMj+X7bVC2y3VdVft6V3isASyzLFvvPlLjMvPq9r6uaiPEifwoiCeJsHwP6GX+73//+/MQB4TRZBwm8b6YhCjfZnma9vfce5EtTGeY6Ib56dU8TGLxcPR89r28rwUQQuRpulttrf+2fJsc2hgQpJQsBCml/znICwICKVJqX3pl+EyESZSMR57vAaAeyLLX3SBIUVM32XZXFaX5k2PNxH5sfaymues62Ac1+sKtAdUztkmppm7Szc5IzQOAEGWaV3npBb7v++hIPY9FKaW6rqnqpqqZhZ3+av335wie8Ww6mo2FgH0IDwABFNHmbllmubmm/3v4t/6nrT+x/vuzdA6FSTSejYn4MVnDTMwIMFnM2rpWnTIUFX+jbMm28ZNP/YADSCYTfsUZS8eJxyOyJ0LL9zdVJtJ1pJSvp13Y9Tzrgy3f3xRwIaV8azoK65Y2+2u0fH9HcYLQtR2p1+U1ABP13ydvzfL9OaaU6tr2DQFSl5VVJ5bvb2y79W6/OZb/VCZt3eRpZutaLd/fVqIANHW9uV8Rke7GPzTptHW9vluSLWr9wmbj30aIF2ne1k00SrzAl45sm6ap6nyX2dZgy/cPOWi2bbtdrnRbMRMT04eN5LRm+f4ILy4emtAECLQxQau/rVmzfFuzZvm2Zs3ybc2a5dua5duaNcu3NWuWb2vWLN/WrFm+rVmzfFuzZvm2Zvm2Zs3ybc2a5duaNcu3NWuWb2vWLN/WLtv+H3due4zORr1ZAAAAAElFTkSuQmCC");
    background-size:170px; background-repeat:repeat;
    opacity:0.16;
    border-radius:50%;
  }
  .identity-mark{width:190px; position:relative; z-index:1;}
  .identity-copy p{font-size:16px; color:#4a3f3a; margin:0 0 18px; max-width:560px;}
  .identity-copy h2{font-size:clamp(28px,3.6vw,40px); color:var(--maroon-deep); line-height:1.08; margin-bottom:20px; text-transform:none;}
  .mission-box{
    margin-top:28px; padding:22px 24px; background:var(--cream); border-left:3px solid var(--red); border-radius:2px;
  }
  .mission-box h4{font-family:'Space Mono'; font-size:12px; letter-spacing:0.16em; text-transform:uppercase; color:var(--maroon); margin:0 0 10px;}
  .mission-box p{margin:0; font-size:15px; color:#4a3f3a;}
  .values-row{display:flex; flex-wrap:wrap; gap:10px; margin-top:22px;}
  .value-chip{
    font-family:'Space Mono'; font-size:11px; letter-spacing:0.08em; text-transform:uppercase;
    padding:8px 14px; border-radius:20px; background:var(--maroon-deep); color:var(--cream);
  }
  .value-chip:nth-child(3n+2){background:var(--red);}
  .value-chip:nth-child(3n+3){background:var(--slate);}

  /* ---------- Testimonials ---------- */
  .testimonials{background:var(--cream);}
  .test-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
  .test-card{
    background:#fff; border:1px solid var(--line); border-radius:4px; padding:26px 24px 22px; position:relative;
  }
  .test-card::after{
    content:""; position:absolute; left:24px; right:24px; bottom:0; height:1px;
    background-image:linear-gradient(to right, var(--line) 50%, transparent 0%);
    background-size:8px 1px; background-repeat:repeat-x;
  }
  .stars{color:var(--yellow); -webkit-text-stroke:0.5px var(--maroon); font-size:14px; letter-spacing:2px; margin-bottom:12px;}
  .test-card p{font-size:15px; color:#4a3f3a; margin:0 0 18px;}
  .test-who{font-family:'Space Mono'; font-size:12px; color:var(--maroon); letter-spacing:0.05em;}
  .test-photos{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}
  .test-photos img{width:120px; height:120px; object-fit:cover; border-radius:var(--radius); border:2px solid var(--cream); box-shadow:0 4px 14px rgba(36,26,23,0.18);}

  /* ---------- GALLERY ---------- */
  .gallery{background:var(--cream);}
  .gallery-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    grid-auto-rows:150px;
    gap:12px;
  }
  .gallery-grid a{display:block; border-radius:10px; overflow:hidden; position:relative; box-shadow:0 4px 14px rgba(36,26,23,0.12);}
  .gallery-grid img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease;}
  .gallery-grid a:hover img{transform:scale(1.06);}
  .gallery-grid a.tall{grid-row:span 2;}
  .gallery-grid a.wide{grid-column:span 2;}
  @media (max-width:900px){
    .gallery-grid{grid-template-columns:repeat(2,1fr); grid-auto-rows:130px;}
    .gallery-grid a.wide{grid-column:span 2;}
  }
  @media (max-width:520px){
    .gallery-grid{grid-template-columns:repeat(2,1fr); grid-auto-rows:110px;}
  }

  /* ---------- FAQ ---------- */
  .faq{background:var(--cream);}
  .faq-list{display:flex; flex-direction:column; max-width:760px;}
  .faq-item{border-bottom:1px solid var(--line); padding:22px 0;}
  .faq-item summary{
    cursor:pointer; list-style:none;
    display:flex; align-items:center; justify-content:space-between; gap:20px;
    font-family:'Fredoka'; font-weight:600; font-size:17px; color:var(--ink);
  }
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{
    content:"+"; font-size:24px; line-height:1; color:var(--red); flex-shrink:0;
    transition:transform .2s ease;
  }
  .faq-item[open] summary::after{content:"â€“";}
  .faq-item p{margin:14px 0 0; font-size:15px; color:#5a4d47; line-height:1.65; max-width:660px;}

  /* ---------- CTA band ---------- */
  .cta-band{
    background:var(--red);
    color:var(--cream);
    text-align:center;
    padding:80px 0;
  }
  .cta-band h2{font-size:clamp(30px,5vw,50px); color:var(--cream); margin-bottom:20px; text-transform:none;}
  .cta-band p{font-size:17px; color:#ffe3e0; max-width:480px; margin:0 auto 32px;}
  .cta-band .btn-row{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}

  /* ---------- Footer ---------- */
  footer{background:var(--maroon-deep); color:var(--sand); padding:0 0 28px;}
  .foot-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:40px; padding:56px 0 44px; border-bottom:1px solid var(--line-cream);}
  .foot-brand{display:flex; align-items:center; gap:10px; margin-bottom:16px;}
  .foot-brand img{height:34px;}
  .foot-brand-word{font-family:'Fredoka'; font-weight:700; font-size:18px; color:var(--cream);}
  .foot-col h4{font-family:'Space Mono'; font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:var(--yellow); margin:0 0 16px;}
  .foot-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px;}
  .foot-col a{text-decoration:none; font-size:14px; color:var(--sand);}
  .foot-col a:hover{color:var(--cream); text-decoration:underline;}
  .foot-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:22px; flex-wrap:wrap; gap:12px; max-width:var(--max); margin:0 auto; padding-left:28px; padding-right:28px;}
  .foot-bottom p{margin:0; font-size:12px; color:#b7a9a0;}

  /* ---------- Reveal on scroll ---------- */
  .reveal{transition:opacity .7s ease, transform .7s ease;}
  .reveal.pre{opacity:0; transform:translateY(18px);}
  .reveal.in{opacity:1; transform:none;}

  /* ---------- Responsive ---------- */
  @media (max-width:920px){
    header .nav > nav{display:none;}
    .menu-toggle{display:block;}
    .mobile-nav.open{display:block;border-top:1px solid var(--line);}
    .mobile-nav ul{list-style:none;margin:0;padding:16px 28px 20px;display:flex;flex-direction:column;gap:4px;}
    .mobile-nav a{display:block;padding:12px 0;text-decoration:none;font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:0.03em;color:var(--ink);border-bottom:1px solid var(--line);}
    .hero{height:58vh; min-height:360px;}
    .brand-intro{padding:44px 0 54px;}
    .tickets{grid-template-columns:1fr;}
    .why-grid{grid-template-columns:1fr; gap:30px;}
    .identity-grid{grid-template-columns:1fr; gap:30px; text-align:center;}
    .identity-copy p{margin-left:auto;margin-right:auto;}
    .values-row{justify-content:center;}
    .test-grid{grid-template-columns:1fr;}
    .foot-grid{grid-template-columns:1fr 1fr; gap:30px;}
    .booking-grid{grid-template-columns:1fr 1fr;}
    .booking-bar{margin-top:-40px;}
  }
  @media (max-width:640px){
    .nav{flex-wrap:wrap;}
    .nav-right{order:3; width:100%; justify-content:space-between; margin-top:10px;}
    .booking-grid{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:520px){
    .ticket{grid-template-columns:1fr 70px;}
    .ticket-facts{grid-template-columns:1fr 1fr;}
    .foot-grid{grid-template-columns:1fr;}
    section{padding:70px 0;}
    .booking-bar{margin-top:-36px;}
    .booking-card{padding:22px 18px 18px;}
    .booking-grid{grid-template-columns:1fr;}
    .booking-footer{flex-direction:column; align-items:stretch;}
    .booking-ctas{flex-direction:column;}
    .booking-ctas .btn{justify-content:center;}
  }

/* ======================================================
   v2 â€” Experiences first, booking as modal, quick actions
   ====================================================== */

/* Shorter hero so the experiences peek above the fold */
.hero{height:54vh; min-height:400px; max-height:580px;}
@media (max-width:920px){ .hero{height:44vh; min-height:300px;} }

/* Experiences section sits right under the hero */
#experiences{padding:36px 0 64px;}
#experiences .section-head{margin-bottom:22px;}
#experiences .section-head .eyebrow{margin-bottom:10px;}
#experiences .section-head h2{font-size:clamp(26px,3.2vw,36px);}
#experiences .section-head p{margin-top:10px; font-size:15.5px;}
@media (max-width:520px){ #experiences{padding:40px 0 56px;} #experiences .section-head{margin-bottom:24px;} }

/* Tile = photo card + quick-action buttons */
.exp-tile{display:flex; flex-direction:column; gap:12px;}
.exp-actions{display:flex; flex-direction:column; gap:8px;}
.exp-act-main{width:100%; justify-content:center; padding:12px 16px;}
.exp-act-row{display:grid; grid-template-columns:1fr 1fr; gap:8px;}
.exp-act-sm{justify-content:center; padding:9px 10px; font-size:13px;}
@media (max-width:480px){
  .exp-act-main{padding:11px 10px; font-size:14px;}
  .exp-act-sm{padding:8px 6px; font-size:12px;}
}

/* Booking modal */
.booking-modal{position:fixed; inset:0; z-index:1100; display:none; align-items:center; justify-content:center; padding:16px; overflow-y:auto;}
.booking-modal.is-open{display:flex;}
.booking-backdrop{position:fixed; inset:0; background:rgba(20,10,8,0.72);}
.booking-dialog{position:relative; z-index:1; width:100%; max-width:760px; margin:auto;}
.booking-modal .booking-card{position:relative; margin:0;}
.booking-close{
  position:absolute; top:10px; right:12px; width:36px; height:36px; border-radius:50%;
  border:none; background:rgba(36,26,23,0.08); color:var(--ink); font-size:24px; line-height:1; cursor:pointer;
}
.booking-close:hover{background:rgba(36,26,23,0.18);}
.booking-modal .booking-head{padding-right:40px;}
@media (max-width:640px){ .booking-modal .booking-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){
  .booking-modal{padding:8px; align-items:flex-start;}
  .booking-modal .booking-grid{grid-template-columns:1fr;}
}

/* Payment buttons */
.booking-pay-row{display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:16px; padding-top:16px; border-top:1px dashed var(--line);}
.booking-pay-btns{display:flex; gap:10px; flex:1; flex-wrap:wrap;}
.booking-pay-btns .paypal-pay-btn,
.booking-pay-btns .culqi-pay-btn{flex:1 1 180px; max-width:none;}
.culqi-pay-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:13px 22px; background:var(--maroon-deep); color:var(--cream);
  border:none; border-radius:8px; font-family:'Work Sans',sans-serif; font-weight:700; font-size:15px;
  cursor:pointer; box-shadow:0 2px 0 rgba(0,0,0,0.12);
  transition:background .15s ease, transform .1s ease;
}
.culqi-pay-btn:hover{background:var(--maroon);}
.culqi-pay-btn:active{transform:translateY(1px);}
.culqi-pay-btn[disabled]{opacity:.6; cursor:wait;}
.booking-status{margin:12px 0 0; font-size:13.5px; font-weight:600; text-align:center; color:var(--maroon); min-height:0;}
.booking-status:empty{display:none;}
.booking-status.is-error{color:var(--red-dark);}
.booking-status.is-ok{color:#2c6e3f;}
@media (max-width:640px){ .booking-pay-row{flex-direction:column; align-items:stretch; text-align:center;} }

/* Floating quick-action bar */
.quick-bar{
  position:fixed; z-index:900; right:18px; bottom:18px; display:flex; gap:10px; align-items:center;
  transition:opacity .2s ease, transform .2s ease;
}
.quick-bar .btn{box-shadow:0 10px 24px -8px rgba(36,20,17,0.55); padding:13px 20px;}
.quick-wa{display:inline-flex; align-items:center; gap:8px; background:#1f9d55; border-color:#1f9d55; color:#fff;}
.quick-wa:hover{background:#17803f; border-color:#17803f;}
body.modal-open .quick-bar{opacity:0; pointer-events:none; transform:translateY(12px);}
@media (max-width:640px){
  .quick-bar{left:0; right:0; bottom:0; padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px)); background:rgba(247,240,227,0.96); border-top:1px solid var(--line); gap:10px;}
  .quick-bar .btn{flex:1; justify-content:center; box-shadow:none; padding:12px 10px;}
  body{padding-bottom:70px;}
}
.booking-modal .booking-grid{grid-template-columns:2.2fr 1.3fr 1fr 1.2fr;}
@media (max-width:640px){ .booking-modal .booking-grid{grid-template-columns:1fr 1fr;} .booking-modal .booking-field:first-child{grid-column:1/-1;} }
@media (max-width:520px){ .booking-modal .booking-grid{grid-template-columns:1fr;} }

/* ======================================================
   v3 â€” Hero captions: bigger, readable, new typeface
   ====================================================== */
/* Gradient now lives inside each slide, UNDER the caption (the old overlay
   sat on top of the text and tinted it). */
.hero-overlay{display:none;}
.hero-slide::after{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    linear-gradient(0deg, rgba(28,9,9,0.88) 0%, rgba(28,9,9,0.55) 32%, rgba(28,9,9,0) 62%),
    linear-gradient(90deg, rgba(28,9,9,0.45) 0%, rgba(28,9,9,0) 55%);
}
.hero-slide-caption{
  z-index:2; left:max(40px, calc((100vw - 1100px) / 2)); bottom:44px; max-width:720px;
}
.hsc-word{
  font-family:'Bebas Neue','Impact','Arial Narrow',sans-serif; font-weight:400;
  font-size:clamp(46px,7vw,92px); letter-spacing:2px; line-height:0.95;
  color:#fff; text-transform:uppercase;
  text-shadow:0 2px 18px rgba(0,0,0,0.55), 0 1px 3px rgba(0,0,0,0.6);
}
.hsc-word::after{
  content:""; display:block; width:84px; height:5px; border-radius:3px;
  background:var(--yellow); margin-top:12px;
}
.hsc-phrase{
  font-family:'Work Sans',sans-serif; font-weight:600;
  font-size:clamp(16px,1.7vw,22px); line-height:1.35;
  color:#fff; opacity:1; margin-top:12px; max-width:560px;
  text-shadow:0 1px 10px rgba(0,0,0,0.65), 0 1px 2px rgba(0,0,0,0.6);
}
@media (max-width:640px){
  .hero-slide-caption{left:20px; right:20px; bottom:26px; max-width:none;}
  .hsc-word{font-size:clamp(40px,12vw,56px);}
  .hsc-word::after{width:64px; height:4px; margin-top:9px;}
  .hsc-phrase{font-size:15px; margin-top:9px;}
}
