:root{
  --jc-green:#113c34;
  --jc-green-dark:#092c27;
  --jc-green-soft:#e9f0ed;
  --jc-gold:#b9954f;
  --jc-gold-soft:#efe6d2;
  --jc-cream:#f7f4ed;
  --jc-white:#ffffff;
  --jc-ink:#17211e;
  --jc-muted:#66716c;
  --jc-line:#dcd8ce;
  --jc-shadow:0 18px 50px rgba(18,49,42,.08);
}

*{box-sizing:border-box}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  background:var(--jc-cream);
  color:var(--jc-ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,
    "Segoe UI",sans-serif;
  line-height:1.6;
}

a{color:inherit}

.jc-home-header{
  background:rgba(247,244,237,.97);
  border-bottom:1px solid var(--jc-line);
  position:sticky;
  top:0;
  z-index:9000;
  backdrop-filter:blur(12px);
}

.jc-home-header-inner{
  max-width:1440px;
  margin:auto;
  padding:13px clamp(22px,4vw,66px);
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:28px;
}

.jc-wordmark{
  display:flex;
  flex-direction:column;
  text-decoration:none;
  line-height:1;
  white-space:nowrap;
}

.jc-wordmark strong{
  font-size:15px;
  letter-spacing:.12em;
  color:var(--jc-green);
}

.jc-wordmark span{
  margin-top:6px;
  font-size:9px;
  color:var(--jc-gold);
  letter-spacing:.22em;
  font-weight:800;
}

.home-nav-fallback{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
}

.home-nav-fallback a{
  padding:8px 9px;
  text-decoration:none;
  font-size:12px;
  font-weight:750;
}

.home-nav-fallback .action{
  border:1px solid var(--jc-green);
  border-radius:999px;
  padding:9px 13px;
  margin-left:5px;
}

.home-nav-fallback .buy{
  background:var(--jc-green);
  color:white;
}

.jc-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 83% 18%,rgba(185,149,79,.20),transparent 24rem),
    linear-gradient(130deg,var(--jc-green-dark),var(--jc-green));
  color:white;
}

.jc-hero:after{
  content:"";
  position:absolute;
  width:410px;
  height:410px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
  right:-110px;
  bottom:-210px;
}

.jc-shell{
  max-width:1320px;
  margin:auto;
  padding-left:clamp(22px,6vw,84px);
  padding-right:clamp(22px,6vw,84px);
}

.jc-hero-inner{
  min-height:610px;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
  align-items:center;
  gap:60px;
  padding-top:76px;
  padding-bottom:76px;
}

.jc-eyebrow{
  color:#dcc488;
  font-size:12px;
  font-weight:850;
  letter-spacing:.19em;
  text-transform:uppercase;
}

.jc-hero h1{
  max-width:850px;
  margin:18px 0 22px;
  font-size:clamp(42px,5.4vw,78px);
  line-height:1.02;
  letter-spacing:-.045em;
  font-weight:760;
}

.jc-hero-copy{
  max-width:760px;
  font-size:clamp(17px,1.5vw,21px);
  color:#dce8e3;
  line-height:1.72;
}

.jc-principles{
  margin-top:30px;
  display:flex;
  gap:14px 26px;
  flex-wrap:wrap;
  color:#d4ded9;
  font-size:13px;
  font-weight:650;
}

.jc-principles span:before{
  content:"";
  width:5px;
  height:5px;
  display:inline-block;
  vertical-align:middle;
  border-radius:50%;
  margin-right:9px;
  background:var(--jc-gold);
}

.jc-hero-side{
  border:1px solid rgba(255,255,255,.16);
  border-radius:24px;
  background:rgba(255,255,255,.07);
  padding:32px;
  box-shadow:0 20px 80px rgba(0,0,0,.14);
}

.jc-hero-side small{
  display:block;
  color:#dbc68f;
  letter-spacing:.16em;
  font-weight:850;
  margin-bottom:17px;
}

.jc-hero-side h2{
  font-size:30px;
  line-height:1.15;
  margin:0 0 16px;
}

.jc-hero-side p{
  margin:0;
  color:#dce7e3;
}

.jc-destinations{
  margin-top:-54px;
  position:relative;
  z-index:5;
  padding-bottom:82px;
}

.jc-destination-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.jc-destination{
  display:flex;
  flex-direction:column;
  min-height:270px;
  padding:30px;
  background:var(--jc-white);
  border:1px solid var(--jc-line);
  border-radius:18px;
  text-decoration:none;
  box-shadow:var(--jc-shadow);
  transition:.18s ease;
}

.jc-destination:hover{
  transform:translateY(-4px);
  border-color:#c3b387;
}

.jc-number{
  color:var(--jc-gold);
  font-weight:850;
  letter-spacing:.12em;
  font-size:12px;
}

