/* =========================================================
   NURIA SIGNATURE JOURNEYS
   Editorial Collection of Travel Experiences
   A Division of NURIA TOURS
========================================================= */


/* =========================================================
   01. DESIGN TOKENS
========================================================= */

:root{
  --nsj-red:#c21d1d;
  --nsj-red-dark:#a81717;

  --nsj-gold:#8A6B3E;
  --nsj-gold-soft:#B08D57;

  --nsj-ink:#121417;
  --nsj-heading:#111827;
  --nsj-muted:rgba(17,24,39,.72);
  --nsj-muted-soft:rgba(17,24,39,.60);

  --nsj-white:#ffffff;
  --nsj-soft:#f7f7f5;
  --nsj-border:rgba(17,24,39,.08);

  --nsj-radius:20px;
  --nsj-shadow:0 12px 30px rgba(17,24,39,.06);
  --nsj-shadow-hover:0 20px 45px rgba(17,24,39,.11);

  --nsj-section-space:90px;
}


/* =========================================================
   02. BASE
========================================================= */

.nt-signature-journeys{
  overflow:hidden;
  background:var(--nsj-white);
  color:var(--nsj-ink);
}

.nt-signature-journeys img{
  max-width:100%;
  display:block;
}

.nt-signature-journeys p{
  color:var(--nsj-muted);
  font-size:1.05rem;
  line-height:1.75;
}

.nt-signature-journeys h1,
.nt-signature-journeys h2,
.nt-signature-journeys h3,
.nt-signature-journeys h4,
.nt-signature-journeys h5{
  color:var(--nsj-heading);
}

.nt-signature-journeys h1,
.nt-signature-journeys h2,
.nt-signature-journeys h3{
  font-family:"Playfair Display", serif;
}

.nt-section,
.py-6{
  padding-top:var(--nsj-section-space);
  padding-bottom:var(--nsj-section-space);
}


/* =========================================================
   03. TYPOGRAPHY
========================================================= */

.nt-section-title,
.nt-signature-journeys h2{
  margin-bottom:18px;
  color:var(--nsj-heading);
  font-family:"Playfair Display", serif;
  font-size:clamp(2rem, 4vw, 3.2rem);
  font-weight:700;
  line-height:1.12;
  letter-spacing:-.02em;
}

.nt-section-subtitle{
  max-width:760px;
  margin-right:auto;
  margin-bottom:0;
  margin-left:auto;
  color:var(--nsj-muted);
  font-size:1.05rem;
  line-height:1.75;
}

.nt-kicker,
.nsj-kicker,
.nsj-section-kicker{
  display:inline-block;
  margin-bottom:14px;
  color:var(--nsj-gold);
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.nt-small-note{
  color:rgba(17,24,39,.62);
  font-size:.9rem;
  line-height:1.65;
}


/* =========================================================
   04. HERO — SHARED FOUNDATION
========================================================= */

.nsj-hero,
.nsj-collection-hero{
  position:relative;
  min-height:78vh;
  padding:90px 0 70px;
  display:flex;
  align-items:center;
  overflow:hidden;
  color:var(--nsj-white);
}

.nsj-hero-bg,
.nsj-collection-bg{
  position:absolute;
  inset:0;
  z-index:0;
}

.nsj-hero-bg img,
.nsj-collection-bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.nsj-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(
      90deg,
      rgba(8,12,18,.76) 0%,
      rgba(8,12,18,.50) 45%,
      rgba(8,12,18,.18) 100%
    ),
    linear-gradient(
      0deg,
      rgba(8,12,18,.22) 0%,
      rgba(8,12,18,.04) 60%
    );
}

.nsj-hero .container,
.nsj-collection-hero .container{
  position:relative;
  z-index:2;
}

.nsj-hero-content{
  max-width:720px;
  padding:42px 42px 38px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:22px;

  background:rgba(18,20,23,.48);

  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);

  box-shadow:0 22px 55px rgba(0,0,0,.28);
}

.nsj-volume{
  margin-bottom:13px;
  color:rgba(255,255,255,.84);
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.28em;
  text-transform:uppercase;
}

.nsj-hero h1,
.nsj-collection-hero h1{
  margin-bottom:14px;
  color:var(--nsj-white);
  font-family:"Playfair Display", serif;
  font-size:clamp(2.55rem, 5vw, 4.7rem);
  font-weight:700;
  line-height:1.02;
  letter-spacing:-.025em;
  text-shadow:0 6px 18px rgba(0,0,0,.48);
}

