.hero {
  position:relative;
  isolation:isolate;
  height:clamp(760px,67vw,1030px);
  max-width:1900px;
  margin:auto;
  overflow:hidden;
  background:white;
}

.scene-viewport {
  position:absolute;
  inset:0;
  overflow:hidden;
  touch-action:pan-y;
}

.scene-canvas {
  position:absolute;
  inset:0;
  transform-origin:center;
  transform:translate(var(--pan-x,0px),var(--pan-y,0px)) scale(var(--zoom,1));
  will-change:transform;
}

.scene-canvas.is-zoomed {
  cursor:grab;
}

.scene-canvas.is-dragging {
  cursor:grabbing;
}

.world-image {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center bottom;
  user-select:none;
  -webkit-user-drag:none;
}

.hero-copy {
  position:relative;
  z-index:2;
  margin:14px 4% 0;
  width:min(780px,61%);
  pointer-events:none;
}

.hero-copy>* {
  pointer-events:auto;
}

.hero h1 {
  font-size:clamp(46px,5.35vw,83px);
  font-weight:650;
  line-height:1.08;
  letter-spacing:-.065em;
  white-space:nowrap;
}

.hero h1 span {
  color:#b94632;
}

.hero-copy>p {
  font-size:clamp(15px,1.5vw,22px);
  line-height:1.55;
  color:#716c68;
  margin:16px 0 24px;
  letter-spacing:-.035em;
}

.mobile-break {
  display:none;
}

.search-form {
  display:flex;
  align-items:center;
  width:min(660px,100%);
  height:58px;
  border:1px solid #e9e0dc;
  border-radius:32px;
  background:rgba(255,255,255,.96);
  padding:0 20px;
  box-shadow:0 3px 15px #65534403;
}

.search-form input {
  width:100%;
  min-width:0;
  border:0;
  background:transparent;
  outline-offset:0;
  font-size:16px;
  color:var(--ink);
  padding:10px;
}

.search-form input::placeholder {
  color:#68615c;
}

.search-mark {
  width:18px;
  height:18px;
  border:3px solid var(--brand);
  border-radius:50%;
  position:relative;
  flex-shrink:0;
  margin-right:6px;
}

.search-mark::after {
  content:'';
  position:absolute;
  width:9px;
  height:3px;
  background:var(--brand);
  right:-7px;
  bottom:-4px;
  transform:rotate(45deg);
  border-radius:2px;
}

.search-form button {
  border:0;
  background:none;
  color:var(--action);
  padding:10px;
  font-size:14px;
}

.all-link {
  white-space:nowrap;
  border-left:1px solid #e4dad5;
  padding-left:20px;
  margin-left:12px;
  font-size:13px;
  color:var(--action);
}

.explore {
  margin-top:16px;
  min-width:340px;
}
