.masthead {
  height: calc(var(--cell) * 3);
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.masthead__block {
  width: calc(var(--cell) * var(--cols) / 2);
  height: var(--cell);
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.hero {
  display: grid;
  grid-template-columns: repeat(2, calc(var(--cell) * var(--cols) / 2));
  
  height: calc(var(--cell) * var(--hero-rows, 5));
}

.hero__copy {
  display: flex;
  flex-direction: column;
  
  justify-content: center;
  
  padding: calc(var(--cell) * 0.30) calc(var(--cell) * 0.33)
           calc(var(--cell) * 0.18) calc(var(--cell) * 0.33);
}

.hero__title { display: flex; flex-direction: column; gap: 0.3em; }

.hero__body {
  display: flex;
  flex-direction: column;
  gap: 1.2em;                            
  max-width: calc(var(--cell) * 4.8);    
  margin-top: calc(var(--cell) * 0.26);
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: calc(var(--cell) * 0.14);
  margin-top: calc(var(--cell) * 0.30);
}

.hero__by {
  font-weight: 700;
  color: var(--ink-head);
  margin-top: calc(var(--cell) * 0.20);
}

.mint {
  background: var(--bg-panel);
  display: flex;
  justify-content: center;
  padding: calc(var(--cell) * 0.70) 0 calc(var(--cell) * 0.44);
  transition: background-color var(--dur) var(--ease);
}
.mint__inner {
  width: min(calc(var(--cell) * 2.98), calc(100% - var(--cell) * 0.5));
  display: flex;
  flex-direction: column;
  align-items: center;
}

.mint__notice { margin-top: calc(var(--cell) * 0.41); }
.mint__price  { margin-top: calc(var(--cell) * 0.22); width: 100%; }
.mint__qty    { margin-top: calc(var(--cell) * 0.25); }
.mint__action { margin-top: calc(var(--cell) * 0.20); }

.mint--after .mint__inner {
  justify-content: center;
  height: 100%;
}
.mint--after .mint__after { margin-top: calc(var(--cell) * 0.44); }
.mint--after .mint__links { margin-top: calc(var(--cell) * 0.52); }
.mint__links  { margin-top: calc(var(--cell) * 0.66); }

@media (max-width: 1200px) {
  .hero {
    grid-template-columns: 1fr;
    
    grid-template-rows: auto 1fr;
  }
  .hero__copy {
    padding: calc(var(--cell) * 0.42) calc(var(--cell) * 0.4) calc(var(--cell) * 0.46);
  }
  .hero__body { max-width: 44em; margin-top: calc(var(--cell) * 0.28); }
  .hero__actions { margin-top: calc(var(--cell) * 0.34); }
  
  .mint { padding: calc(var(--cell) * 0.52) calc(var(--cell) * 0.4); align-items: center; }
  .mint__inner { width: min(340px, 100%); }
}

@media (max-width: 860px) {
  .masthead {
    height: calc(var(--cell) * 2);
    align-items: flex-end;
  }
  
  .masthead__block { width: calc(var(--cell) * 3); }
}

@media (max-width: 767px) {
  .masthead__block { width: 100%; }
}

@media (max-width: 620px) {
  
  .masthead { height: var(--cell); align-items: center; }
  .masthead__block { width: 100%; height: 100%; justify-content: center; padding: 0 24px; }
  .logo { width: min(330px, 100%); margin-right: 0; }
  .hero__copy { padding: 26px 24px 30px; }
  .hero__body { margin-top: 22px; max-width: none; }
  .hero__actions { flex-direction: column; gap: 10px; margin-top: 28px; }
  .hero__actions .btn { width: 100%; }
  .hero__by { margin-top: 22px; }
  .mint { padding: 30px 24px 34px; }
  .mint__notice { margin-top: 22px; }
  .mint__price  { margin-top: 16px; }
  .mint__qty    { margin-top: 18px; }
  .mint--after .mint__after { margin-top: 26px; }
  .mint--after .mint__links { margin-top: 30px; }
  .mint__action { margin-top: 16px; }
  .mint__links  { margin-top: 30px; }
}

@media (max-width: 420px) {
  .masthead__block { padding: 0 18px; }
  .hero__copy { padding: 22px 18px 26px; }
  .mint { padding: 26px 18px 30px; }
}

@media (max-width: 1200px) {
  .hero  .mint { grid-row: 1; }
  .hero__copy  { grid-row: 2; }

  
  .hero .mint {
    height: calc(var(--cell) * var(--mint-rows, 0));
    align-items: center;
  }

  
  .hero__title   { order: 1; }
  .hero__actions { order: 2; }
  .hero__body    { order: 3; }
  .hero__by      { order: 4; }
  .hero__actions { margin-top: calc(var(--cell) * 0.30); }
  .hero__body    { margin-top: calc(var(--cell) * 0.34); }
}