.nsj-division{
  margin-bottom:18px;
  color:rgba(255,255,255,.82);
  font-size:.76rem;
  font-weight:600;
  letter-spacing:.17em;
  text-transform:uppercase;
}

.nsj-hero-statement{
  max-width:560px;
  margin:20px 0 12px;
  color:var(--nsj-white) !important;
  font-family:"Playfair Display", serif;
  font-size:clamp(1.65rem, 3vw, 2.5rem) !important;
  font-weight:500 !important;
  line-height:1.17 !important;
}

.nsj-lead{
  max-width:630px;
  margin-bottom:0;
  color:rgba(255,255,255,.88) !important;
  font-size:1.08rem !important;
  line-height:1.67 !important;
  text-shadow:0 3px 12px rgba(0,0,0,.38);
}


/* =========================================================
   05. BUTTONS
========================================================= */

.nsj-actions,
.nsj-cta-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:27px;
}

.nsj-actions .btn,
.nsj-cta-buttons .btn{
  padding:12px 22px;
  border-radius:999px;
  font-size:.86rem;
  font-weight:650;
  letter-spacing:.035em;
  transition:
    transform .2s ease,
    background-color .2s ease,
    border-color .2s ease,
    color .2s ease;
}

.nsj-actions .btn-primary,
.nsj-cta-buttons .btn-primary{
  border-color:var(--nsj-red);
  background:var(--nsj-red);
  color:var(--nsj-white);
  box-shadow:0 12px 28px rgba(194,29,29,.22);
}

.nsj-actions .btn-primary:hover,
.nsj-cta-buttons .btn-primary:hover{
  border-color:var(--nsj-red-dark);
  background:var(--nsj-red-dark);
  color:var(--nsj-white);
  transform:translateY(-1px);
}

.nsj-actions .btn-outline-light,
.nsj-cta-buttons .btn-outline-light{
  border-color:rgba(255,255,255,.60);
  color:var(--nsj-white);
}

.nsj-actions .btn-outline-light:hover,
.nsj-cta-buttons .btn-outline-light:hover{
  border-color:var(--nsj-white);
  background:var(--nsj-white);
  color:var(--nsj-ink);
  transform:translateY(-1px);
}


/* =========================================================
   06. SECTION BACKGROUNDS
========================================================= */

.nsj-introduction,
.nsj-experience,
.nsj-why,
.nsj-faq,
.nt-select-experience,
.nt-designed-for,
.nt-journey-includes,
.nt-faq,
.nt-editorial-cta{
  background:var(--nsj-white);
}

.nsj-philosophy,
.nsj-collections,
.nsj-stories,
.nt-philosophy,
.nt-featured-editions{
  background:var(--nsj-soft);
  border-top:1px solid var(--nsj-border);
  border-bottom:1px solid var(--nsj-border);
}


/* =========================================================
   07. STANDARD CARDS
========================================================= */

.nsj-experience-card,
.nsj-collection-card,
.nsj-value-card,
.nsj-story-card,
.nsj-principle-card,
.nsj-profile-card,
.nsj-include-card{
  height:100%;
  padding:30px;
  border:1px solid var(--nsj-border);
  border-radius:var(--nsj-radius);
  background:var(--nsj-white);
  box-shadow:var(--nsj-shadow);
  transition:
    transform .25s ease,
    box-shadow .25s ease;
}

.nsj-experience-card:hover,
.nsj-collection-card:hover,
.nsj-value-card:hover,
.nsj-profile-card:hover,
.nsj-include-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--nsj-shadow-hover);
}

.nsj-experience-card span,
.nsj-include-number{
  display:inline-block;
  margin-bottom:16px;
  color:var(--nsj-gold);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.16em;
}

.nsj-experience-card h3,
.nsj-collection-card h3,
.nsj-value-card h3,
.nsj-principle-card h3,
.nsj-profile-card h3,
.nsj-include-card h3{
  margin-bottom:12px;
  color:var(--nsj-heading);
  font-family:"Playfair Display", serif;
  font-size:1.55rem;
  line-height:1.2;
}

.nsj-card-label{
  display:inline-block;
  margin-bottom:16px;
  color:var(--nsj-red);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}


/* =========================================================
   08. DESTINATION SUMMARY — LANDING
========================================================= */

.nsj-destinations{
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid var(--nsj-border);
}

.nsj-destinations strong{
  display:block;
  margin-bottom:8px;
  color:var(--nsj-heading);
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.nsj-destinations span{
  display:block;
  color:var(--nsj-gold);
  font-size:.92rem;
  line-height:1.6;
}


/* =========================================================
   09. FEATURED EDITIONS
========================================================= */

.nt-edition-card{
  height:100%;
  overflow:hidden;
  border:1px solid var(--nsj-border);
  border-radius:var(--nsj-radius);
  background:var(--nsj-white);
  box-shadow:var(--nsj-shadow);
  transition:
    transform .25s ease,
    box-shadow .25s ease;
}

.nt-edition-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--nsj-shadow-hover);
}