.jc-destination h2{
  font-size:28px;
  line-height:1.15;
  margin:22px 0 12px;
  color:var(--jc-green);
}

.jc-destination p{
  margin:0;
  color:var(--jc-muted);
}

.jc-destination strong{
  margin-top:auto;
  padding-top:25px;
  color:var(--jc-green);
  font-size:14px;
}

.jc-section{
  padding:88px 0;
}

.jc-section.white{
  background:white;
  border-top:1px solid var(--jc-line);
  border-bottom:1px solid var(--jc-line);
}

.jc-section-heading{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:70px;
  margin-bottom:48px;
}

.jc-section-heading h2{
  margin:8px 0 0;
  color:var(--jc-green);
  font-size:clamp(34px,4vw,54px);
  line-height:1.08;
  letter-spacing:-.035em;
}

.jc-section-heading p{
  font-size:18px;
  color:var(--jc-muted);
  align-self:end;
  margin:0;
}

.jc-pillars{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--jc-line);
  border-left:1px solid var(--jc-line);
}

.jc-pillar{
  padding:30px;
  border-right:1px solid var(--jc-line);
  border-bottom:1px solid var(--jc-line);
  background:#fbfaf7;
}

.jc-pillar small{
  color:var(--jc-gold);
  font-weight:850;
}

.jc-pillar h3{
  color:var(--jc-green);
  font-size:20px;
  margin:12px 0;
}

.jc-pillar p{
  color:var(--jc-muted);
  font-size:14px;
  margin:0;
}

.jc-two-path{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px;
}

.jc-path{
  padding:38px;
  border-radius:18px;
  border:1px solid var(--jc-line);
  background:white;
}

.jc-path.dark{
  background:var(--jc-green);
  border-color:var(--jc-green);
  color:white;
}

.jc-path h3{
  font-size:30px;
  margin:7px 0 16px;
  line-height:1.14;
}

.jc-path p{
  color:var(--jc-muted);
}

.jc-path.dark p{
  color:#dbe6e1;
}

.jc-link{
  display:inline-flex;
  margin-top:16px;
  font-weight:800;
  text-decoration:none;
  border-bottom:1px solid currentColor;
}

.jc-final-cta{
  padding:74px 0;
  background:var(--jc-gold-soft);
}

.jc-final-box{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:35px;
}

.jc-final-box h2{
  margin:0;
  max-width:720px;
  font-size:clamp(30px,4vw,48px);
  color:var(--jc-green);
  line-height:1.1;
}

.jc-final-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.jc-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid var(--jc-green);
  color:var(--jc-green);
  font-weight:850;
  text-decoration:none;
  font-size:14px;
}

.jc-btn.primary{
  background:var(--jc-green);
  color:white;
}

.jc-footer{
  background:#0b2c27;
  color:#d9e4df;
  padding:44px 0;
}

.jc-footer-grid{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:30px;
}

.jc-footer strong{
  color:white;
  letter-spacing:.07em;
}

.jc-footer p{
  margin:8px 0 0;
  color:#aebeb7;
  font-size:13px;
}

.jc-footer-links{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
}

.jc-footer-links a{
  color:#d9e4df;
  text-decoration:none;
  font-size:13px;
}

@media(max-width:1080px){
  .jc-home-header-inner{
    grid-template-columns:1fr;
    gap:10px;
  }
  .jc-hero-inner{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .jc-hero-side{max-width:600px}
  .jc-pillar{min-height:220px}
}

@media(max-width:860px){
  .home-nav-fallback{justify-content:flex-start}
  .jc-destination-grid,
  .jc-pillars,
  .jc-two-path{
    grid-template-columns:1fr;
  }
  .jc-section-heading{
    grid-template-columns:1fr;
    gap:20px;
  }
  .jc-destinations{
    margin-top:0;
    padding-top:20px;
  }
  .jc-pillar{min-height:0}
  .jc-final-box,
  .jc-footer-grid{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:560px){
  .jc-hero-inner{
    padding-top:54px;
    padding-bottom:54px;
  }
  .jc-hero h1{
    font-size:42px;
  }
  .jc-home-header-inner{
    padding-left:18px;
    padding-right:18px;
  }
  .jc-shell{
    padding-left:18px;
    padding-right:18px;
  }
  .jc-destination,
  .jc-path,
  .jc-hero-side{
    padding:24px;
  }
}

/* Final clarified IA: 4 explicit user journeys */
.jc-destination-grid-four{
  grid-template-columns:repeat(4,1fr);
}

@media(max-width:1180px){
  .jc-destination-grid-four{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:700px){
  .jc-destination-grid-four{
    grid-template-columns:1fr;
  }
}
