

    :root{
      --bg-deep:#0c0e13;
      --bg-panel:#14171f;
      --bg-panel-2:#191c26;
      --line:#2a2d38;

      --gold:#c6a15b;
      --gold-bright:#e6c98a;

      --burgundy:#7a2632;

      --cream:#f3eee2;
      --stone:#9a9788;
      --stone-dim:#6b6960;
    }


    *{
      box-sizing:border-box;
      margin:0;
      padding:0;
    }


    html{
      scroll-behavior:smooth;
    }


    body{
      background:var(--bg-deep);
      color:var(--cream);
      font-family:'Jost',sans-serif;
      line-height:1.6;
    }


    h1,
    h2,
    h3,
    .serif{
      font-family:'Cormorant Garamond',serif;
    }


    a{
      color:inherit;
      text-decoration:none;
    }


    img{
      max-width:100%;
      display:block;
    }


    .wrap{
      max-width:1180px;
      margin:0 auto;
      padding:0 32px;
    }


    .ph{
      background:#1c1f29;
      border:1px solid var(--line);

      display:flex;
      align-items:center;
      justify-content:center;

      text-align:center;

      overflow:hidden;
      position:relative;
    }


    .ph img{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
    }


    .ph::after{
      content:"";

      position:absolute;
      inset:0;

      background:
      linear-gradient(
        180deg,
        rgba(0,0,0,0) 55%,
        rgba(0,0,0,.16)
      );

      pointer-events:none;
    }


    /* ================= HEADER ================= */

    header{
      position:sticky;
      top:0;

      z-index:50;

      background:rgba(12,14,19,.92);

      backdrop-filter:blur(6px);

      border-bottom:1px solid var(--line);
    }


    .nav-row{
      display:flex;
      align-items:center;
      justify-content:space-between;

      padding:10px 0;
    }


    .logo{
      font-family:'Cormorant Garamond',serif;

      font-size:24px;

      letter-spacing:2px;

      color:var(--cream);

      font-weight:600;
    }


    .logo span{
      color:var(--gold);
    }


    nav ul{
      list-style:none;

      display:flex;

      gap:26px;
    }


    nav a{
      font-size:12px;

      letter-spacing:1px;

      text-transform:uppercase;

      color:var(--stone);

      transition:color .2s;
    }


    nav a:hover{
      color:var(--gold);
    }


    .nav-cta{
      display:flex;
      gap:10px;
      align-items:center;
    }


    .btn{
      display:inline-block;

      padding:11px 22px;

      font-size:12.5px;

      letter-spacing:1px;

      text-transform:uppercase;

      border-radius:2px;

      transition:all .2s;

      cursor:pointer;
    }


    .btn-gold{
      background:var(--gold);

      color:#1a1206;

      font-weight:600;
    }


    .btn-gold:hover{
      background:var(--gold-bright);
    }


    .btn-outline{
      border:1px solid var(--gold);

      color:var(--gold);
    }


    .btn-outline:hover{
      background:rgba(198,161,91,.1);
    }


    /* ================= HERO ================= */

    .hero{
      position:relative;

      min-height:640px;

      display:flex;
      align-items:center;

      padding:120px 0 80px;
    }


    .hero > .ph{
      position:absolute;

      inset:0;

      z-index:0;

      border:0;

      border-radius:0;
    }


    .hero > .ph img{
      object-position:center 58%;
    }


    .hero-overlay{
      position:absolute;

      inset:0;

      z-index:1;

      background:
      linear-gradient(
        180deg,
        rgba(12,14,19,.48) 0%,
        rgba(12,14,19,.76) 68%,
        var(--bg-deep) 100%
      );
    }


    .hero-content{
      position:relative;

      z-index:2;

      max-width:640px;
    }


    .eyebrow{
      color:var(--gold);

      font-size:12.5px;

      letter-spacing:3px;

      text-transform:uppercase;

      display:flex;
      align-items:center;

      gap:12px;

      margin-bottom:20px;
    }


    .eyebrow::before{
      content:'';

      width:32px;

      height:1px;

      background:var(--gold);
    }


    .hero h1{
      font-size:56px;

      font-weight:600;

      line-height:1.1;

      color:var(--cream);

      margin-bottom:20px;
    }


    .hero h1 em{
      font-style:italic;

      color:var(--gold-bright);
    }


    .hero p{
      font-size:16px;

      color:var(--stone);

      max-width:480px;

      margin-bottom:32px;
    }


    .hero-btns{
      display:flex;

      gap:14px;
    }


    /* ================= SECTIONS ================= */

    section{
      padding:100px 0;
    }


    .section-head{
      text-align:center;

      max-width:640px;

      margin:0 auto 56px;
    }


    .section-head .eyebrow{
      justify-content:center;
    }


    .section-head .eyebrow::before{
      display:none;
    }


    .section-head h2{
      font-size:40px;

      color:var(--cream);

      font-weight:600;
    }


    .section-head p{
      color:var(--stone);

      font-size:15px;

      margin-top:14px;
    }


    .alt-panel{
      background:var(--bg-panel);
    }


    /* ================= TRUST ================= */

    .trust{
      display:flex;

      justify-content:space-between;

      padding:36px 0;

      border-top:1px solid var(--line);

      border-bottom:1px solid var(--line);
    }


    .trust-item{
      display:flex;

      align-items:center;

      gap:12px;

      flex:1;

      justify-content:center;
    }


    .trust-item span:first-child{
      color:var(--gold);
    }


    .trust-item span:last-child{
      font-size:13px;

      color:var(--stone);

      letter-spacing:.3px;
    }


    /* ================= SERVICES ================= */

    .services-grid{
      display:grid;

      grid-template-columns:repeat(4,1fr);

      gap:24px;
    }


    .service-card{
      display:block;

      background:var(--bg-panel-2);

      border:1px solid var(--line);

      border-radius:4px;

      overflow:hidden;

      transition:
      border-color .2s,
      transform .2s;
    }


    .service-card:hover{
      border-color:var(--gold);

      transform:translateY(-4px);
    }


    .service-card .ph{
      height:150px;

      border:0;

      border-bottom:1px solid var(--line);
    }


    .service-card-body{
      padding:20px;
    }


    .service-card-body h3{
      font-size:19px;

      color:var(--cream);

      margin-bottom:6px;

      font-weight:600;
    }


    .service-card-body p{
      font-size:13px;

      color:var(--stone-dim);
    }


    /* ================= DESTINATIONS ================= */

    .dest-grid{
      display:grid;

      grid-template-columns:repeat(6,1fr);

      gap:16px;
    }


    .dest-card{
      position:relative;

      border-radius:4px;

      overflow:hidden;

      aspect-ratio:3/4;

      transition:transform .25s ease;
    }


    .dest-card:hover{
      transform:translateY(-4px);
    }


    .dest-card .ph{
      position:absolute;

      inset:0;

      border:0;
    }


    .dest-card .ph img{
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center;
    }


    .dest-label{display:flex;flex-direction:column;gap:5px;}
    .dest-label .dest-city{font-size:1.05rem;letter-spacing:.04em;}
    .dest-label .dest-place{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:var(--gold);}
    .dest-mini{margin:10px 0 0;color:var(--muted);font-size:.82rem;line-height:1.55;max-width:320px;}
    .dest-label{
      position:absolute;

      bottom:0;
      left:0;
      right:0;

      padding:16px 12px 12px;

      background:
      linear-gradient(
        180deg,
        transparent,
        rgba(0,0,0,.8)
      );

      z-index:2;

      font-family:'Cormorant Garamond',serif;

      font-size:17px;

      color:var(--cream);

      font-weight:600;
    }


    /* ================= WHY ================= */

    .why-grid{
      display:grid;

      grid-template-columns:repeat(3,1fr);

      gap:40px;
    }


    .why-item{
      text-align:center;

      padding:0 12px;
    }


    .why-item .num{
      font-family:'Cormorant Garamond',serif;

      font-size:15px;

      color:var(--gold);

      letter-spacing:2px;

      margin-bottom:14px;
    }


    .why-item h3{
      font-size:21px;

      color:var(--cream);

      margin-bottom:10px;

      font-weight:600;
    }


    .why-item p{
      font-size:13.5px;

      color:var(--stone-dim);
    }


    /* ================= GALLERY ================= */

    .gallery-grid{
      display:grid;

      grid-template-columns:repeat(4,1fr);

      grid-auto-rows:140px;

      gap:12px;
    }


    .gallery-grid .ph{
      border:0;
    }


    .gallery-grid .ph:nth-child(1){
      grid-column:span 2;

      grid-row:span 2;
    }


    .gallery-grid .ph:nth-child(4){
      grid-row:span 2;
    }


    .gallery-grid img{
      transition:transform .45s ease;
    }


    .gallery-grid .ph:hover img{
      transform:scale(1.04);
    }


    /* ================= VIDEO ================= */

    .video-grid{
      display:grid;

      grid-template-columns:repeat(3,1fr);

      gap:20px;
    }


    .video-card{
      position:relative;

      aspect-ratio:16/9;

      border-radius:4px;

      overflow:hidden;

      display:block;
    }


    .video-card.reel{
      aspect-ratio:9/16;
    }


    .video-card video{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
    }


    .video-card.playing .play-btn{
      display:none;
    }


    .video-card .ph{
      position:absolute;

      inset:0;

      border:0;
    }


    .play-btn{
      position:absolute;

      top:50%;
      left:50%;

      transform:translate(-50%,-50%);

      z-index:2;

      width:52px;
      height:52px;

      border-radius:50%;

      border:1px solid var(--gold);

      display:flex;

      align-items:center;

      justify-content:center;

      background:rgba(12,14,19,.6);

      color:var(--gold);
    }


    /* ================= TESTIMONIALS ================= */

    .testi-grid{
      display:grid;

      grid-template-columns:repeat(3,1fr);

      gap:28px;
    }


    .testi-card{
      background:var(--bg-panel-2);

      border:1px solid var(--line);

      padding:28px 24px;

      border-radius:4px;
    }


    .testi-card .quote-mark{
      color:var(--gold);

      font-family:'Cormorant Garamond',serif;

      font-size:38px;

      line-height:1;

      margin-bottom:8px;
    }


    .testi-card p{
      font-size:14px;

      color:var(--stone);

      margin-bottom:20px;

      min-height:96px;
    }


    .testi-name{
      font-size:14px;

      color:var(--cream);

      font-weight:600;
    }


    .testi-role{
      font-size:12px;

      color:var(--stone-dim);
    }


    /* ================= CTA ================= */

    .cta-band{
      background:
      linear-gradient(
        135deg,
        var(--burgundy) 0%,
        #4a1520 100%
      );

      border-radius:6px;

      padding:56px;

      display:flex;

      align-items:center;

      justify-content:space-between;

      gap:40px;
    }


    .cta-band h2{
      font-size:32px;

      color:var(--cream);

      max-width:420px;
    }


    .cta-band p{
      color:#e0c3c9;

      font-size:14px;

      margin-top:10px;
    }


    /* ================= CONTACT ================= */

    .contact-grid{
      display:grid;

      grid-template-columns:1fr 1fr;

      gap:56px;
    }


    .form-field{
      margin-bottom:18px;
    }


    .form-field label{
      display:block;

      font-size:12px;

      letter-spacing:1px;

      text-transform:uppercase;

      color:var(--stone);

      margin-bottom:8px;
    }


    .form-field input,
    .form-field select,
    .form-field textarea{
      width:100%;

      background:var(--bg-panel-2);

      border:1px solid var(--line);

      color:var(--cream);

      padding:12px 14px;

      font-family:'Jost',sans-serif;

      font-size:14px;

      border-radius:2px;
    }


    .form-field input:focus,
    .form-field select:focus,
    .form-field textarea:focus{
      outline:none;

      border-color:var(--gold);
    }


    .form-row{
      display:grid;

      grid-template-columns:1fr 1fr;

      gap:16px;
    }


    .contact-info-item{
      display:flex;

      gap:16px;

      margin-bottom:28px;
    }


    .contact-info-item > span{
      color:var(--gold);

      font-size:20px;

      min-width:20px;
    }


    .contact-info-item h4{
      font-size:15px;

      color:var(--cream);

      margin-bottom:4px;

      font-weight:600;
    }


    .contact-info-item p{
      font-size:13.5px;

      color:var(--stone);
    }


    /* ================= FOOTER ================= */

    footer{
      background:var(--bg-panel);

      border-top:1px solid var(--line);

      padding:64px 0 28px;
    }


    .footer-grid{
      display:grid;

      grid-template-columns:2fr 1fr 1fr 1fr;

      gap:40px;

      margin-bottom:48px;
    }


    .footer-col h4{
      font-size:13px;

      letter-spacing:1px;

      text-transform:uppercase;

      color:var(--gold);

      margin-bottom:18px;
    }


    .footer-col ul{
      list-style:none;
    }


    .footer-col li{
      margin-bottom:10px;
    }


    .footer-col a{
      font-size:13.5px;

      color:var(--stone);

      transition:color .2s;
    }


    .footer-col a:hover{
      color:var(--gold-bright);
    }


    .footer-bottom{
      border-top:1px solid var(--line);

      padding-top:24px;

      display:flex;

      justify-content:space-between;

      font-size:12.5px;

      color:var(--stone-dim);
    }


    .social-row{
      display:flex;

      gap:14px;
    }


    .social-row a{
      width:34px;
      height:34px;

      border:1px solid var(--line);

      border-radius:50%;

      display:flex;

      align-items:center;

      justify-content:center;
    }


    /* ================= FLOAT BUTTONS ================= */

    .float-actions{
      position:fixed;

      bottom:24px;
      right:24px;

      z-index:60;

      display:flex;

      flex-direction:column;

      gap:12px;
    }


    .float-btn{
      width:52px;
      height:52px;

      border-radius:50%;

      display:flex;

      align-items:center;

      justify-content:center;

      box-shadow:0 4px 14px rgba(0,0,0,.4);
    }


    .float-btn.wa{
      background:#25d366;
    }


    .float-btn.call{
      background:var(--gold);
    }


    .float-btn span{
      font-size:22px;

      color:#0c0e13;
    }


    /* ================= RESPONSIVE ================= */

    @media(max-width:1100px){

      nav ul{
        gap:16px;
      }

    }


    @media(max-width:1000px){

      .services-grid{
        grid-template-columns:repeat(2,1fr);
      }


      .dest-grid{
        grid-template-columns:repeat(3,1fr);
      }


      .why-grid,
      .video-grid,
      .testi-grid{
        grid-template-columns:1fr;
      }


      .gallery-grid{
        grid-template-columns:repeat(2,1fr);
      }


      .contact-grid,
      .footer-grid{
        grid-template-columns:1fr;
      }


      nav{
        display:none;
      }


      .nav-cta .btn-outline{
        display:none;
      }


      .hero h1{
        font-size:38px;
      }


      .cta-band{
        flex-direction:column;

        text-align:center;

        padding:40px 24px;
      }


      .trust{
        flex-direction:column;

        gap:18px;
      }

    }


    @media(max-width:600px){

      .wrap{
        padding:0 18px;
      }


      section{
        padding:72px 0;
      }


      .services-grid,
      .dest-grid{
        grid-template-columns:1fr 1fr;
      }


      .hero{
        min-height:650px;
      }


      .hero h1{
        font-size:40px;
      }


      .hero-btns{
        flex-direction:column;

        align-items:flex-start;
      }


      .section-head h2{
        font-size:34px;
      }


      .gallery-grid{
        grid-auto-rows:110px;
      }


      .form-row{
        grid-template-columns:1fr;
      }


      .footer-bottom{
        flex-direction:column;

        gap:8px;
      }

    }

  
.brand-logo{
  height:75px;
  width:auto;
  max-width:220px;
  object-fit:contain;
  object-position:center;
  display:block;
  filter:drop-shadow(0 3px 10px rgba(0,0,0,.35));
  transition:transform .25s ease, filter .25s ease;
}
.logo:hover .brand-logo{
  transform:translateY(-1px);
  filter:drop-shadow(0 5px 14px rgba(201,164,92,.28));
}
.footer-brand .brand-logo{
  height:82px;
  max-width:260px;
}
@media(max-width:700px){
  .brand-logo{height:64px;max-width:210px;}
  .footer-brand .brand-logo{height:70px;max-width:225px;}
}