.nt-edition-cover{
  position:relative;
  overflow:hidden;
  aspect-ratio:3 / 2;
  background:var(--nsj-ink);
}

.nt-edition-cover::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    0deg,
    rgba(0,0,0,.16) 0%,
    rgba(0,0,0,0) 48%
  );
  pointer-events:none;
}

.nt-edition-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}

.nt-edition-card:hover .nt-edition-cover img{
  transform:scale(1.025);
}

.nt-edition-content{
  padding:29px 28px 30px;
}

.nt-edition-number{
  display:block;
  margin-bottom:12px;
  color:var(--nsj-red);
  font-size:.73rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.nt-edition-content h3{
  margin-bottom:6px;
  color:var(--nsj-heading);
  font-family:"Playfair Display", serif;
  font-size:clamp(1.65rem, 3vw, 2.1rem);
  line-height:1.15;
}

.nt-location{
  margin-bottom:16px;
  color:var(--nsj-gold);
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.nt-edition-content p{
  color:var(--nsj-muted);
  font-size:.98rem;
  line-height:1.7;
}


/* =========================================================
   10. EDITORIAL PASSPORT PREVIEW
========================================================= */

.nt-passport-preview{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--nsj-border);
}

.nt-passport-title{
  margin-bottom:13px;
  color:var(--nsj-gold);
  font-size:.71rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.nt-passport-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding:6px 0;
}

.nt-passport-label{
  color:var(--nsj-muted-soft);
  font-size:.86rem;
}

.nt-passport-value{
  color:var(--nsj-heading);
  font-size:.88rem;
  font-weight:600;
  text-align:right;
}

.nt-edition-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:21px;
  color:var(--nsj-red);
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.nt-edition-link:hover{
  color:var(--nsj-red-dark);
}


/* =========================================================
   11. STORIES
========================================================= */

.nsj-story-card{
  max-width:860px;
  margin:0 auto;
}

.nsj-story-card p{
  color:var(--nsj-heading);
  font-family:"Playfair Display", serif;
  font-size:1.45rem;
  line-height:1.6;
}

.nsj-story-card span{
  display:block;
  margin-top:18px;
  color:var(--nsj-gold);
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}


/* =========================================================
   12. EDITORIAL LISTS
========================================================= */

.nt-editorial-list{
  margin:0;
  padding:0;
  list-style:none;
}

.nt-editorial-list li{
  position:relative;
  padding:11px 0 11px 24px;
  border-bottom:1px solid var(--nsj-border);
  color:var(--nsj-muted);
  line-height:1.6;
}

.nt-editorial-list li:last-child{
  border-bottom:0;
}

.nt-editorial-list li::before{
  content:"";
  position:absolute;
  top:19px;
  left:0;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--nsj-red);
}


/* =========================================================
   13. FAQ
========================================================= */

.nsj-accordion,
.nt-faq .accordion{
  max-width:900px;
  margin:0 auto;
}

.nsj-accordion .accordion-item,
.nt-faq .accordion-item{
  overflow:hidden;
  margin-bottom:14px;
  border:1px solid var(--nsj-border);
  border-radius:16px;
  background:var(--nsj-white);
  box-shadow:0 8px 22px rgba(17,24,39,.04);
}

.nsj-accordion .accordion-button,
.nt-faq .accordion-button{
  padding:18px 22px;
  color:var(--nsj-heading);
  font-weight:650;
  box-shadow:none;
}

.nsj-accordion .accordion-button:not(.collapsed),
.nt-faq .accordion-button:not(.collapsed){
  background:var(--nsj-soft);
  color:var(--nsj-heading);
  box-shadow:none;
}

.nsj-accordion .accordion-button:focus,
.nt-faq .accordion-button:focus{
  border-color:transparent;
  box-shadow:none;
}

.nsj-accordion .accordion-body,
.nt-faq .accordion-body{
  padding:18px 22px 24px;
  color:var(--nsj-muted);
  line-height:1.75;
}


/* =========================================================
   14. CTA
========================================================= */

.nsj-cta{
  padding:95px 0;
  background:
    linear-gradient(
      135deg,
      rgba(18,20,23,.97),
      rgba(18,20,23,.89)
    );
  color:var(--nsj-white);
}

.nsj-cta h2{
  color:var(--nsj-white);
}

.nsj-cta p{
  max-width:760px;
  margin-right:auto;
  margin-left:auto;
  color:rgba(255,255,255,.82);
}

.nt-editorial-cta{
  background:var(--nsj-soft);
  border-top:1px solid var(--nsj-border);
}

.nt-editorial-cta .nt-work-cta{
  border:1px solid var(--nsj-border);
  border-radius:var(--nsj-radius);
  background:var(--nsj-white);
  box-shadow:var(--nsj-shadow);
}


/* =========================================================
   15. SIGNATURE JOURNEYS — SHARED NT CARDS
========================================================= */

.nt-signature-journeys .nt-card{
  height:100%;
  padding:30px;

  border:1px solid var(--nsj-border);
  border-radius:var(--nsj-radius);

  background:var(--nsj-white);

  box-shadow:var(--nsj-shadow);

  transition:
    transform .25s ease,
    box-shadow .25s ease;
}

.nt-signature-journeys .nt-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--nsj-shadow-hover);
}

.nt-signature-journeys .nt-card h3,
.nt-signature-journeys .nt-card h4,
.nt-signature-journeys .nt-card h5{
  margin-bottom:12px;

  color:var(--nsj-heading);

  font-family:"Playfair Display", serif;
  font-weight:700;
  line-height:1.25;
}

.nt-signature-journeys .nt-card p{
  margin-bottom:0;

  color:var(--nsj-muted);

  font-size:.96rem;
  line-height:1.7;
}

/* =========================================================
   15. ACCESSIBILITY & MOTION
========================================================= */

.nt-edition-link:focus-visible,
.nsj-actions .btn:focus-visible,
.nsj-cta-buttons .btn:focus-visible{
  outline:3px solid rgba(194,29,29,.28);
  outline-offset:4px;
}


/* =========================================================
   16. RESPONSIVE
========================================================= */

@media (max-width:991.98px){

  :root{
    --nsj-section-space:76px;
  }

  .nsj-hero,
  .nsj-collection-hero{
    min-height:72vh;
    padding:72px 0 60px;
  }

  .nsj-hero-content{
    max-width:680px;
  }

  .nt-work-cta-actions{
    justify-content:flex-start;
  }

}


@media (max-width:767.98px){

  :root{
    --nsj-section-space:64px;
  }

  .nsj-hero,
  .nsj-collection-hero{
    min-height:78vh;
    padding:60px 0 48px;
  }

  .nsj-hero-content{
    max-width:100%;
    padding:27px 23px;
    border-radius:18px;
    background:rgba(18,20,23,.54);
  }

  .nsj-hero h1,
  .nsj-collection-hero h1{
    font-size:clamp(2.35rem, 11vw, 3.2rem);
  }

  .nsj-hero-statement{
    font-size:1.65rem !important;
  }

  .nsj-lead{
    font-size:1rem !important;
  }

  .nsj-actions,
  .nsj-cta-buttons{
    flex-direction:column;
  }

  .nsj-actions .btn,
  .nsj-cta-buttons .btn{
    width:100%;
  }

  .nsj-experience-card,
  .nsj-collection-card,
  .nsj-value-card,
  .nsj-story-card,
  .nsj-principle-card,
  .nsj-profile-card,
  .nsj-include-card{
    padding:24px;
  }

  .nt-edition-content{
    padding:24px 22px 26px;
  }

  .nt-edition-cover{
    aspect-ratio:4 / 3;
  }

  .nt-work-cta-actions{
    justify-content:center;
  }

}


@media (max-width:575.98px){

  .nsj-hero,
  .nsj-collection-hero{
    min-height:auto;
  }

  .nsj-volume{
    letter-spacing:.22em;
  }

  .nsj-division{
    letter-spacing:.12em;
    line-height:1.5;
  }

  .nt-passport-item{
    align-items:flex-start;
  }

  .nt-passport-label{
    max-width:48%;
  }

  .nt-passport-value{
    max-width:52%;
  }

}


@media (prefers-reduced-motion:reduce){

  .nt-edition-card,
  .nt-edition-cover img,
  .nsj-experience-card,
  .nsj-collection-card,
  .nsj-value-card,
  .nsj-profile-card,
  .nsj-include-card,
  .nsj-actions .btn,
  .nsj-cta-buttons .btn{
    transition:none;
  }

  .nt-edition-card:hover,
  .nsj-experience-card:hover,
  .nsj-collection-card:hover,
  .nsj-value-card:hover,
  .nsj-profile-card:hover,
  .nsj-include-card:hover{
    transform:none;
  }

}